Дана последовательность операторов: a: =1; b: =1; repeat a: =a+1; b: =b*2; until b> 8 s: =a+b сколько раз будет повторен цикл и какими будут значения переменных a,b,s, после исполнения этой последовательности операторов?
Var A:array[1..4] of integer; i,j,R,P:integer; function HOD(c,b:integer):integer; begin while c<>b do if c>b then c:=c-b else b:=b-c; HOD:=c; end; function HOK(c,b, RR:integer):integer; begin if ((c mod b=0) or (b mod c=0)) and ((c div b > 1) or (b div c > 1)) then begin if c>b then HoK:=c else HOK:=b; end else HOK:=(c*b) div RR; end; begin A[1]:=36; A[2]:=54; A[3]:=18; A[4]:=15; P:=1; R:=HOD(A[1],A[2]); P:=HOK(A[1], A[2], R); for i:=3 to 4 do begin R:=HOD(R, A[i]); P:=HOK(P, A[i],R); end; writeln('HOK = ',P); end.
Var A:array[1..4] of integer; i,j,R,P:integer; function HOD(c,b:integer):integer; begin while c<>b do if c>b then c:=c-b else b:=b-c; HOD:=c; end; function HOK(c,b, RR:integer):integer; begin if ((c mod b=0) or (b mod c=0)) and ((c div b > 1) or (b div c > 1)) then begin if c>b then HoK:=c else HOK:=b; end else HOK:=(c*b) div RR; end; begin A[1]:=36; A[2]:=54; A[3]:=18; A[4]:=15; P:=1; R:=HOD(A[1],A[2]); P:=HOK(A[1], A[2], R); for i:=3 to 4 do begin R:=HOD(R, A[i]); P:=HOK(P, A[i],R); end; writeln('HOK = ',P); end.
var
a, b, s: real;
begin
a := 1;
b := 2;
while a + b < 8 do
begin
a := a + 1;
b := b + 2;
writeln('a = ', a, ' b = ', b);
end;
s := a + b;
writeln('s = ', s);
end.
Вывод
a = 2 b = 4
a = 3 b = 6
s = 9
Отсюда видно что цикл прокрутился 2 раза и a = 3 b = 6 s = 9