Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Вопрос ПРОГРАММИСТАМ? Проверьте, пожалуйста, правильно ли я написал программу

"напишите программу. Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны, и в четвертую степень - отрицательные."

Program _629;
Var a, b, c: real;
Begin
WriteLn ('Введите 3 действительных числа a, b, c' ) ;
Readln (a, b, c) ;
If a>0 then a:=a*a;
If b>0 then b:=b*b;
If c>0 then c:=c*c;
If a<0 then a:=a*a*a*a;
If b<0 then b:=b*b*b*b;
If c<0 them c:=c*c*c*c;
WriteLn (a, b, c) ;
End.

ПрограммированиеПрограммистыНаписание программ
Анонимный вопрос
  · 174
Лучший
Программист, преподаватель программирования, интересуюсь формальными и естественными...  · 31 янв 2021

Да, программа написана верно. Однако, первые три строки с if нельзя менять местами с последними тремя — программа тогда станет работать неправильно.

Вообще, лучше было бы написать так:

if a > 0 then a := a*a else a := a*a*a*a;

и аналогично для двух других переменных

2 эксперта согласны