6°. Складіть блок-схему фрагмента алгоритму, у якому цикл з пере- думовою вкладено в повне розгалуження і який виконується, якщо результат перевірки умови розгалуження ні. Поясніть ви-
Если точка лежит в начале координат, т.е. х = 0 и у = 0, то выводим 0, иначе выводим какой четверти принадлежит точка, начиная с 1 четверти и по порядку.
Нестрогие условия (>= и <=) и оператор write (нет перехода на новую строку) позволяют выводить два номера четверти, если точка лежит на одной из осей, а расположение условий для четвертей по порядку позволяет соблюсти условие о том, что сначала необходимо выводить меньший номер.
Var a:array[1..5] of integer; i,Max,c,n,f:integer; procedure ho; begin if a[i]>Max then begin Max:=a[i]; c:=i; end; end;
begin for i:=1 to 5 do begin a[i]:= random(15)+2; write(a[i],' '); end; Max:=a[1]; c:=1; for i:=1 to 5 do ho; writeln; writeln('Максимум: ',max); f:=c; if f=1 then begin max:=a[2]; for i:=2 to 5 do ho; writeln('Вторичный максимум: ',max); exit; end; if f<5 then begin Max:=a[f+1]; for i:=f+1 to 5 do ho; n:=max; end; if f>1 then begin Max:=a[1]; c:=f; for i:=1 to c-1 do ho; if max>n then writeln('Вторичный максимумì: ',max); if max<n then writeln('Вторичный максимум: ',n); end; end.
program z1;
ar x,y:integer;
begin
readln(x);
readln(y);
if (x=0) and (y=0) then write(0)
else
begin
if (x>=0) and (y>=0) then write(1);
if (x<=0) and (y>=0) then write(2);
if (x<=0) and (y<=0) then write(3);
if (x>=0) and (y<=0) then write(4)
end
end.
Объяснение:
Если точка лежит в начале координат, т.е. х = 0 и у = 0, то выводим 0, иначе выводим какой четверти принадлежит точка, начиная с 1 четверти и по порядку.
Нестрогие условия (>= и <=) и оператор write (нет перехода на новую строку) позволяют выводить два номера четверти, если точка лежит на одной из осей, а расположение условий для четвертей по порядку позволяет соблюсти условие о том, что сначала необходимо выводить меньший номер.
a:array[1..5] of integer;
i,Max,c,n,f:integer;
procedure ho;
begin
if a[i]>Max then
begin
Max:=a[i];
c:=i;
end;
end;
begin
for i:=1 to 5 do
begin
a[i]:= random(15)+2;
write(a[i],' ');
end;
Max:=a[1];
c:=1;
for i:=1 to 5 do
ho;
writeln;
writeln('Максимум: ',max);
f:=c;
if f=1 then
begin
max:=a[2];
for i:=2 to 5 do
ho;
writeln('Вторичный максимум: ',max); exit;
end;
if f<5 then
begin
Max:=a[f+1];
for i:=f+1 to 5 do
ho;
n:=max;
end;
if f>1 then
begin
Max:=a[1];
c:=f;
for i:=1 to c-1 do
ho;
if max>n then
writeln('Вторичный максимумì: ',max);
if max<n then
writeln('Вторичный максимум: ',n);
end;
end.