9класс. дан прямоугольник и его стороны а и б. нужно найти кол-во всех квадратов. то есть например мы делим пр/уг и остается остаток в виде прямоугольника, это мы тоже делим. нужно использовать либо while, либо repeat. pascal abc
Var a,b,k:integer; begin writeln('a, b:'); readln(a,b); k:=0; while a<>b do begin k:=k+1; if a>b then begin writeln(k,': ',b,'*',b); a:=a-b; end else begin writeln(k,': ',a,'*',a); b:=b-a; end; end; k:=k+1; writeln(k,': ',a,'*',a); writeln('k = ',k); end.
Пример: a, b: 3 8 1: 3*3 2: 3*3 3: 2*2 4: 1*1 5: 1*1 k = 5
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 const n=5; type Matrix=array[1..n,1..n] of integer;
procedure DummySchool(var a:Matrix); begin Writeln('Ввод элементов матрицы'); for var i:=1 to n do begin Write(n,' элементов строки ',i,': '); for var j:=1 to n do Read(a[i,j]); end; Writeln('Сформирована матрица ',n,'x',n); for var i:=1 to n do begin for var j:=1 to n do Write(a[i,j]:5); Writeln end end;
begin var B:Matrix; DummySchool(B); var sn:=0; var sp:=0; for var i:=1 to n do for var j:=1 to n do if B[i,j]<0 then sn+=B[i,j] else if B[i,j]>0 then sp+=B[i,j]; Writeln('Сумма отрицательных ',sn); Writeln('Сумма положительных ',sp) end.
// PascalABC.NET 3.3, сборка 1542 от 05.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=8; var a:=new real[n,n]; var k:=1; for var i:=0 to n-1 do for var j:=0 to n-1 do begin if i.IsEven then a[i,n-1-j]:=k else a[i,j]:=k; k+=1 end; a.Println(3,0) end.
begin
writeln('a, b:');
readln(a,b);
k:=0;
while a<>b do
begin
k:=k+1;
if a>b
then begin writeln(k,': ',b,'*',b); a:=a-b; end
else begin writeln(k,': ',a,'*',a); b:=b-a; end;
end;
k:=k+1;
writeln(k,': ',a,'*',a);
writeln('k = ',k);
end.
Пример:
a, b:
3 8
1: 3*3
2: 3*3
3: 2*2
4: 1*1
5: 1*1
k = 5