Вопрос по информатике:
Помогите пожалуйста!
На вход программы поступает натуральное число, не превышающее 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 Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки
выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
- 26.04.2018 14:42
- Информатика
- remove_red_eye 11428
- thumb_up 23
Ответы и объяснения 1
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.
- 27.04.2018 12:58
- thumb_up 31
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.