Вопрос задан 11.02.2021 в 04:00. Предмет Информатика. Спрашивает Бахышова Амина.

По каналу связи передается последовательность положительных чисел ,все числа не превышают 1000,их

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кузнецов Серёжа.
// 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
Контроль пройден
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример эффективной программы на языке Python, которая решает задачу:

python
def 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, из последовательности).

В конце программа печатает отчет, который содержит количество полученных чисел, полученное контрольное значение, вычисленное контрольное значение, а также информацию о том, прошел ли контроль или нет.

0 0

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

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

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