Дам 45 баллов!!!! Написать программу, которая из последовательности целых чисел находит...

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

Дам 45 баллов!!!!
Написать программу, которая из последовательности целых чисел находит сумму всех нечётных чисел кратных 7, кол-во чисел не превышает 500, а по модулю не превыш. 255
0-признак окончания ввода


Информатика (533 баллов) | 27 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Сначала код без комментариев:

Var
S:longint;
i:integer;
A:byte;

Begin
S:=0;
Repeat
   Read(A);
   if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A;
Until A = 0;
WriteLn('S = ',S);
End.


Теперь объяснение каждой строки:


Var
S:longint;
i:integer;
A:byte; // В эту переменную будет вводится число с клавиатуры. Тип Byte может принимать значения от 0 до 255. Поэтому его как раз хватит.

Begin
S:=0; // Тут будет храниться сумма, поэтому переменную следует сперва обнулить.

Repeat // далее начинается цикл
   Read(A); // эта команда каждый раз считывает с клавы число, и записывает его в переменную A.

   if (A mod 2 <> 0)and(A mod 7 = 0) then S:=S+A; //тут проверяется 2 условия, и если они выполняются - к переменной S прибавляется значение переменной А
   1 условие: число нечётно, то есть остаток от деления его на 2 не равен нулю (A mod 2 <>0)
   2 условие: Число кратно 7, то есть делится без остатка на 7, то есть остаток от деления равен нулю (A mod 7 = 0)

Until A = 0; // Цикл повторяется до тех пор, пока введённое с клавы число не будет равно нулю (A = 0)

WriteLn('S = ',S); // Тут выводится искомая сумма
End.

(34.0k баллов)
0 голосов

// PascalABC.NET 3.2, сборка 1389 от 01.03.2017
// Внимание! Если программа не работает, обновите версию!
begin
Writeln(ReadSeqIntegerWhile(g->g<>0).Where(x->(x mod 2<>0) and (x mod 7=0)).Sum());
end.

(149k баллов)