Принять последовательность чисел и проверить контрольное значение - Pascal
Формулировка задачи:
По каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0. После числа 0 передается контрольное значение – наибольшее число, которое можно получить умножением двух различных элементов последовательности.
Напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. Программа должна напечатать отчет следующего вида:
Получено .. чисел
Полученное контрольное значение: ….
Вычисленное контрольное значение:…
Контроль пройден (или – контроль не пройден)
Решение задачи: «Принять последовательность чисел и проверить контрольное значение»
textual
Листинг программы
var n, k, cr, cc, m1, m2: integer; begin n := 0; m1 := 0; read(k); while k > 0 do begin inc(n); if k >= m1 then begin m2 := m1; m1 := k end else if k > m2 then m2 := k; read(k) end; readln(cr); cc := m1 * m2; writeln('Получено ', n, ' чисел'); writeln('Полученное контрольное значение: ', cr); writeln('Вычисленное контрольное значение: ', cc); if cr = cc then writeln('Контроль пройден') else writeln('Контроль не пройден'); readln end.
Объяснение кода листинга программы
- Объявлены переменные: n, k, cr, cc, m1, m2 (тип данных - integer).
- Инициализированы переменные: n = 0, m1 = 0.
- Вводится первое число k.
- Запускается цикл while, который выполняется до тех пор, пока k > 0.
- Увеличивается значение переменной n.
- Если k >= m1, то выполняется внутренний цикл while, который расчитывает новое значение m2, иначе если k > m2, то обновляется значение m2.
- Внутренний цикл while выполняется до тех пор, пока k > 0.
- Вводится следующее число k.
- Цикл while выполняется до тех пор, пока k > 0.
- Вычисляется значение переменной cc как произведение m1 и m2.
- Выводится сообщение о количестве введенных чисел (n), контрольном числе (cr) и вычисленном контрольном числе (cc).
- Сравниваются значения cr и cc.
- Если значения равны, выводится сообщение
Контроль пройден
. - Если значения не равны, выводится сообщение
Контроль не пройден
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д