что не так в моей программе? - вопрос №1331976

Program A;
Var z,b,i:integer;
begin randomize;
z:=randon(16);
b:=randon(16);
i:=randon(16);
writeln('z=',z,'b=',b,'i=',i);
if (z>b) and (b>i) then writeln('z=',z,'b=',b,'i=',i);
if (z>i) and (i>b) then writeln('z=',z,'i=',i,'b=',b);
if (z<b) and (b<i) then writeln('i=',i,'b=',b,'z=',z);
if (i>z) and (b<z) then writeln('i=',i,z=',z,',b=',b);
if (b>i) and (i>z) then writeln('b=',b,'i=',i,'z=',z);
if (b<i) and (z>i) then writeln('z=',z,'i=',i,'b=',b);
readln(z,b,i);
end.
Вопрос задан анонимно
13.01.15
1 ответ

Лучший ответ по мнению автора

Что должна делать ваша программа? Ну, если смотреть по ошибкам, то:
не randon, а random;
пропущен апостроф в этой строчке if (i>z) and (b<z) then writeln('i=',i,'z=',z,',b=',b);
если условие выполнилось, то не нужно проверять все остальные, а иначе нужно проверить каждое следующее.

Исправленная программа:

program A;
var z, b, i:integer;
begin
 randomize;
 z:=random(16);
 b:=random(16);
 i:=random(16);
 writeln('z=',z,' b=',b,' i=',i);
 if (z>b) and (b>i) then writeln('z=',z,' b=',b,' i=',i)
 else if (z>i) and (i>b) then writeln('z=',z,' i=',i,' b=',b)
  else if (z<b) and (b<i) then writeln('i=',i,' b=',b,' z=',z)
   else if (i>z) and (b<z) then writeln('i=',i,' z=',z,' b=',b)
    else if (b>i) and (i>z) then writeln('b=',b,' i=',i,' z=',z)
     else if (b<i) and (z>i) then writeln('z=',z,' i=',i,' b=',b);
 readln(z,b,i);
end.
15.01.15
Лучший ответ по мнению автора

Еva

от 100 p.
Читать ответы
Посмотреть всех экспертов из раздела Учеба и наука > Информатика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store