Вопрос задан 13.07.2023 в 08:52. Предмет Информатика. Спрашивает Ирсарин Ермек.

Написать программу на языке Pascal По каналу связи передается последовательность положительных

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Комышев Артём.

var

 n, max, count, contrl, max2: integer;

begin

 contrl := 0;

 max := 0;

 Writeln('Введите числа: ');

 Readln(n);

 while n <> 0 do

 begin

   Inc(count);

   if n>max then begin max2:=max; max:=n end

   else if n > max2 then max2 := n;

   Read(n);

 end;

 max2*=max;

 Writeln('Введите контрольное значение: ');

 Read(contrl);

 Writeln('Получено: ', count, ' чисел');

 Writeln('Получено контрольное значение: ', contrl);

 Writeln('Вычисленное контрольное значение:: ', max2);

 if contrl = max then Writeln('Контроль пройден')

 else Writeln('Контроль не пройден');

end.

0 0
Отвечает Морская Полина.

===== PascalABC.NET =====

begin

 var (n1, n2) := ReadInteger2;

 if n2 > n1 then

   Swap(n1, n2);

 var k := 2;

 foreach var n in ReadSeqIntegerWhile(p -> p <> 0) do

 begin

   if n > n2 then

     n2 := n;

   if n2 > n1 then

     Swap(n1, n2);

   Inc(k)

 end;

 var ks := ReadInteger;

 Println('Получено', k, 'чисел');

 Println('Полученное контрольное значение:', ks);

 n1 *= n2;

 Println('Вычисленное контрольное значение:', n1);

 Print('Контроль', ks = n1 ? 'пройден' : 'не пройден')

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для написания программы на языке Pascal, выполним следующие шаги:

  1. Создадим переменные для хранения чисел и контрольного значения.
  2. Создадим цикл для ввода чисел с клавиатуры, пока не будет введено значение 0. В ходе ввода, найдем максимальные два числа для вычисления контрольного значения.
  3. После ввода чисел, вычислим контрольное значение, умножив максимальные два числа.
  4. Сравним полученное контрольное значение с введенным контрольным значением и выведем соответствующий отчет.

Вот программа на языке Pascal, реализующая описанный алгоритм:

pascal
program CheckControlValue; var num, controlValue, max1, max2, temp: integer; count: integer; begin count := 0; max1 := 0; max2 := 0; // Ввод чисел и поиск максимальных двух чисел repeat readln(num); if num <> 0 then begin count := count + 1; if num > max1 then begin temp := max1; max1 := num; max2 := temp; end else if num > max2 then max2 := num; end; until num = 0; // Ввод контрольного значения readln(controlValue); // Вычисление контрольного значения temp := max1 * max2; // Вывод отчета writeln('Получено ', count, ' чисел'); writeln('Полученное контрольное значение: ', controlValue); writeln('Вычисленное контрольное значение: ', temp); if controlValue = temp then writeln('Контроль пройден') else writeln('Контроль не пройден'); end.

Программа будет последовательно запрашивать ввод чисел до тех пор, пока не будет введено значение 0. После этого, программа запросит ввод контрольного значения и вычислит контрольное значение на основе максимальных двух чисел из введенной последовательности. Затем программа сравнит полученное контрольное значение с введенным и выведет соответствующий отчет.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос