Вопрос по информатике:
Требовалось написать программу при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 10^9 и выводится максимальная цифра этого числа.
Последовательно выполните следующее.
1. Напишите что выведет это программа при вводе числа 321.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, - приведите правильный вариант строки.
var N: longint;
digit, maxdigit: integer;
begin
readln(N);
maxdigit := 10;
while N > 10 do
begin
digit := N mod 10;
if digit > maxdigit then
maxdigit := digit;
N := N div 10;
end;
writeln(digit);
end.
- 16.04.2017 08:52
- Информатика
- remove_red_eye 12811
- thumb_up 30
Ответы и объяснения 1
2)
maxdigit:=10 должен быть заменен на maxdigit:=0, так как программа считает с самого начала, что максимальной цифрой будет 10.
while N > 10 do должен быть заменен на while N > 0 do, так как мы не учитываем последнюю цифру.
writeln(digit); должен быть заменен на writeln(maxdigit);, так как мы выводим не результат, а последнюю рассматриваемую цифру
- 17.04.2017 00:01
- thumb_up 8
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.