Repeat — это цикл с пост условием то есть в первый раз всё равно выполнится. Теперь разберём цикл, он будет выполнять это действие
(p:=p*0.1) пока (p) не станет меньше 0.1 , теперь работаем в теле цикла, (p) изначально равен двум по этому получаем p:=1*0,1; получаем p:=0,1 проверяем условие 0,1<0,1 нет повторяем второй раз цикл, теперь p:=0,1 а не 1 как было в первый раз p:=0,1*0,1 p:=0,01 проверяем условие
0,01<0,1 да меньше цикл прерывается и (p) остаётся равным 0,01
Const N = 3; M = 4; Var A:array[1..N,1..M] of integer; i,j,iMin,jMin:integer; Begin Randomize; iMin:=1; jMin:=1; WriteLn('Исходный массив:'); For i:= 1 to N do Begin For j:= 1 to M do Begin A[i,j]:=random(76)-30; if A[i,j] < A[iMin,jMin] then Begin iMin:=i; jMin:=j End; Write(A[i,j]:3,' ') End; WriteLn; End; WriteLn('Min = A[',iMin,',',jMin,'] = ',A[iMin,jMin]); End.
Я тебе дал,а ты сам подумай)
Объяснение:
Repeat — это цикл с пост условием то есть в первый раз всё равно выполнится. Теперь разберём цикл, он будет выполнять это действие
(p:=p*0.1) пока (p) не станет меньше 0.1 , теперь работаем в теле цикла, (p) изначально равен двум по этому получаем p:=1*0,1; получаем p:=0,1 проверяем условие 0,1<0,1 нет повторяем второй раз цикл, теперь p:=0,1 а не 1 как было в первый раз p:=0,1*0,1 p:=0,01 проверяем условие
0,01<0,1 да меньше цикл прерывается и (p) остаётся равным 0,01
N = 3;
M = 4;
Var
A:array[1..N,1..M] of integer;
i,j,iMin,jMin:integer;
Begin
Randomize;
iMin:=1;
jMin:=1;
WriteLn('Исходный массив:');
For i:= 1 to N do
Begin
For j:= 1 to M do
Begin
A[i,j]:=random(76)-30;
if A[i,j] < A[iMin,jMin] then
Begin
iMin:=i;
jMin:=j
End;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
WriteLn('Min = A[',iMin,',',jMin,'] = ',A[iMin,jMin]);
End.
Исходный массив:
-11 -3 -16 44
-1 -10 38 -20
33 -22 17 10
Min = A[3,2] = -22