var i,j,s:integer; begin // задание 1 s:=0; for i:=1 to 10 do s:=s+i*i; Writeln(s); // задание 2 j:=0; for i:=1 to 50 do if i mod 2=0 then j:=j+1; Writeln(j) end.
Результат 385 25
А вот так можно это решить по-нормальному за минуту.
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016 // Внимание! Если программа не работает, обновите версию! begin Writeln(1.To(10).Select(i->i*i).Sum); // задание 1 Writeln(Range(2,50,2).Count) // задание 2 end.
// PascalABC.NET 3.0, сборка 1128 procedure Convert(V:array of integer); begin for var i:=0 to V.Length-1 do if V[i]>9 then V[i]:=9 else if V[i]<5 then V[i]:=5 end;
procedure Develop(c:char; k:integer); begin WritelnFormat('*** Массив {0} ***',c); var a:=ArrRandom(k,-5,15); Write('исходный : '); a.PrintLn(','); Convert(a); Write('результат: '); a.PrintLn(','); end;
begin var m:=ReadInteger('Количество элементов в массиве A:'); var n:=ReadInteger('Количество элементов в массиве B:'); Develop('A',m); Develop('B',n) end.
Тестовое решение: Количество элементов в массиве A: 15 Количество элементов в массиве B: 10 *** Массив A *** исходный : 6,5,-5,9,1,0,-3,9,13,12,-4,8,11,14,-5 результат: 6,5,5,9,5,5,5,9,9,9,5,8,9,9,5 *** Массив B *** исходный : 5,12,12,4,7,9,7,-3,-1,-2 результат: 5,9,9,5,7,9,7,5,5,5
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
var
i,j,s:integer;
begin
// задание 1
s:=0;
for i:=1 to 10 do s:=s+i*i;
Writeln(s);
// задание 2
j:=0;
for i:=1 to 50 do
if i mod 2=0 then j:=j+1;
Writeln(j)
end.
Результат
385
25
А вот так можно это решить по-нормальному за минуту.
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
Writeln(1.To(10).Select(i->i*i).Sum); // задание 1
Writeln(Range(2,50,2).Count) // задание 2
end.
Результат
385
25