begin randomize; S := 0; for i := 1 to N do begin m[i] := random(201) - 100; writeln(m[i]); end; for i := 1 to N do if m[i] mod 2 = 0 then S := S + m[i]; writeln('Summa = ', S); readln; end.
Стало: цел i, S, N N := 10 цел таб m[1:N]
алг нач S := 0 нц для i от 1 до N m[i] := irand(-100, 100) вывод m[i], нс кц нц для i от 1 до N если mod(m[i], 2) = 0 то S := S + m[i] все кц вывод "Summa = ", S кон
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
SeqRandom(10,-10,20).Select(x->(x,1/x)).Println(NewLine)
end.
Пример
(13,0.0769230769230769)
(-10,-0.1)
(9,0.111111111111111)
(-5,-0.2)
(14,0.0714285714285714)
(18,0.0555555555555556)
(15,0.0666666666666667)
(3,0.333333333333333)
(-5,-0.2)
(-9,-0.111111111111111)
2. "Красивый" вариант
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
begin
SeqRandom(10,-10,20).Select(x->(x,1/x))
.Foreach(x->Writeln(x[0]:3,x[1]:15:8))
end.
Пример
18 0.05555556
-10 -0.10000000
16 0.06250000
6 0.16666667
15 0.06666667
13 0.07692308
5 0.20000000
18 0.05555556
-1 -1.00000000
13 0.07692308
3. А так писали наши деды четверть века назад...
var
i,x:integer;
begin
Randomize;
for i:=1 to 10 do begin
x:=Random(31)-10;
Writeln(x:3,1/x:15:8)
end
end.
Пример
-7 -0.14285714
11 0.09090909
-2 -0.50000000
-10 -0.10000000
14 0.07142857
-7 -0.14285714
-5 -0.20000000
5 0.20000000
13 0.07692308
10 0.10000000
const
N = 10;
var
i, S: integer;
m: array [1..N] of integer;
begin
randomize;
S := 0;
for i := 1 to N do
begin
m[i] := random(201) - 100;
writeln(m[i]);
end;
for i := 1 to N do
if m[i] mod 2 = 0 then
S := S + m[i];
writeln('Summa = ', S);
readln;
end.
Стало:
цел i, S, N
N := 10
цел таб m[1:N]
алг
нач
S := 0
нц для i от 1 до N
m[i] := irand(-100, 100)
вывод m[i], нс
кц
нц для i от 1 до N
если mod(m[i], 2) = 0 то
S := S + m[i]
все
кц
вывод "Summa = ", S
кон