Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Разработка программ на языке ABC Pascal с использованием скалярных типов данных, операторов ветвления и варианта.

Ирина Омелюх Знаток (274), закрыт 7 лет назад
Даны действительные x, y и z. Вычислить значение функции

x+z, если x,z>0 и y<0;
f(x,y,z)={ x+y, если x,y>0 и z<0;
y+z, если y,z>0 и x<0;
0, в любом другом случае.
Лучший ответ
дунай Мыслитель (5193) 7 лет назад
if (x>0) and (z>0) and (y<0) then f:=x+z;остальное по аналогии
Ирина ОмелюхЗнаток (274) 7 лет назад
А как написать "0, в любом другом случае."?
Александр Устименко Просветленный (24312) можно упростить мой код еще вот так var x,y,z: integer; begin write ('x,y,z ='); readln (x,y,z); if x*y*z <> 0 then writeln ('0':5) else if (x+y+z - max (x,max(y,z))>0) then writeln (x+y+z) else writeln ('0':5); end.
Остальные ответы
Александр Устименко Просветленный (24312) 7 лет назад
Решение на Pascal ABC (решение оригинальное)

var x,y,z: integer;
begin
write ('x,y,z =');
readln (x,y,z);
if x*y*z <> 0 then writeln ('0':5)
else if (min (x, min(y,z))=0) and (x+y+z - max (x,max(y,z))>0) then writeln (x+y+z)
else writeln ('0':5);
end.
Александр УстименкоПросветленный (24312) 7 лет назад
можно упростить еще вот так

var x,y,z: integer;
begin
write ('x,y,z =');
readln (x,y,z);
if x*y*z <> 0 then writeln ('0':5)
else if (x+y+z - max (x,max(y,z))>0) then writeln (x+y+z)
else writeln ('0':5);
end.
Похожие вопросы