В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Alihan1600
Alihan1600
02.03.2020 22:49 •  Информатика

Пояснить код C++ Калькулятор Описать код, закомментировать, что где происходит, нужно для курсовой работы.

#include
#include

double number();
double factor();
double expr();
double brackets();

int main()
{
double n;

setlocale(LC_ALL, "Rus");

std::cout = '0' && c = '0' && c <= '9')
{
result += (c - '0') / k;
k *= 10.0;
}
else
{
std::cin.putback(c);
break;
}
}
}
else
std::cin.putback(c);

return sign * result;
}

double factor()
{
double result = brackets();
double temp;
char c;

while (true)
{
c = std::cin.get();

while (c == ' ')
c = std::cin.get();

switch (c)
{
case '*':
result *= brackets();
break;
case '/':
temp = brackets();

if (temp == 0.0)
{
std::cout << "Деление на нуль!" << std::endl;
exit(-1);
}

result /= temp;
break;
default:
std::cin.putback(c);
return result;
}
}
}

double expr()
{
double result = factor();
char c;

while (true)
{
c = std::cin.get();

while (c == ' ')
c = std::cin.get();

switch (c)
{
case '+':
result += factor();
break;
case '-':
result -= factor();
break;
default:
std::cin.putback(c);
return result;
}
}
}

double brackets()
{
double result;
int sign = 1;
char c;

c = std::cin.get();

while (c == ' ')
c = std::cin.get();

if (c == '-')
{
sign = -1;
c = std::cin.get();
}

while (c == ' ')
c = std::cin.get();

if (c == '(')
{
result = sign * expr();

c = std::cin.get();

if (c != ')')
{
std::cout << "Неверная расстановка скобок!" << std::endl;
exit(-1);
}

return result;
}
else
{
std::cin.putback(c);

return sign * number();
}
}

Показать ответ
Ответ:
Vera20000
Vera20000
27.04.2022 23:53

const Radian = 57.295779513;  //Сколько градусов в одном радиане

var 

  a, b, c: real;  //Стороны, лежащие против углов A, B и C соответственно

 

begin

  writeln('Введите 3 стороны треугольника в следующем порядке: a, b, c');

  readln(a, b, c);

  if (sqr(a) = sqr(b) + sqr(c)) or (sqr(b) = sqr(a) + sqr(c)) or (sqr(c) = sqr(a) + sqr(b)) then writeln('Треугольник ABC - прямоугольный')  {Если хотя бы для одной из сторон выполняется теорема Пифагора, то данный треугольник прямоугольный}

  else writeln('Угол C равен: ', arccos((sqr(a) + sqr(b) - sqr(c)) / (2 * a * b)) * Radian, ' градусов');  {Выражаем из теоремы косинусов косинус угла C, берем arccos от него и умножаем получившееся значение на количество градусов в радиане, чтобы получить ответ в градусах}

end.

Пользоваться компилятором Pascal ABC.Net, потому что это единственный компилятор из всех известных мне, который поддерживает функцию arccos.

Если будут вопросы, спрашивай.

 

 

 

0,0(0 оценок)
Ответ:
Artemis45677654
Artemis45677654
26.04.2021 19:23

var 

  a, b, c: real;

 

begin

  writeln('Введите 3 любых числа');

  readln(a, b, c);

  if (a < b) and (a < c) then writeln(a, ' - наименьшее число');

  if (b < a) and (b < c) then writeln(b, ' - наименьшее число');

  if (c < a) and (c < b) then writeln(c, ' - наименьшее число');

  if (a > b) and (a > c) then writeln(a, ' - наибольшее число');

  if (b > a) and (b > c) then writeln(b, ' - наибольшее число');

  if (c > a) and (c > b) then writeln(c, ' - наибольшее число');

  readln; //Убрать если среда разработки не Turbo Pascal

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота