Требовалось написать программу, при выполнении которой с клавиатуры считываются два натуральных числа N и M одинаковой размерности, не превосходящие $10^9$. Программа должна вычислять поразрядные суммы цифр этих чисел и вывести на экран наибольшую из полученных сумм. Например, для чисел N = 5296, M = 5471 поразрядные суммы равны 7, 16, 6 и 10. Программа должна вывести 16. Программист написал программу неправильно.
Последовательно выполните следующее:
1. Напишите, что выведет программа при вводе чисел 1456 и 2564.
2.Приведите пример двух таких чисел, для которых, несмотря на ошибки, программа напечатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько).
Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку,— приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
1. При вводе чисел 1456 и 2564 программа выведет число 10.
2. Пример входных чисел, для которых программа работает правильно: 1234 и 1111.
3. Программа содержит две строки с ошибками (Паскаль):
1) Строку
while (N > 10) do begin
следует заменить на
while (N > 0) do begin
2) Строку
if MaxS < M % 10 + N % 10
следует заменить на
if MaxS < S