Написать программу на языке Pascal По каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0. После числа 0 передается контрольное значение – наибольшее число, которое можно получить умножением двух различных элементов последовательности. Напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. Программа должна напечатать отчет следующего вида: Получено .. чисел Полученное контрольное значение: …. Вычисленное контрольное значение:… Контроль пройден (или – контроль не пройден)
program CheckControlValue va num, controlValue, maxProduct, count, i, j, num1, num2: integer begi count := 0 maxProduct := 0 repea read(num) count := count + 1 if num > maxProduct the maxProduct := num until num = 0 read(controlValue) writeln('Получено ', count - 1, ' чисел') writeln('Полученное контрольное значение: ', controlValue) writeln('Вычисленное контрольное значение: ', maxProduct) for i := 1 to count - 2 d begi for j := i + 1 to count - 1 d begi num1 := i num2 := j if num1 * num2 = controlValue the begi writeln('Контроль пройден') halt end end end writeln('Контроль не пройден') end.
Программа считывает последовательность чисел, находит наибольшее произведение двух различных чисел и затем проверяет, можно ли получить это произведение из пар чисел в последовательности. Если такая пара чисел существует, то программа выводит "Контроль пройден", иначе выводит "Контроль не пройден".
va
num, controlValue, maxProduct, count, i, j, num1, num2: integer
begi
count := 0
maxProduct := 0
repea
read(num)
count := count + 1
if num > maxProduct the
maxProduct := num
until num = 0
read(controlValue)
writeln('Получено ', count - 1, ' чисел')
writeln('Полученное контрольное значение: ', controlValue)
writeln('Вычисленное контрольное значение: ', maxProduct)
for i := 1 to count - 2 d
begi
for j := i + 1 to count - 1 d
begi
num1 := i
num2 := j
if num1 * num2 = controlValue the
begi
writeln('Контроль пройден')
halt
end
end
end
writeln('Контроль не пройден')
end.
Программа считывает последовательность чисел, находит наибольшее произведение двух различных чисел и затем проверяет, можно ли получить это произведение из пар чисел в последовательности. Если такая пара чисел существует, то программа выводит "Контроль пройден", иначе выводит "Контроль не пройден".