// PascalABC.NET 3.2, сборка 1478 от 10.06.2017 // Внимание! Если программа не работает, обновите версию!
№1
begin var n:=ReadInteger('n='); Writeln('S=',n*(n+1) div 2) end.
Пример n= 15373 S=118172251
№2
begin var m:=ReadInteger('Количество строк в матрице:'); var n:=ReadInteger('Количество столбцов в матрице:'); Writeln('*** Исходная матрица [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Количество отрицательных элементов построчно:'); a.Rows.Select(r->r.Where(x->x<0).Count).Println end.
Var S:real; N:longint; Begin Write('n = '); Read(n); S:=0; For n:= 1 to n do S:=S+n; WriteLn('S = ',S); End.
2)
Вариант первый:
Var A:array[1..10000,1..10000] of shortint; M,N,j,k:word; Begin Randomize; Write('M = ');ReadLn(M); Write('N = ');ReadLn(N); WriteLn('Исходная матрица:'); For M:= 1 to M do Begin k:=0; For j:= 1 to N-1 do Begin A[M,j]:=random(21)-10; Write(A[M,j]:3,' '); if A[M,j] < 0 then k:=k+1 End; A[M,j]:=random(21)-10; Write(A[M,j]:3); if A[M,j] < 0 then k:=k+1; WriteLn(', k = ',k) End; End.
Вариант второй:
uses Crt; ///На всех версиях, кроме PascalABC.NET эту процедуру следует удалить procedure Window(x, y, w, h: integer); begin System.Console.WindowLeft:=x; System.Console.WindowTop:=y; System.Console.WindowWidth:=w; System.Console.WindowHeight:=h; end; Var A:array[1..13,1..13] of integer; N,M,i,j,t,o,k:integer; Begin Randomize; TextBackGround(15); TextColor(0); Repeat N:=random(13)+1; M:=random(13)+1; t:=3000 div (N*M); if frac(Ln(N*M)/Ln(10)) = 0 then o:=1+Trunc(Ln(N*M)/Ln(10)) else o:=2+Trunc(Ln(N*M)/Ln(10)); Window(0,0,90,25); ClrScr; For i:= 1 to N do Begin For j:= 1 to M do Begin A[i,j]:=random(N*M*2+1)-(N*M); Delay(t); Write(A[i,j]:o,' ') End; WriteLn; End; TextBackGround(10); For i:= 1 to N do Begin k:=0; For j:= 1 to M do Begin if A[i,j] < 0 then Begin TextBackGround(14); GotoXY(j*(o+1)-o,i); Write(A[i,j]:o,' '); TextBackGround(10); k:=k+1 End else Begin GotoXY(j*(o+1)-o,i); Write(A[i,j]:o,' '); End; Delay(t); End; TextBackGround(12); GotoXY(j*(o+1),i); Write(', k = ',k); TextBackGround(10); End; TextBackGround(15); GotoXY(1,N+1); Write('1 - повторить, 0 - Выйти.'); Until ReadKey = '0' End.
// Внимание! Если программа не работает, обновите версию!
№1
begin
var n:=ReadInteger('n=');
Writeln('S=',n*(n+1) div 2)
end.
Пример
n= 15373
S=118172251
№2
begin
var m:=ReadInteger('Количество строк в матрице:');
var n:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Количество отрицательных элементов построчно:');
a.Rows.Select(r->r.Where(x->x<0).Count).Println
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
88 43 64 50 -27 -9 48 55
1 40 -39 -99 -45 -54 17 -77
-33 99 -38 -19 -93 18 -19 -24
17 4 -36 90 98 69 68 35
-35 18 85 54 -74 -69 14 -62
Количество отрицательных элементов построчно:
2 5 6 1 4
Var
S:real;
N:longint;
Begin
Write('n = ');
Read(n);
S:=0;
For n:= 1 to n do
S:=S+n;
WriteLn('S = ',S);
End.
2)
Вариант первый:
Var
A:array[1..10000,1..10000] of shortint;
M,N,j,k:word;
Begin
Randomize;
Write('M = ');ReadLn(M);
Write('N = ');ReadLn(N);
WriteLn('Исходная матрица:');
For M:= 1 to M do
Begin
k:=0;
For j:= 1 to N-1 do
Begin
A[M,j]:=random(21)-10;
Write(A[M,j]:3,' ');
if A[M,j] < 0 then k:=k+1
End;
A[M,j]:=random(21)-10;
Write(A[M,j]:3);
if A[M,j] < 0 then k:=k+1;
WriteLn(', k = ',k)
End;
End.
Вариант второй:
uses Crt;
///На всех версиях, кроме PascalABC.NET эту процедуру следует удалить
procedure Window(x, y, w, h: integer);
begin
System.Console.WindowLeft:=x;
System.Console.WindowTop:=y;
System.Console.WindowWidth:=w;
System.Console.WindowHeight:=h;
end;
Var
A:array[1..13,1..13] of integer;
N,M,i,j,t,o,k:integer;
Begin
Randomize;
TextBackGround(15);
TextColor(0);
Repeat
N:=random(13)+1;
M:=random(13)+1;
t:=3000 div (N*M);
if frac(Ln(N*M)/Ln(10)) = 0 then o:=1+Trunc(Ln(N*M)/Ln(10))
else o:=2+Trunc(Ln(N*M)/Ln(10));
Window(0,0,90,25);
ClrScr;
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(N*M*2+1)-(N*M);
Delay(t);
Write(A[i,j]:o,' ')
End;
WriteLn;
End;
TextBackGround(10);
For i:= 1 to N do
Begin
k:=0;
For j:= 1 to M do
Begin
if A[i,j] < 0 then
Begin
TextBackGround(14);
GotoXY(j*(o+1)-o,i);
Write(A[i,j]:o,' ');
TextBackGround(10);
k:=k+1
End
else
Begin
GotoXY(j*(o+1)-o,i);
Write(A[i,j]:o,' ');
End;
Delay(t);
End;
TextBackGround(12);
GotoXY(j*(o+1),i);
Write(', k = ',k);
TextBackGround(10);
End;
TextBackGround(15);
GotoXY(1,N+1);
Write('1 - повторить, 0 - Выйти.');
Until ReadKey = '0'
End.