// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 begin var n:=ReadInteger('n='); var a:=MatrixRandom(n,n,10,99); var s:=0; var k:=0; for var i:=0 to n-1 do begin for var j:=0 to n-1 do Print(a[i,j]); Writeln; if a[i,i].IsEven then begin s+=a[i,i]; Inc(k) end; end; if k>0 then Writeln('S=',s/k:0:2) else Writeln('На главной диагонали нет четных элементов') end.
PascalABC.NET
#1
function Y(x:integer) := 2*((x+2)**2)+5.5*(x+2) - 3;
begin
var Xes := Range(3, 25);
Xes.Tabulate(p -> Y(p)).Println;
end.
#2
const PASS = '123ab';
begin
var rpass := Readstring('Pass: ');
while rpass <> PASS do begin
rpass := Readstring('Wrong pass. Try again: ');
end;
print('Correct password. Welcome');
end.
#3
begin
//Сначала читаем цифру, которую надо удалить, а уже потом число.
var X := ReadChar();
var number := ReadInteger().ToString.ToCharArray.ToList;
while number.Contains(X) do number.Remove(X);
number.JoinIntoString.Println;
end.
#4
begin
var X := ReadInteger();
Print((x div 100)+(x mod 100));
end.
Объяснение:
begin
var n:=ReadInteger('n=');
var a:=MatrixRandom(n,n,10,99);
var s:=0;
var k:=0;
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do Print(a[i,j]);
Writeln;
if a[i,i].IsEven then begin s+=a[i,i]; Inc(k) end;
end;
if k>0 then Writeln('S=',s/k:0:2)
else Writeln('На главной диагонали нет четных элементов')
end.
Тестовое решение
n= 8
63 13 33 90 25 21 87 91
88 88 48 13 30 59 81 27
73 23 76 77 52 19 33 97
53 87 13 74 17 35 61 70
77 96 51 61 82 33 63 22
39 88 84 54 88 73 74 69
76 26 69 14 45 80 70 54
80 36 47 38 18 22 84 62
S=75.33