Есть ответ 👍

На вход программы поступает натуральное число, не превышающее 10^9 нужно написать программу, которая выводит на экран максимальную цифру числа, меньшую 5 если в числе нет цифр, меньших 5, требуется на экран вывести «no». в программе есть ошибки. var n, d, m: longint; begin readln(n); m : = n mod 10; while n > 0 do begin d : = n mod 10; if d < 5 then if d > m then m : = d; n : = n div 10; end; if m = 0 then writeln('no') else writeln( m ) end. последовательно выполните следующее. 1 напишите, что выведет эта программа при вводе числа 157 2 укажите наибольшее трёхзначное значение входной переменной n, при вводе которого программа выведет правильный ответ. укажите это ответ. 3 найдите в программе все ошибки (их может быть одна или несколько). для каждой ошибки выпишите строку, в которой она допущена, и эту же строку в исправленном виде.

142
335
Посмотреть ответы 2

Ответы на вопрос:

dv1ne
4,4(69 оценок)

1) 7  - изза начального присвоение m 2) 994. 4 соответствует условию, остальные числа лишь максимизируют число 3) var       n, d, m: longint; begin       readln(n);       {m : = n mod 10; ошибочная строка}       m: =-1; {n mod 10 - может не удовлетворять условию, 0 - может и удовлетворять условию }       while n > 0 do       begin               d : = n mod 10;               if d < 5 then                       if d > m then m : = d;               n : = n div 10;       end;       {if m = 0 then ошибочная строка}       if m = -1 then {если в цикле m так не разу и не поменялась}               writeln('no')       else writeln(m); end.
Johngear
4,4(7 оценок)

300*60*700=12600000 байт 12600000  байт=12304,7 килобайт 12304,7 килобайт=12,01 мегабайт

Популярно: Информатика