Составить алгоритм управления Чертёжником, в результате которого на координатной плоскости будет нарисован квадрат, длина стороны которого равна 8 единицам.
Алгоритм:
сместиться в точку (48,48)
опустить перо
сместиться на вектор (,8)
сместиться на вектор (,0)
сместиться на вектор (0,)
сместиться на вектор (−8,0)
var
i,k,min,max:integer;
x,y:array[1..n]of integer;
z:array[1..2*n]of integer;
function four(n:integer):string;
var s:string;
begin
repeat
s:=s+IntToStr(n mod 4);
n:=n div 4;
until n=0;
result:=ReverseString(s);
end;
begin
for i:=1 to n do
begin
x[i]:=random(-10,10);
y[i]:=random(-10,10);
if (x[i] mod 2=0) and (x[i]>0) then
begin
k:=k+1;
z[k]:=x[i];
if k=1 then
begin
min:=z[1];
max:=z[1];
end;
if z[k]>max then max:=z[k];
if z[k]<min then min:=z[k];
end;
if (y[i] mod 2=0) and (y[i]>0) then
begin
k:=k+1;
z[k]:=y[i];
if k=1 then
begin
min:=z[1];
max:=z[1];
end;
if z[k]>max then max:=z[k];
if z[k]<min then min:=z[k];
end;
end;
write('Массив X:');
for i:=1 to n do write(x[i]:4);
writeln;
write('Массив Y:');
for i:=1 to n do write(y[i]:4);
writeln;
write('Массив Z:');
for i:=1 to k do write(z[i]:4);
writeln;
write('Измененный массив Z:');
for i:=1 to k do
begin
if z[i]=min then z[i]:=max
else
if z[i]=max then z[i]:=min;
write(z[i]:4);
end;
writeln;
write('Массив Z по основанию 4:');
for i:=1 to k do write(four(z[i]):4);
end.
program pr1;
uses
crt;
const
arr1 : array[1..12] of integer = (5, 4, -3, 1, 0, -4, 0, 25, -8, 0, -17, -1);
type
arr2 = array of integer;
var
arr : arr2;
n : integer;
i, sot, spl, snu : byte;
ch : char;
begin
write('Хотите использовать заданный по умолчанию массив? (y/n): ');
ch := readkey;
writeln(ch);
sot := 0;
spl := 0;
snu := 0;
if ((ch='y') or (ch='Y')) then begin
{ Используем заданный по умолчанию }
for i:=1 to 12 do begin
if arr1[i] > 0 then inc(spl);
if arr1[i] < 0 then inc(sot);
if arr1[i] = 0 then inc(snu);
write(arr1[i], ' ');
end;
writeln;
end
else begin
{ Создаём и заполняем новый массив }
write('Введите желаемый размер массива: ');
readln(n);
setLength(arr, n);
writeln('Введите элементы массива:');
for i:=0 to high(arr) do
readln(arr[i]);
for i:=0 to high(arr) do begin
if arr[i]>0 then inc(spl);
if arr[i]<0 then inc(sot);
if arr[i]=0 then inc(snu);
write(arr[i], ' ');
end;
writeln;
end;
writeln('Количество отрицательных элементов: ', sot);
writeln('Количество нулевых элементов: ', snu);
writeln('Количество положительных элементов: ', spl);
end.