
Вопрос задан 11.02.2021 в 04:00.
Предмет Информатика.
Спрашивает Бахышова Амина.
По каналу связи передается последовательность положительных чисел ,все числа не превышают 1000,их
количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0. После числа 0 передается контрольное значение- наибольшее число из последовательности,которое делится на 10. Напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. Программа должна напечатать отчет следующего вида: Получено ...чисел Полученное контрольное значение:... Вычесленное контрольное значение:... Контроль пройден (или- контроль не пройден)

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

Отвечает Кузнецов Серёжа.
// PascalABC.NET 3.1, сборка 1201 от 18.03.2016
begin
var k:=0;
var n:=ReadInteger();
var nmax:=0;
while n<>0 do begin
Inc(k);
if n mod 10 = 0 then
if n>nmax then nmax:=n;
n:=ReadInteger()
end;
var cntrl:=ReadInteger();
Writeln('Получено ',k,' чисел');
Writeln('Полученное контрольное значение: ',cntrl);
Writeln('Вычисленное контрольное значение: ',nmax);
if cntrl=nmax then Writeln('Контроль пройден')
else Writeln('Контроль не пройден')
end.
Тестовое решение:
53
16
40
9
10
32
74
0
40
Получено 7 чисел
Полученное контрольное значение: 40
Вычисленное контрольное значение: 40
Контроль пройден
begin
var k:=0;
var n:=ReadInteger();
var nmax:=0;
while n<>0 do begin
Inc(k);
if n mod 10 = 0 then
if n>nmax then nmax:=n;
n:=ReadInteger()
end;
var cntrl:=ReadInteger();
Writeln('Получено ',k,' чисел');
Writeln('Полученное контрольное значение: ',cntrl);
Writeln('Вычисленное контрольное значение: ',nmax);
if cntrl=nmax then Writeln('Контроль пройден')
else Writeln('Контроль не пройден')
end.
Тестовое решение:
53
16
40
9
10
32
74
0
40
Получено 7 чисел
Полученное контрольное значение: 40
Вычисленное контрольное значение: 40
Контроль пройден



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример эффективной программы на языке Python, которая решает задачу:
pythondef check_sequence():
numbers = []
while True:
num = int(input("Введите число: "))
if num == 0:
break
numbers.append(num)
end_signal = int(input("Введите признак конца: "))
control_value = int(input("Введите контрольное значение: "))
received_numbers = len(numbers)
received_control = end_signal
calculated_control = max(filter(lambda x: x % 10 == 0, numbers), default=0)
print("Получено {} чисел".format(received_numbers))
print("Полученное контрольное значение: {}".format(received_control))
print("Вычисленное контрольное значение: {}".format(calculated_control))
if received_control == calculated_control:
print("Контроль пройден")
else:
print("Контроль не пройден")
check_sequence()
Программа запрашивает числа от пользователя до тех пор, пока не будет введен 0 в качестве признака конца последовательности. Затем она запрашивает признак конца и контрольное значение. После этого программа вычисляет количество полученных чисел, полученное контрольное значение и вычисленное контрольное значение (наибольшее число, делящееся на 10, из последовательности).
В конце программа печатает отчет, который содержит количество полученных чисел, полученное контрольное значение, вычисленное контрольное значение, а также информацию о том, прошел ли контроль или нет.


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