Объяснение:
const nmax=15;
var a:array[1..nmax,1..nmax] of integer;
m,n,i,j,k,x,y:integer;
begin
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
k:=-1;
for j:=1 to m do
begin
y:=1;
x:=j;
while(x>0) and(y<=n) do
begin
k:=k+1;
a[y,x]:=k;
x:=x-1;
y:=y+1;
end;
end;
for j:=2 to n do
begin
y:=j;
x:=m;
while(x>0)and(y<=n) do
begin
k:=k+1;
a[y,x]:=k;
x:=x-1;
y:=y+1
end;
end;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln
end;
readln
end.
Переведите на Питон, в Паскале давно не работал
1)
int y = 2, x = 5;
у = х++;
в этом случае у нас сначала происходит операция присваивания, то есть у становится равным 5, а после операция инкремента, то есть х увеличивается на единицу и становится равным 6.
т.о. значение выражения равно 5
2)
int y = 2, x = 5;
у = ++х;
в этом случае у нас сначала происходит операция инкремента, х увеличивается на 1 и становится равным 6, а затем операция присваивания.
т.о. значение выражения равно 6
х++ - постфиксный инкремент
переменная увеличивается после использования ее значения для выполнения сторонних операций
++х - префиксный инкремент
переменная будет увеличивается до того, как будет использовано ее значение в нуждах программы
Program sum;
uses Crt;
Var i: integer;
sum, p, sr : real;
a : array [1..25] of real;
begin
Clrscr;
For i:=1 to 25 do
begin
write ('a[',i,']=');
readln(a[i]);
end;
sum:=0;
For i:=1 to 25 do begin
if a[i]>0 then sum:=sum+a[i];
end;
sr:=sum/25;
For i:=1 to 25 do begin
if a[i]<0 then p:=p*a[i];
end;
Writeln ('Sum=',sum:5:2);
Writeln ('p=',p:5:2);
Writeln ('Sr=',sr:5:2);
readln;
end.