Перевести код с Pascal - C (СИ) (73092)
Формулировка задачи:
Здравствуйте! Как написать такой код в си?
program 1;
var
y:real;
x:integer;
begin
read(x);
if -5<x<0 then
y:=sqrt(sqr(x)+abs(x))
else
if 0<=x<2 then
y:=5*sqr(x)+cos(x)
write(y);
end.Решение задачи: «Перевести код с Pascal»
textual
Листинг программы
program1()
{ double y; int x;
scanf("%d", &x);
if (x>-5 && x<0)
y = sqrt(x*x+ ((x>=0) ? x : -x)); // sqr - ? = x[SUP]2[/SUP] ?
else if (0<=x && x<2)
y=5*x*x + cos(x);
printf ("y=%lf\n", y);
}
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Объявляются две переменные: целочисленная x и вещественная y.
- Пользователю предлагается ввести значение переменной x.
- Выполняется проверка: если x больше -5 и меньше 0, то выполняется вычисление значения y по формуле: y = sqrt(x*x+ ((x>=0) ? x : -x)). Здесь используется функция sqrt для вычисления квадратного корня, операторы условия для определения знака числа x и функция cos для вычисления косинуса.
- Если 0 меньше или равно x и меньше 2, то выполняется вычисление значения y по формуле: y = 5xx + cos(x).
- Выводится значение переменной y.