// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(20,2,5);Write('Оценки за диктант: ');a.Println; Writeln('Двоек: ', a.Where(t-> t = 2).Count); Writeln('Троек: ', a.Where(t-> t = 3).Count); Writeln('Четверок: ', a.Where(t-> t = 4).Count); Writeln('Пятерок: ', a.Where(t-> t = 5).Count); Writeln('Средний за диктант: ', a.Average:0:2); end.
Пример: Оценки за диктант: 4 3 2 3 5 3 3 2 5 2 3 5 4 3 3 4 2 2 3 2 Двоек: 6 Троек: 8 Четверок: 3 Пятерок: 3 Средний за диктант: 3.15
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.
И блок-схема тут вообще не нужна: она ничего не даст.
Сравнение явно не в пользу школьного "образования" - учить, как выполнять работу двадцать минут вместо двух.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(20,2,5);Write('Оценки за диктант: ');a.Println;
Writeln('Двоек: ', a.Where(t-> t = 2).Count);
Writeln('Троек: ', a.Where(t-> t = 3).Count);
Writeln('Четверок: ', a.Where(t-> t = 4).Count);
Writeln('Пятерок: ', a.Where(t-> t = 5).Count);
Writeln('Средний за диктант: ', a.Average:0:2);
end.
Пример:
Оценки за диктант: 4 3 2 3 5 3 3 2 5 2 3 5 4 3 3 4 2 2 3 2
Двоек: 6
Троек: 8
Четверок: 3
Пятерок: 3
Средний за диктант: 3.15