** Паскале!!! Срочно!! Написать программу, которая в последовательности натуральных чисел...

0 голосов
23 просмотров

На Паскале!!! Срочно!! Написать программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно,последовательность чисел заканчивается числом(0-признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30000. Программа должна вывести одно число:сумму всех чисел кратных 6 и оканчивающихся на 2. Также надо составить блок-схему, привести контрольные примеры, написать порядок выполнения работы. Нужен точный ответ и правильный.


Информатика (93 баллов) | 23 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
1. Примерно так учат писать программы в большинстве школ

var
  n,s:integer;

begin
  s:=0;
  repeat
    Read(n);
    if n<>0 then
      if (n mod 6=0) and (n mod 10=2) then s:=s+n
  until n=0;
  Writeln(s)
end.

Пример
16
42
18
132
94
18
0
174

Кроме этого, зачем-то требуют блок-схему  - приведена во вложении, выполнена по ГОСТ 19.701-90 (ISO 5807-85).

2. А вот так эту задачу можно решить в современном Паскале

PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  ReadSeqIntegerWhile(t->t<>0)
      .Where(t->(t mod 6=0) and (t mod 10=2)).Sum.Println
end.

И блок-схема тут вообще не нужна: она ничего не даст.

Сравнение явно не в пользу школьного "образования" - учить, как выполнять работу двадцать минут вместо двух.

image
(150k баллов)