Требовалось написать программу, при выполнении которой с клавиатуры считываются два натуральных числа N и M одинаковой размерности, не превосходящие $10^9$.
Программа должна вычислить произведения первой и последней цифр в каждом из чисел и вывести наименьшее из найденных произведений. Если произведения одинаковы, то одно из них. (Например, для чисел N = 3125,M = 2416 программа должна вывести 12.)
Программист торопился и написал программу неправильно.
Последовательно выполните следующее.
1. Напишите, что выведет программа при вводе чисел 102 и 105.
2.Приведите пример двух таких чисел, для которых, несмотря на ошибки, программа напечатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько).Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку,— приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
1. При вводе чисел 102 и 105 программа выведет число 100.
2. Пример входных чисел, для которых программа работает правильно: 28 и 33.
3. Программа содержит две строки с ошибками (Паскаль):
1) Строку
S:= N div 10; T:= M div 10;
следует заменить на
S:= N mod 10; T:= M mod 10;
2) Строку
if S * N > T * M then
следует заменить на
if S * N < T * M then