
Написать программу на языке Pascal По каналу связи передается последовательность положительных
целых чисел, все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0. После числа 0 передается контрольное значение – наибольшее число из последовательности, которое делится на 10. Напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. Программа должна напечатать отчет следующего вида: Получено .. чисел Полученное контрольное значение: …. Вычисленное контрольное значение:… Контроль пройден (или – контроль не пройден)

Ответы на вопрос

var
n, max, count, contrl: integer;
begin
contrl := 0;
max := 0;
Writeln('Введите числа: ');
Readln(n);
while n <> 0 do
begin
Inc(count);
if (n mod 10 = 0) and (n > max) then max := n;
Read(n);
end;
Writeln('Введите контрольное значение: ');
Read(contrl);
Writeln('Получено: ', count, ' чисел');
Writeln('Получено контрольное значение: ', contrl);
Writeln('Вичисленное контрольное значение:: ', max);
if contrl = max then Writeln('Контроль пройден')
else Writeln('Контроль не пройден');
end.



Вот пример программы на языке Pascal, которая выполняет указанные вами задачи:
pascalprogram CheckControlValue; var num, maxNum, receivedControlValue, calculatedControlValue, count: integer; begin // Инициализация переменных receivedControlValue := -1; // Начальное значение для полученного контрольного значения maxNum := -1; // Начальное значение для максимального числа count := 0; // Начальное значение счетчика чисел writeln('Введите последовательность чисел:'); // Чтение чисел до ввода 0 repeat readln(num); if num = 0 then break; // Прерываем цикл, если введен 0 // Проверка на максимальное число, которое делится на 10 if (num > maxNum) and (num mod 10 = 0) then maxNum := num; count := count + 1; until false; // Бесконечный цикл, прерываемый вводом 0 // Чтение контрольного значения readln(receivedControlValue); // Вычисление контрольного значения if maxNum = -1 then calculatedControlValue := -1 // Если не было чисел, которые делятся на 10 else calculatedControlValue := maxNum; // Вывод результатов writeln('Получено ', count, ' чисел'); writeln('Полученное контрольное значение: ', receivedControlValue); writeln('Вычисленное контрольное значение: ', calculatedControlValue); // Проверка контрольного значения if receivedControlValue = calculatedControlValue then writeln('Контроль пройден') else writeln('Контроль не пройден'); end.
Эта программа сначала считывает последовательность чисел, сохраняя наибольшее число, которое делится на 10. Затем она считывает полученное контрольное значение и сравнивает его с вычисленным контрольным значением на основе максимального числа. Выводится отчет, как указано в задаче.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili