В таблице Ves хранятся данные о весе в килограммах по группе учащихся спортивной школы (Ves[1] — вес первого учащегося, Ves[2] — вес второго учащегося и т. д.). Определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на пяти алгоритмических языках:
// PascalABC.NET 3.3, сборка 1599 от 17.12.2017 // Внимание! Если программа не работает, обновите версию!
function sn(n:integer):integer; // сумма цифр числа begin n:=Abs(n); Result:=0; while n>0 do begin Result+=n mod 10; n:=n div 10 end end;
begin var (n,a,b):=ReadInteger3('Введите n,a,b через пробел:'); var m:=ArrRandom(n,a,b); m.Println; var k:=ReadInteger('k='); Writeln('Найдено чисел: ',m.Where(t->sn(t)=k).Count) end.
//Pascal //1) var A: array[1..5, 1..8] of integer; i, j: byte; sumR, sumC: integer; begin randomize; writeln('Исходный массив':28); for i := 1 to 5 do begin for j := 1 to 8 do begin A[i, j] := random(61)-30; write(A[i,j]:5); if i = 3 then sumR := sumR + A[i, j]; if j = 5 then sumC := sumC + A[i, j]; end; writeln; end; writeln('Сумма элементов 5 столбца = ', sumC); writeln('Сумма элементов 3 строки = ', sumR); end.
//2) var A: array[1..5, 1..8] of integer; i, j: byte; sumA, sumB, countV, countG: integer; begin randomize; writeln('Исходный массив':28); for i := 1 to 5 do begin for j := 1 to 8 do begin A[i, j] := random(300)-150; write(A[i,j]:5); if ((i = 5) and (A[i, j] < 0)) then sumA := sumA + A[i, j]; if ((j = 4) and (A[i, j] < 100)) then sumB := sumB + A[i, j]; if ((i = 4) and (A[i, j] < 5)) then countV := countV + 1; if ((j = 2) and (A[i, j] > 15)) then countG := countG + 1; end; writeln; end; writeln('Сумма отрицательных 5 строки = ', sumA); writeln('Сумма меньших 100 4-ого столбца = ', sumB); writeln('Количество меньших 5 4-ой строки = ', countV); writeln('Количество ненулевых, больших 15 2-ого столбца = ', countG); end.
// Внимание! Если программа не работает, обновите версию!
function sn(n:integer):integer; // сумма цифр числа
begin
n:=Abs(n);
Result:=0;
while n>0 do begin
Result+=n mod 10;
n:=n div 10
end
end;
begin
var (n,a,b):=ReadInteger3('Введите n,a,b через пробел:');
var m:=ArrRandom(n,a,b); m.Println;
var k:=ReadInteger('k=');
Writeln('Найдено чисел: ',m.Where(t->sn(t)=k).Count)
end.
Пример
Введите n,a,b через пробел: 15 -50 60
43 2 42 -26 -34 57 45 44 29 -41 -4 1 -17 38 -19
k= 7
Найдено чисел: 2
//1)
var
A: array[1..5, 1..8] of integer;
i, j: byte;
sumR, sumC: integer;
begin
randomize;
writeln('Исходный массив':28);
for i := 1 to 5 do
begin
for j := 1 to 8 do
begin
A[i, j] := random(61)-30;
write(A[i,j]:5);
if i = 3 then sumR := sumR + A[i, j];
if j = 5 then sumC := sumC + A[i, j];
end;
writeln;
end;
writeln('Сумма элементов 5 столбца = ', sumC);
writeln('Сумма элементов 3 строки = ', sumR);
end.
//2)
var
A: array[1..5, 1..8] of integer;
i, j: byte;
sumA, sumB, countV, countG: integer;
begin
randomize;
writeln('Исходный массив':28);
for i := 1 to 5 do
begin
for j := 1 to 8 do
begin
A[i, j] := random(300)-150;
write(A[i,j]:5);
if ((i = 5) and (A[i, j] < 0)) then sumA := sumA + A[i, j];
if ((j = 4) and (A[i, j] < 100)) then sumB := sumB + A[i, j];
if ((i = 4) and (A[i, j] < 5)) then countV := countV + 1;
if ((j = 2) and (A[i, j] > 15)) then countG := countG + 1;
end;
writeln;
end;
writeln('Сумма отрицательных 5 строки = ', sumA);
writeln('Сумма меньших 100 4-ого столбца = ', sumB);
writeln('Количество меньших 5 4-ой строки = ', countV);
writeln('Количество ненулевых, больших 15 2-ого столбца = ', countG);
end.