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

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

-----------------------------
var
a: array[1..10000] of integer;
kz,maxp,n,i,j: integer;
begin
i:=0;
maxp:=integer.MinValue;
writeln ('Готов к приему чисел');
repeat
i:=i+1;
readln (a[i]);
until a[i]=0;
n:=i-1;
readln (kz);
for i:=1 to n-1 do
for j:=2 to n do
if maxp<(a[i]*a[j]) then maxp:=(a[i]*a[j]);
writeln ('Получено ',n,' чисел');
writeln;
writeln ('Полученное контрольное значение: ',kz);
writeln;
writeln ('Вычисленное контрольное значение: ',maxp);
writeln;
if kz=maxp
then writeln ('Контроль пройден')
else writeln ('Контроль не пройден');
end.
--------------------------------------
Результаты:
1)
Готов к приему чисел
1 2 3 4 5 0 20
Получено 5 чисел
Полученное контрольное значение: 20
Вычисленное контрольное значение: 20
Контроль пройден
2)
Готов к приему чисел
1 2 3 4 5 6 0 20
Получено 6 чисел
Полученное контрольное значение: 20
Вычисленное контрольное значение: 30
Контроль не пройден



Для решения данной задачи можно написать программу на языке программирования, которая будет получать последовательность чисел и проверять правильность контрольного значения. Вот пример эффективной программы на языке C:
```c
#include
int main() { int number; int maxProduct = 0; int count = 0;
// Получаем последовательность чисел printf("Введите последовательность чисел (для завершения введите 0):\n"); scanf("%d", &number);
// Пока не введен признак конца последовательности (0) while (number != 0) { count++;
// Обновляем максимальное произведение if (number > maxProduct) { maxProduct = number; }
scanf("%d", &number); }
int controlValue; printf("Введите контрольное значение:\n"); scanf("%d", &controlValue);
// Проверяем правильность контрольного значения int computedValue = maxProduct * (maxProduct - 1); if (computedValue == controlValue) { printf("Получено %d чисел\n", count); printf("Полученное контрольное значение: %d\n", controlValue); printf("Вычисленное контрольное значение: %d\n", computedValue); printf("Контроль пройден\n"); } else { printf("Получено %d чисел\n", count); printf("Полученное контрольное значение: %d\n", controlValue); printf("Вычисленное контрольное значение: %d\n", computedValue); printf("Контроль не пройден\n"); }
return 0; } ```
Программа запрашивает у пользователя последовательность чисел, пока не будет введен признак конца последовательности (0). Затем программа запрашивает контрольное значение. После этого программа вычисляет максимальное произведение двух различных элементов последовательности и сравнивает его с контрольным значением. Если значения совпадают, программа выводит отчет о полученном и вычисленном контрольных значениях и сообщает, что контроль пройден. В противном случае программа выводит отчет и сообщает, что контроль не пройден.
Примечание: В данном примере предполагается, что пользователь будет вводить только положительные целые числа, не превышающие 1000. Если ввод могут быть отрицательные числа или числа, превышающие 1000, необходимо добавить соответствующую проверку и обработку в программу.
Надеюсь, это поможет! Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.


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