1636 lines
35 KiB
ObjectPascal
1636 lines
35 KiB
ObjectPascal
// Copyright (c) Ivan Bondarev, Stanislav Mikhalkovich (for details please see \doc\copyright.txt)
|
||
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
||
unit DMZadan;
|
||
|
||
interface
|
||
|
||
procedure a1;
|
||
procedure a2;
|
||
procedure a3;
|
||
procedure a4;
|
||
procedure a5;
|
||
procedure a6;
|
||
|
||
procedure c1;
|
||
procedure c2;
|
||
procedure c3;
|
||
procedure c4;
|
||
procedure c5;
|
||
procedure c6;
|
||
procedure c7;
|
||
procedure c8;
|
||
procedure c9;
|
||
procedure c10;
|
||
procedure c11;
|
||
procedure c12;
|
||
procedure c13;
|
||
procedure c14;
|
||
procedure c15;
|
||
procedure c16;
|
||
procedure c17;
|
||
procedure c18;
|
||
procedure c19;
|
||
procedure c20;
|
||
procedure c21;
|
||
procedure c22;
|
||
procedure c23;
|
||
procedure c24;
|
||
procedure c25;
|
||
procedure c26;
|
||
|
||
procedure cc1;
|
||
procedure cc2;
|
||
procedure cc3;
|
||
procedure cc4;
|
||
procedure cc5;
|
||
procedure cc6;
|
||
procedure cc7;
|
||
procedure cc8;
|
||
procedure cc9;
|
||
procedure cc10;
|
||
procedure cc11;
|
||
procedure cc12;
|
||
procedure cc13;
|
||
procedure cc14;
|
||
procedure cc15;
|
||
procedure cc16;
|
||
|
||
procedure p1;
|
||
procedure p2;
|
||
procedure p3;
|
||
procedure p4;
|
||
|
||
procedure pp1;
|
||
procedure pp2;
|
||
procedure pp3;
|
||
procedure pp4;
|
||
procedure pp5;
|
||
procedure pp6;
|
||
procedure pp7;
|
||
procedure pp8;
|
||
procedure pp9;
|
||
procedure pp10;
|
||
procedure pp11;
|
||
procedure pp12;
|
||
procedure pp13;
|
||
procedure pp14;
|
||
procedure pp15;
|
||
procedure pp16;
|
||
procedure pp17;
|
||
procedure pp18;
|
||
procedure pp19;
|
||
|
||
procedure examen1;
|
||
procedure examen2;
|
||
procedure examen3;
|
||
procedure examen4;
|
||
procedure examen5;
|
||
procedure examen6;
|
||
procedure examen7;
|
||
procedure examen8;
|
||
procedure examen9;
|
||
procedure examen10;
|
||
|
||
///--
|
||
procedure __InitModule__;
|
||
///--
|
||
procedure __FinalizeModule__;
|
||
|
||
implementation
|
||
|
||
uses DMTaskMaker,DrawManField;
|
||
|
||
procedure rect(a1,a2: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(a2,0);
|
||
DoOnVector(0,a1);
|
||
DoOnVector(-a2,0);
|
||
DoOnVector(0,-a1);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure kDoOnVector(a: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(a,0);
|
||
DoOnVector(0,a);
|
||
DoOnVector(-a,0);
|
||
DoOnVector(0,-a);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure oct;
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,1);
|
||
DoOnVector(0,1);
|
||
DoOnVector(-1,1);
|
||
DoOnVector(-1,0);
|
||
DoOnVector(-1,-1);
|
||
DoOnVector(0,-1);
|
||
DoOnVector(1,-1);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure oct1(a: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(a,0);DoOnVector(1,1);
|
||
DoOnVector(0,a);DoOnVector(-1,1);
|
||
DoOnVector(-a,0);DoOnVector(-1,-1);
|
||
DoOnVector(0,-a);DoOnVector(1,-1);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure oct2(a: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,0);DoOnVector(a,a);
|
||
DoOnVector(0,1);DoOnVector(-a,a);
|
||
DoOnVector(-1,0);DoOnVector(-a,-a);
|
||
DoOnVector(0,-1);DoOnVector(a,-a);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure parket1;
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2,2);DoOnVector(1,-1);
|
||
DoOnVector(-2,-2);DoOnVector(-1,1);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure line(a,b: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(a,b);
|
||
DoOnVector(-a,-b);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure kvDoOnVector(a,b,c: integer);
|
||
begin
|
||
kDoOnVector(a);
|
||
DoOnVector(b,c);
|
||
end;
|
||
|
||
procedure tri(a,b: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(a,0);
|
||
DoOnVector(-a,b);
|
||
DoOnVector(0,-b);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure center;
|
||
begin
|
||
DoToPoint(15,10);
|
||
end;
|
||
|
||
procedure StandardField;
|
||
begin
|
||
TaskText('Задание StandardField. Стандартное поле');
|
||
Field(30,20);
|
||
end;
|
||
|
||
procedure a1;
|
||
begin
|
||
TaskText('Задание a1. Начертить, используя команды ToPoint(2,3) и OnVector(1,2)');
|
||
Field(5,6);
|
||
DoToPoint(2,3);
|
||
DoPenDown;
|
||
DoOnVector(1,2);
|
||
end;
|
||
|
||
procedure a2;
|
||
var x0,y0: integer;
|
||
begin
|
||
TaskText('Задание a2. Использовать четыре раза команду ToPoint(5,4)и команды OnVector');
|
||
Field(9,7);
|
||
x0:=5;
|
||
y0:=4;
|
||
DoToPoint(x0,y0);
|
||
DoPenDown;
|
||
DoOnVector(3,1);
|
||
DoToPoint(x0,y0);
|
||
DoOnVector(2,-3);
|
||
DoToPoint(x0,y0);
|
||
DoPenDown;
|
||
DoOnVector(-4,2);
|
||
DoToPoint(x0,y0);
|
||
DoPenDown;
|
||
DoOnVector(-2,-2);
|
||
end;
|
||
|
||
procedure a3;
|
||
begin
|
||
TaskText('Задание a3. Начертите указанные линии');
|
||
Field(11,6);
|
||
DoToPoint(2,1);
|
||
DoPenDown; DoOnVector(4,0);
|
||
DoPenUp;
|
||
DoToPoint(3,2);
|
||
DoPenDown; DoOnVector(0,3);
|
||
DoPenUp;
|
||
DoToPoint(4,4);
|
||
DoPenDown; DoOnVector(5,-1);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure a4;
|
||
begin
|
||
TaskText('Задание a4. Начертить квадраты');
|
||
Field(9,7);
|
||
DoToPoint(3,1);
|
||
kDoOnVector(1);
|
||
DoToPoint(5,3);
|
||
kDoOnVector(3);
|
||
DoToPoint(1,3);
|
||
kDoOnVector(2);
|
||
end;
|
||
|
||
procedure a5;
|
||
begin
|
||
TaskText('Задание a5. Начертить несколько прямоугольников');
|
||
Field(8,8);
|
||
DoToPoint(4,1);rect(2,3);
|
||
DoToPoint(1,1);rect(5,1);
|
||
DoToPoint(3,4);rect(3,4);
|
||
end;
|
||
|
||
procedure a6;
|
||
begin
|
||
TaskText('Задание a6. Начертить цифры');
|
||
Field(11,6);
|
||
DoToPoint(2,2);
|
||
DoOnVector(0,1);DoPenDown;DoOnVector(1,1);DoOnVector(0,-2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoOnVector(1,0);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(1,0);DoOnVector(-1,-1);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(0,2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
end;
|
||
|
||
procedure c1;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c1. Начертить, используя цикл');
|
||
Field(17,5);
|
||
DoToPoint(1,3);
|
||
DoPenDown;
|
||
for i:=1 to 15 do
|
||
begin
|
||
DoOnVector(0,-1);
|
||
DoOnVector(1,1);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c2;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c2. Начертить, используя цикл');
|
||
Field(22,5);
|
||
DoToPoint(1,3);
|
||
DoPenDown;
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoOnVector(1,-1);
|
||
DoOnVector(1,1);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c3;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c3. Начертить, используя цикл');
|
||
Field(18,7);
|
||
DoToPoint(2,5);
|
||
for i:=1 to 15 do
|
||
begin
|
||
line(0,-3);
|
||
DoOnVector(1,0);
|
||
end
|
||
end;
|
||
|
||
procedure c4;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c4. Начертить, используя цикл');
|
||
Field(21,5);
|
||
DoToPoint(1,2);
|
||
for i:=1 to 10 do
|
||
kvDoOnVector(1,2,0);
|
||
end;
|
||
|
||
procedure c5;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c5. Начертить, используя цикл');
|
||
Field(12,12);
|
||
DoToPoint(1,11);
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,0);
|
||
DoOnVector(-1,-1);
|
||
DoOnVector(0,1);
|
||
DoPenUp;
|
||
DoOnVector(1,-1);
|
||
end
|
||
end;
|
||
|
||
procedure c6;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c6. Начертить, используя цикл');
|
||
Field(13,14);
|
||
DoToPoint(1,3);
|
||
for i:=1 to 6 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,-2);
|
||
DoOnVector(-1,0);
|
||
DoOnVector(0,2);
|
||
DoPenUp;
|
||
DoOnVector(2,2)
|
||
end
|
||
end;
|
||
|
||
procedure c7;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c7. Начертить, используя цикл');
|
||
Field(30,20);
|
||
DoToPoint(2,1);
|
||
for i:=1 to 10 do
|
||
kvDoOnVector(5,2,1);
|
||
end;
|
||
|
||
procedure c8;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c8. Начертить, используя цикл');
|
||
Field(29,5);
|
||
DoToPoint(2,1);
|
||
DoPenDown;
|
||
for i:=1 to 9 do
|
||
begin
|
||
oct;
|
||
DoOnVector(3,0);
|
||
end
|
||
end;
|
||
|
||
procedure c9;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c9. Начертить, используя циклы');
|
||
Field(25,14);
|
||
DoToPoint(2,12);
|
||
DoPenDown;
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,-1);
|
||
end;
|
||
DoOnVector(1,0);
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoOnVector(0,1);
|
||
DoOnVector(1,0);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c10;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c10. Начертить, используя цикл');
|
||
Field(14,12);
|
||
DoToPoint(2,1);
|
||
DoPenDown;
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoOnVector(0,i);
|
||
DoOnVector(1,-i);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c11;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c11. Начертить, используя цикл');
|
||
Field(14,12);
|
||
DoToPoint(2,1);
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(0,i);
|
||
DoPenUp;
|
||
DoOnVector(1,-i);
|
||
end;
|
||
end;
|
||
|
||
procedure c12;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c12. Начертить, используя цикл');
|
||
Field(14,12);
|
||
DoToPoint(2,10);
|
||
for i:=1 to 10 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(i,0);
|
||
DoPenUp;
|
||
DoOnVector(-i,-1);
|
||
end;
|
||
end;
|
||
|
||
procedure c13;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c13. Начертите, используя цикл');
|
||
Field(25,10);
|
||
DoToPoint(2,2);
|
||
DoPenDown;
|
||
for i:=1 to 6 do
|
||
begin
|
||
DoOnVector(0,i);
|
||
DoOnVector(i,-i);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c14;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c14. Начертить, используя цикл');
|
||
Field(14,12);
|
||
DoToPoint(2,1);
|
||
for i:=1 to 10 do
|
||
kDoOnVector(i);
|
||
end;
|
||
|
||
procedure c15;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c15. Начертить, используя цикл');
|
||
Field(30,11);
|
||
DoToPoint(1,2);
|
||
for i:=1 to 7 do
|
||
kvDoOnVector(i,i,0);
|
||
end;
|
||
|
||
procedure c16;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c16. Начертить, используя цикл');
|
||
Field(30,17);
|
||
DoToPoint(1,2);
|
||
for i:=1 to 14 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2*i,0);
|
||
DoPenUp;
|
||
DoOnVector(-2*i,1);
|
||
end;
|
||
end;
|
||
|
||
procedure c17;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c17. Начертить, используя цикл');
|
||
Field(30,17);
|
||
DoToPoint(1,2);
|
||
for i:=0 to 13 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2*i+1,0);
|
||
DoPenUp;
|
||
DoOnVector(-(2*i+1),1);
|
||
end;
|
||
end;
|
||
|
||
procedure c18;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c18. Начертить, используя цикл');
|
||
Field(12,19);
|
||
DoToPoint(2,9);
|
||
for i:=1 to 9 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(0,2*i-1);
|
||
DoPenUp;
|
||
DoOnVector(1,-2*i);
|
||
end;
|
||
end;
|
||
|
||
procedure c19;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c19. Начертить, используя цикл');
|
||
Field(12,20);
|
||
DoToPoint(10,10);
|
||
DoPenDown;
|
||
for i:=0 to 16 do
|
||
line(-8,8-i);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c20;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c20. Начертить, используя цикл');
|
||
Field(10,10);
|
||
DoToPoint(2,2);
|
||
for i:=0 to 6 do
|
||
begin
|
||
line(i,6-i);
|
||
DoOnVector(0,1);
|
||
end;
|
||
end;
|
||
|
||
procedure c21;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c21. Начертить, используя цикл');
|
||
Field(13,18);
|
||
DoToPoint(1,1);DoPenDown;
|
||
for i:=0 to 8 do
|
||
line(10,2*i);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c22;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c22. Начертить, используя цикл');
|
||
Field(19,19);
|
||
DoToPoint(1,1);
|
||
DoPenDown;
|
||
for i:=0 to 16 do
|
||
begin
|
||
DoOnVector(i,16-i);
|
||
DoToPoint(1,1);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c23;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c23. Начертить, используя цикл');
|
||
Field(20,14);
|
||
DoToPoint(1,7);
|
||
DoPenDown;
|
||
for i:=1 to 6 do
|
||
begin
|
||
DoOnVector(1,i);
|
||
DoOnVector(0,-2*i);
|
||
DoOnVector(1,i);
|
||
DoOnVector(1,0);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c24;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c24. Начертить, используя цикл');
|
||
Field(19,17);
|
||
DoToPoint(9,8);
|
||
DoPenDown;
|
||
for i:=1 to 7 do
|
||
begin
|
||
kDoOnVector(2*i-1);
|
||
DoOnVector(-1,-1);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c25;
|
||
var i,k: integer;
|
||
begin
|
||
TaskText('Задание c25. Начертить, используя цикл');
|
||
Field(14,14);
|
||
DoToPoint(1,7);
|
||
k:=1;
|
||
DoPenDown;
|
||
for i:=1 to 12 do
|
||
begin
|
||
DoOnVector(1,i*k);
|
||
k:=-k;
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure c26;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание c26. Начертить график параболы');
|
||
Field(26,6);
|
||
DoPenDown;
|
||
for i:=1 to 5 do
|
||
DoToPoint(i*i,i);
|
||
end;
|
||
|
||
procedure cc1;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc1. Начертить, используя вложенные циклы');
|
||
Field(22,6);
|
||
DoToPoint(1,1);DoPenDown;
|
||
for i:=1 to 4 do
|
||
begin
|
||
for j:=1 to 5 do
|
||
begin
|
||
DoOnVector(1,i);
|
||
DoOnVector(0,-i);
|
||
end;
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc2;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc2. Начертить, используя вложенные циклы');
|
||
Field(22,6);
|
||
DoToPoint(1,1);DoPenDown;
|
||
for i:=1 to 5 do
|
||
begin
|
||
for j:=1 to 4 do
|
||
begin
|
||
DoOnVector(1,j);
|
||
DoOnVector(0,-j);
|
||
end;
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc3;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc3. Начертить, используя вложенные циклы');
|
||
Field(30,9);
|
||
DoToPoint(1,1);DoPenDown;
|
||
for i:=1 to 7 do
|
||
begin
|
||
for j:=1 to i do
|
||
begin
|
||
DoOnVector(1,j);
|
||
DoOnVector(0,-j);
|
||
end;
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc4;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc4. Начертить, используя вложенные циклы');
|
||
Field(30,9);
|
||
DoToPoint(1,1);
|
||
for i:=1 to 7 do
|
||
begin
|
||
for j:=1 to i do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(0,i);
|
||
DoPenUp;
|
||
DoOnVector(1,-i);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure cc5;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc5. Начертить, используя вложенные циклы');
|
||
Field(16,8);
|
||
DoToPoint(1,1);
|
||
DoPenDown;
|
||
for j:=1 to 5 do
|
||
begin
|
||
for i:=0 to 6 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2,i);
|
||
DoPenUp;
|
||
DoOnVector(-2,-i);
|
||
end;
|
||
DoOnVector(3,0);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc6;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc6. Начертить, используя вложенные циклы');
|
||
Field(16,8);
|
||
DoToPoint(1,1);
|
||
DoPenDown;
|
||
for j:=1 to 5 do
|
||
begin
|
||
for i:=j to 6 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2,i);
|
||
DoPenUp;
|
||
DoOnVector(-2,-i);
|
||
end;
|
||
DoOnVector(3,0);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc7;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc7. Начертить, используя вложенные циклы');
|
||
Field(16,11);
|
||
DoToPoint(1,1);
|
||
DoPenDown;
|
||
for j:=1 to 5 do
|
||
begin
|
||
for i:=j to 2*j-1 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2,i);
|
||
DoPenUp;
|
||
DoOnVector(-2,-i);
|
||
end;
|
||
DoOnVector(3,0);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc8;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc8. Начертить, используя вложенные циклы');
|
||
Field(21,7);
|
||
DoToPoint(1,1);
|
||
DoPenDown;
|
||
for j:=1 to 5 do
|
||
begin
|
||
for i:=0 to 5 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(j,i);
|
||
DoPenUp;
|
||
DoOnVector(-j,-i);
|
||
end;
|
||
DoOnVector(j+1,0);
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure cc9;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc9. Начертить, используя вложенные циклы');
|
||
Field(18,18);
|
||
for i:=0 to 3 do
|
||
begin
|
||
DoToPoint(1,1);
|
||
DoPenDown;
|
||
for j:=1 to 5 do
|
||
DoOnVector(j,6-j-i);
|
||
DoPenUp;
|
||
end
|
||
end;
|
||
|
||
procedure cc10;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc10. Начертить, используя вложенные циклы');
|
||
Field(15,11);
|
||
DoToPoint(2,1);
|
||
for j:=0 to 4 do
|
||
begin
|
||
for i:=0 to 10 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,1);
|
||
DoOnVector(0,-1);
|
||
DoPenUp;
|
||
end;
|
||
DoOnVector(-11,2);
|
||
end;
|
||
end;
|
||
|
||
procedure cc11;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc11. Начертить, используя вложенные циклы');
|
||
Field(27,22);
|
||
DoToPoint(2,21);
|
||
for j:=1 to 7 do
|
||
begin
|
||
for i:=1 to 8 do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2,0);
|
||
DoOnVector(-1,-2);
|
||
DoOnVector(-1,2);
|
||
DoPenUp;
|
||
DoOnVector(3,0);
|
||
end;
|
||
DoOnVector(-3*8,-3);
|
||
end
|
||
end;
|
||
|
||
procedure cc12;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc12. Начертить, используя вложенные циклы');
|
||
Field(13,11);
|
||
DoToPoint(2,1);
|
||
for j:=0 to 4 do
|
||
begin
|
||
for i:=0 to j do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,1);
|
||
DoOnVector(0,-1);
|
||
DoPenUp;
|
||
end;
|
||
DoOnVector(-j-1,2);
|
||
end;
|
||
end;
|
||
|
||
procedure cc13;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc13. Начертить, используя вложенные циклы');
|
||
Field(13,11);
|
||
DoToPoint(2,1);
|
||
for j:=0 to 4 do
|
||
begin
|
||
for i:=0 to 2*j do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,1);
|
||
DoOnVector(0,-1);
|
||
DoPenUp;
|
||
end;
|
||
DoOnVector(-2*j-1,2);
|
||
end;
|
||
end;
|
||
|
||
procedure cc14;
|
||
var i,j: integer;
|
||
begin
|
||
TaskText('Задание cc14. Начертить, используя вложенные циклы');
|
||
Field(11,11);
|
||
DoToPoint(1,2);
|
||
for j:=0 to 4 do
|
||
begin
|
||
for i:=0 to 2*j do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,-1);
|
||
DoPenUp;
|
||
end;
|
||
DoOnVector(-2*j-1,2*j+3);
|
||
end;
|
||
end;
|
||
|
||
procedure cc15;
|
||
var n,i,j: integer;
|
||
begin
|
||
TaskText('Задание cc15. Начертить, используя вложенные циклы');
|
||
Field(11,9);
|
||
n:=8;
|
||
for j:=0 to n do
|
||
begin
|
||
for i:=0 to n do
|
||
begin
|
||
DoToPoint(0,i);
|
||
DoPenDown;
|
||
DoToPoint(10,j);
|
||
DoPenUp;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure cc16;
|
||
var n,i,j: integer;
|
||
begin
|
||
TaskText('Задание cc16. Начертить, используя вложенные циклы');
|
||
Field(11,9);
|
||
n:=8;
|
||
for j:=0 to n div 2 do
|
||
begin
|
||
for i:=0 to n div 2-1 do
|
||
begin
|
||
DoToPoint(0,2*i+1);
|
||
DoPenDown;
|
||
DoToPoint(10,2*j);
|
||
DoPenUp;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure p1;
|
||
begin
|
||
TaskText('Задание p1. Начертить цифры почтового индекса, составив для каждой процедуру');
|
||
Field(23,6);
|
||
DoToPoint(2,2);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(0,2);DoOnVector(-1,0);DoOnVector(0,-2);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,1);DoPenDown;DoOnVector(1,1);DoOnVector(0,-2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoOnVector(1,0);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(1,0);DoOnVector(-1,-1);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(0,2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,0);DoPenDown;DoOnVector(-1,0);DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,0);DoPenUp;DoOnVector(1,2);
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,0);DoPenDown;DoOnVector(-1,-1);DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,1);DoOnVector(-1,0);DoOnVector(1,1);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(0,-1);DoPenUp;DoOnVector(1,2);
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(0,-2);DoOnVector(-1,0);DoOnVector(0,2);DoOnVector(0,-1);DoOnVector(1,0);DoPenUp;DoOnVector(0,1);
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,-1);DoPenDown;DoOnVector(-1,0);DoOnVector(0,1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoPenUp;
|
||
end;
|
||
|
||
procedure p2;
|
||
procedure okno(a,b: integer);
|
||
begin
|
||
rect(b,a);
|
||
DoOnVector(1,1);
|
||
rect(b-2,a div 2-1);
|
||
rect(b-2,a div 2-1);
|
||
DoOnVector(a div 2,0);
|
||
rect(b-2-a div 2,a div 2-1);
|
||
DoOnVector(0,b-1-a div 2);
|
||
rect(a div 2-1,a div 2-1)
|
||
end;
|
||
begin
|
||
TaskText('Задание p2. Составить процедуру Win и начертить три окна');
|
||
Field(38,16);
|
||
DoToPoint(3,2);okno(9,12);
|
||
DoToPoint(15,2);okno(9,12);
|
||
DoToPoint(26,2);okno(9,12);
|
||
end;
|
||
|
||
procedure p3;
|
||
procedure okno(a,b: integer);
|
||
begin
|
||
rect(b,a);
|
||
DoOnVector(1,1);
|
||
rect(b-2,a div 2-1);
|
||
rect(b-2,a div 2-1);
|
||
DoOnVector(a div 2,0);
|
||
rect(b-2-a div 2,a div 2-1);
|
||
DoOnVector(0,b-1-a div 2);
|
||
rect(a div 2-1,a div 2-1)
|
||
end;
|
||
begin
|
||
TaskText('Задание p3. Составить процедуру SmallHouse и начертить два дома. Использовать процедуру Win');
|
||
Field(72,40);
|
||
DoToPoint(4,4);rect(22,30);
|
||
DoToPoint(8,9);okno(9,12);
|
||
DoToPoint(21,9);okno(9,12);
|
||
DoToPoint(4,26);
|
||
DoPenDown;DoOnVector(15,8);DoOnVector(15,-8);
|
||
DoPenUp;
|
||
DoToPoint(38,4);rect(22,30);
|
||
DoToPoint(42,9);okno(9,12);
|
||
DoToPoint(55,9);okno(9,12);
|
||
DoToPoint(38,26);
|
||
DoPenDown;DoOnVector(15,8);DoOnVector(15,-8);
|
||
DoPenUp;
|
||
end;
|
||
|
||
procedure p4;
|
||
procedure okno1(a,b: integer);
|
||
begin
|
||
rect(b,a);
|
||
DoOnVector(1,1);
|
||
rect(b-2,a div 2-1);
|
||
rect(b-2,a div 2-1);
|
||
DoOnVector(a div 2,0);
|
||
rect(b-2-a div 2,a div 2-1);
|
||
DoOnVector(0,b-1-a div 2);
|
||
rect(a div 2-1,a div 2-1);
|
||
DoOnVector(a div 2,a div 2);
|
||
DoOnVector(-a,-b);
|
||
end;
|
||
procedure dom3;
|
||
begin
|
||
DoOnVector(0,6);okno1(9,12);
|
||
DoOnVector(12,0);okno1(9,12);
|
||
DoOnVector(-12,16);okno1(9,12);
|
||
DoOnVector(12,0);okno1(9,12);
|
||
DoOnVector(-12,16);okno1(9,12);
|
||
DoOnVector(12,0);okno1(9,12);
|
||
end;
|
||
begin
|
||
TaskText('Задание p4. Составить процедуру BigHouse и начертить два дома. Использовать процедуру Win');
|
||
Field(83,70);
|
||
DoToPoint(4,4);rect(56,33);
|
||
DoToPoint(2,60);rect(2,37);
|
||
DoToPoint(10,4);dom3;
|
||
DoToPoint(46,4);rect(56,33);
|
||
DoToPoint(44,60);rect(2,37);
|
||
DoToPoint(52,4);dom3;
|
||
end;
|
||
|
||
procedure pp1;
|
||
begin
|
||
TaskText('Задание pp1. Начертить квадраты, составив процедуру Square(a)');
|
||
Field(16,11);
|
||
DoToPoint(2,1); kDoOnVector(1);
|
||
DoToPoint(8,8); kDoOnVector(2);
|
||
DoToPoint(3,4); kDoOnVector(3);
|
||
DoToPoint(10,2); kDoOnVector(4);
|
||
end;
|
||
|
||
procedure pp2;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание pp2. Начертить, используя процедуру Square(a)');
|
||
Field(21,10);
|
||
DoToPoint(2,1);
|
||
for i:=1 to 8 do
|
||
kDoOnVector(i);
|
||
DoToPoint(18,8);
|
||
for i:=1 to 8 do
|
||
begin
|
||
kDoOnVector(i);
|
||
DoOnVector(-1,-1);
|
||
end;
|
||
end;
|
||
|
||
procedure pp3;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание pp3. Начертить, используя процедуру Square(a)');
|
||
Field(30,16);
|
||
DoToPoint(1,1);
|
||
for i:=1 to 7 do
|
||
begin
|
||
kDoOnVector(i);
|
||
DoOnVector(i,1);
|
||
end;
|
||
end;
|
||
|
||
procedure pp4;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание pp4. Начертить, используя процедуру Square(a)');
|
||
Field(30,20);
|
||
DoToPoint(14,9);
|
||
for i:=1 to 8 do
|
||
begin
|
||
kDoOnVector(2*i-1);
|
||
DoOnVector(-1,-1)
|
||
end;
|
||
end;
|
||
|
||
procedure pp5;
|
||
begin
|
||
TaskText('Задание pp5. Начертить, составив процедуру Rect(w,h), где w - ширина, а h - высота прямоугольника');
|
||
Field(18,12);
|
||
DoToPoint(2,1);rect(2,5);
|
||
DoToPoint(12,3);rect(3,4);
|
||
DoToPoint(4,6);rect(4,3);
|
||
DoToPoint(9,4);rect(5,1);
|
||
end;
|
||
|
||
procedure pp6;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание pp6. Начертить, используя процедуру Rect(w,h)');
|
||
Field(16,16);
|
||
DoToPoint(2,2);
|
||
for i:=1 to 12 do
|
||
begin
|
||
rect(i,1);
|
||
DoOnVector(1,0);
|
||
end
|
||
end;
|
||
|
||
procedure pp7;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание pp7. Начертить, используя процедуру Rect(w,h)');
|
||
Field(30,9);
|
||
DoToPoint(1,1);
|
||
for i:=1 to 7 do
|
||
begin
|
||
rect(8-i,i);
|
||
DoOnVector(i,0);
|
||
end
|
||
end;
|
||
|
||
procedure pp8;
|
||
procedure elka(aa: integer);
|
||
var i: integer;
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(0,aa+1);
|
||
for i:=1 to aa do
|
||
begin
|
||
line(-1,-1);
|
||
line(1,-1);
|
||
DoOnVector(0,-1);
|
||
end;
|
||
DoOnVector(0,-1);
|
||
end;
|
||
var j: integer;
|
||
begin
|
||
TaskText('Задание pp8. Начертить, составив процедуру Fir(h), где h - высота елки');
|
||
Field(28,14);
|
||
DoToPoint(2,1);
|
||
for j:=1 to 9 do
|
||
begin
|
||
elka(2+j);
|
||
DoOnVector(3,0);
|
||
end
|
||
end;
|
||
|
||
procedure pp9;
|
||
procedure tri1(d: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(-d,-d);
|
||
DoOnVector(2*d,0);
|
||
DoOnVector(-d,d);
|
||
DoPenUp;
|
||
end;
|
||
var j: integer;
|
||
begin
|
||
TaskText('Задание pp9. Начертить, составив процедуру Tri(h), где h - высота треугольника. Рисование треугольника начинать с верхней точки');
|
||
Field(14,17);
|
||
DoToPoint(7,16);
|
||
for j:=1 to 5 do
|
||
begin
|
||
tri1(j);
|
||
DoOnVector(0,-j);
|
||
end
|
||
end;
|
||
|
||
procedure pp10;
|
||
procedure tri1(d: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(-d,-d);
|
||
DoOnVector(2*d,0);
|
||
DoOnVector(-d,d);
|
||
DoPenUp;
|
||
end;
|
||
procedure elka1(dd: integer);
|
||
var j: integer;
|
||
begin
|
||
for j:=1 to dd do
|
||
begin
|
||
tri1(j);
|
||
DoOnVector(0,-j);
|
||
end
|
||
end;
|
||
begin
|
||
TaskText('Задание pp10. Используя процедуру Tri(a), составьте процедуру Fir1(n), где n - количество прямоугольников, образующих елку');
|
||
Field(30,17);
|
||
DoToPoint(5,11);
|
||
elka1(4);
|
||
DoToPoint(16,16);
|
||
elka1(5);
|
||
DoToPoint(26,7);
|
||
elka1(3);
|
||
end;
|
||
|
||
procedure pp11;
|
||
begin
|
||
TaskText('Задание pp11. Начертить, составив процедуру Triangle(a,b), где a и b - длины горизонтального и вертикального катетов');
|
||
Field(26,11);
|
||
DoToPoint(2,2);tri(3,5);DoToPoint(7,2);tri(2,7);DoToPoint(11,2);tri(4,3);DoToPoint(17,2);tri(7,4);
|
||
end;
|
||
|
||
procedure pp12;
|
||
begin
|
||
TaskText('Задание pp12. Начертить, используя процедуру Triangle(a,b) с a=+3,-3; b=+5,-5');
|
||
Field(21,9);
|
||
DoToPoint(2,2); tri(3,5);
|
||
DoOnVector(8,0); tri(-3,5);
|
||
DoOnVector(1,5); tri(3,-5);
|
||
DoOnVector(8,0); tri(-3,-5);
|
||
end;
|
||
|
||
procedure pp13;
|
||
procedure sn(x,y: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(x,3*y);
|
||
DoOnVector(0,-y);
|
||
DoOnVector(x,y);
|
||
DoOnVector(-x,-2*y);
|
||
DoOnVector(2*x,y);
|
||
DoOnVector(-x,-y);
|
||
DoOnVector(x,0);
|
||
DoOnVector(-3*x,-y);
|
||
DoPenUp;
|
||
end;
|
||
begin
|
||
TaskText('Задание pp13. Начертить, составив процедуру рисования лепестка. Использовать идею зеркального отражения');
|
||
Field(19,11);
|
||
DoToPoint(5,6);sn(1,1);sn(1,-1);sn(-1,1);sn(-1,-1);
|
||
DoToPoint(14,6);sn(1,1);
|
||
DoOnVector(-1,0);sn(-1,1);
|
||
DoOnVector(0,-1);sn(-1,-1);
|
||
DoOnVector(1,0);sn(1,-1);
|
||
end;
|
||
|
||
procedure pp14;
|
||
procedure horiz(w,h: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=1 to h do
|
||
rect(i,w);
|
||
end;
|
||
begin
|
||
TaskText('Задание pp14. Начертить, составив процедуру Horiz(w,h), где w - ширина, а h - высота заштрихованного прямоугольника');
|
||
Field(17,13);
|
||
DoToPoint(2,2); horiz(8,5);
|
||
DoToPoint(12,4); horiz(3,4);
|
||
DoToPoint(5,8); horiz(5,3);
|
||
end;
|
||
|
||
procedure pp15;
|
||
procedure vert(w,h: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=1 to w do
|
||
rect(h,i);
|
||
end;
|
||
begin
|
||
TaskText('Задание pp15. Начертить, составив процедуру Vert(w,h), где w - ширина, а h - высота заштрихованного прямоугольника');
|
||
Field(17,13);
|
||
DoToPoint(2,2); vert(8,5);
|
||
DoToPoint(12,4); vert(3,4);
|
||
DoToPoint(5,8); vert(5,3);
|
||
end;
|
||
|
||
procedure pp16;
|
||
procedure setka(aa,bb: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=0 to aa do
|
||
begin
|
||
line(bb,0);
|
||
DoOnVector(0,1);
|
||
end;
|
||
DoOnVector(0,-aa-1);
|
||
for i:=0 to bb do
|
||
begin
|
||
line(0,aa);
|
||
DoOnVector(1,0);
|
||
end;
|
||
end;
|
||
begin
|
||
TaskText('Задание pp16. Начертить, составив процедуру Setka(w,h), где w - ширина, а h - высота заштрихованного прямоугольника');
|
||
Field(21,15);
|
||
DoToPoint(1,1);setka(5,7);
|
||
DoToPoint(2,7);setka(3,8);
|
||
DoToPoint(9,2);setka(2,4);
|
||
DoToPoint(12,6);setka(8,8);
|
||
end;
|
||
|
||
procedure pp17;
|
||
procedure spir(a: integer);
|
||
var i,j: integer;
|
||
begin
|
||
DoPenDown;
|
||
i:=1;
|
||
for j:=1 to a do
|
||
begin
|
||
DoOnVector(i,0);
|
||
DoOnVector(0,i);
|
||
i:=i+1;
|
||
DoOnVector(-i,0);
|
||
DoOnVector(0,-i);
|
||
i:=i+1;
|
||
end;
|
||
DoPenUp;
|
||
end;
|
||
begin
|
||
TaskText('Задание pp17. Начертить, составив процедуру Spir(n), где n - количество витков спирали. Рисование спирали начинать из ее центра');
|
||
Field(26,14);
|
||
DoToPoint(7,7); spir(5);
|
||
DoToPoint(20,6); spir(4);
|
||
end;
|
||
|
||
procedure pp18;
|
||
begin
|
||
TaskText('Задание pp18. Начертить цифры почтового индекса, составив процедуру Digit(n). Использовать процедуры из задания DMp1');
|
||
Field(23,12);
|
||
DoToPoint(2,2);
|
||
DoOnVector(1,1);DoPenDown;DoOnVector(-1,0);DoOnVector(0,1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoPenUp;DoOnVector(1,2);
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(0,-2);DoOnVector(-1,0);DoOnVector(0,2);DoOnVector(0,-1);DoOnVector(1,0);DoPenUp;DoOnVector(0,1);
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(0,-1);DoPenUp;DoOnVector(1,2);
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,0);DoPenDown;DoOnVector(-1,-1);DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,1);DoOnVector(-1,0);DoOnVector(1,1);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,0);DoPenDown;DoOnVector(-1,0);DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,0);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(0,2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(1,0);DoOnVector(-1,-1);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoOnVector(1,0);DoPenUp;DoOnVector(0,2);
|
||
DoOnVector(1,0);
|
||
DoOnVector(0,-1);DoPenDown;DoOnVector(1,1);DoOnVector(0,-2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(0,2);DoOnVector(1,0);DoOnVector(0,-2);DoOnVector(-1,0);DoPenUp;
|
||
DoToPoint(2,6);
|
||
DoPenDown;DoOnVector(1,1);DoOnVector(0,-2);DoPenUp;
|
||
DoOnVector(1,2);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(1,0);DoOnVector(-1,-1);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,2);DoPenDown;DoOnVector(-1,0);DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,0);DoPenUp;DoOnVector(1,0);
|
||
DoOnVector(1,2);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(-1,-1);DoOnVector(0,-1);DoPenUp;DoOnVector(1,2);
|
||
DoOnVector(1,-2);
|
||
DoOnVector(1,1);DoPenDown;DoOnVector(-1,0);DoOnVector(0,1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoPenUp;DoOnVector(1,2);
|
||
DoToPoint(2,10);
|
||
DoOnVector(0,-2);
|
||
DoPenDown;DoOnVector(0,2);DoOnVector(1,0);DoOnVector(0,-2);DoOnVector(-1,0);DoPenUp;
|
||
DoOnVector(2,2);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(-1,-1);DoOnVector(1,0);DoPenUp;DoOnVector(0,2);
|
||
DoOnVector(1,-2);
|
||
DoOnVector(0,2);DoPenDown;DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,-1);DoOnVector(0,2);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoOnVector(1,0);DoPenDown;DoOnVector(-1,-1);DoOnVector(0,-1);DoOnVector(1,0);DoOnVector(0,1);DoOnVector(-1,0);DoOnVector(1,1);DoPenUp;
|
||
DoOnVector(1,0);
|
||
DoPenDown;DoOnVector(1,0);DoOnVector(0,-2);DoOnVector(-1,0);DoOnVector(0,2);DoOnVector(0,-1);DoOnVector(1,0);DoPenUp;DoOnVector(0,1);
|
||
end;
|
||
|
||
procedure pp19;
|
||
procedure rect1(a1,b1: integer);
|
||
begin
|
||
rect(b1,a1);
|
||
end;
|
||
procedure win(a,b,w: integer);
|
||
var b2: integer;
|
||
begin
|
||
b2:=b-a-w;
|
||
rect1(2*a+3*w,b+2*w);
|
||
DoOnVector(w,w);
|
||
rect1(a,b);
|
||
DoOnVector(a+w,0);
|
||
rect1(a,b2);
|
||
DoOnVector(0,b2+w);
|
||
rect1(a,a);
|
||
DoOnVector(-a-2*w,-b2-2*w);
|
||
end;
|
||
begin
|
||
TaskText('Задание pp19. Начертить, составив процедуру Win(a,b,w), где a,b - размеры большего стекла, w - ширина рамы');
|
||
Field(36,21);
|
||
DoToPoint(2,2);
|
||
win(3,10,1);
|
||
DoToPoint(13,2);
|
||
win(3,13,2);
|
||
DoToPoint(27,2);
|
||
win(2,7,1);
|
||
end;
|
||
|
||
procedure examen1;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание examen1. Начертить, используя процедуру с параметром Triangle(a)');
|
||
Field(28,10);
|
||
DoToPoint(1,2);
|
||
for i:=1 to 6 do
|
||
begin
|
||
tri(i,i);
|
||
DoOnVector(i+1,0);
|
||
end
|
||
end;
|
||
|
||
procedure examen2;
|
||
procedure gaz(n: integer);
|
||
var j: integer;
|
||
begin
|
||
for j:=1 to n do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(2,0);
|
||
DoOnVector(-1,1);
|
||
DoOnVector(-1,-1);
|
||
DoOnVector(2,0);
|
||
DoPenUp;
|
||
end;
|
||
end;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание examen2. Начертить, используя процедуру с параметром Gazon(n)');
|
||
Field(31,17);
|
||
for i:=1 to 7 do
|
||
begin
|
||
DoToPoint(1,2*i);
|
||
gaz(2*i);
|
||
end
|
||
end;
|
||
|
||
procedure examen3;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание examen3. Начертить, используя процедуру с параметром Stolb(h)');
|
||
Field(20,20);
|
||
DoToPoint(1,1);
|
||
for i:=1 to 9 do
|
||
begin
|
||
rect(2*i,1);
|
||
DoOnVector(2,0);
|
||
end
|
||
end;
|
||
|
||
procedure examen4;
|
||
procedure ttt(i: integer);
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(i,i);
|
||
DoOnVector(-2*i,0);
|
||
DoOnVector(i,-i);
|
||
DoPenUp;
|
||
end;
|
||
var j: integer;
|
||
begin
|
||
TaskText('Задание examen4. Начертить, используя процедуру с параметром Tri(a)');
|
||
Field(30,18);
|
||
DoToPoint(15,1);
|
||
for j:=1 to 8 do
|
||
begin
|
||
ttt(j);
|
||
DoOnVector(0,1);
|
||
end
|
||
end;
|
||
|
||
procedure examen5;
|
||
procedure zab(n: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=1 to n do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(0,2);
|
||
DoOnVector(0,-2);
|
||
DoPenUp;
|
||
DoOnVector(1,0);
|
||
end;
|
||
end;
|
||
begin
|
||
TaskText('Задание examen5. Начертить, используя процедуру с параметром Palki(n)');
|
||
Field(23,14);
|
||
DoToPoint(2,2);
|
||
zab(10);
|
||
DoToPoint(2,6);
|
||
zab(15);
|
||
DoToPoint(2,10);
|
||
zab(20);
|
||
end;
|
||
|
||
procedure examen6;
|
||
var i: integer;
|
||
begin
|
||
TaskText('Задание examen6. Начертить, используя процедуру с параметрами Rect(a,b)');
|
||
Field(30,10);
|
||
DoToPoint(2,2);
|
||
for i:=1 to 6 do
|
||
begin
|
||
rect(7-i,i);
|
||
DoOnVector(i+1,0);
|
||
end
|
||
end;
|
||
|
||
procedure examen7;
|
||
procedure zab1(n: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=1 to n do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(0,2);
|
||
DoOnVector(1,1);
|
||
DoOnVector(1,-1);
|
||
DoOnVector(0,-2);
|
||
DoPenUp;
|
||
DoOnVector(1,0);
|
||
end;
|
||
end;
|
||
begin
|
||
TaskText('Задание examen7. Начертить, используя процедуру с параметром Zabor(n)');
|
||
Field(27,19);
|
||
DoToPoint(2,2); zab1(5);
|
||
DoToPoint(2,6); zab1(6);
|
||
DoToPoint(2,10); zab1(7);
|
||
DoToPoint(2,14); zab1(8);
|
||
end;
|
||
|
||
procedure examen8;
|
||
procedure veer1(n: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=0 to n do
|
||
begin
|
||
DoPenDown;
|
||
DoOnVector(i,n-i);
|
||
DoOnVector(-i,-n+i);
|
||
DoPenUp;
|
||
end;
|
||
end;
|
||
begin
|
||
TaskText('Задание examen8. Начертить, используя процедуру с параметром Veer(n)');
|
||
Field(20,12);
|
||
DoToPoint(2,2);
|
||
veer1(6);
|
||
DoToPoint(10,2);
|
||
veer1(8);
|
||
end;
|
||
|
||
procedure examen9;
|
||
procedure row(n: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=1 to n do
|
||
begin
|
||
kDoOnVector(1);
|
||
DoOnVector(2,0);
|
||
end;
|
||
end;
|
||
begin
|
||
TaskText('Задание examen9. Начертить, используя процедуру row(n)');
|
||
Field(27,11);
|
||
DoToPoint(2,2); row(6);
|
||
DoToPoint(2,4); row(8);
|
||
DoToPoint(2,6); row(10);
|
||
DoToPoint(2,8); row(12);
|
||
end;
|
||
|
||
procedure examen10;
|
||
procedure vert(w,h: integer);
|
||
var i: integer;
|
||
begin
|
||
for i:=1 to w do
|
||
rect(h,i);
|
||
end;
|
||
begin
|
||
TaskText('Задание examen10. Начертить, составив процедуру Vert(w,h), где w - высота, h - ширина');
|
||
Field(17,13);
|
||
DoToPoint(2,2); vert(6,4);
|
||
DoToPoint(12,4); vert(3,5);
|
||
DoToPoint(4,8); vert(5,2);
|
||
end;
|
||
|
||
procedure zzz;
|
||
begin
|
||
Field(10,2);
|
||
TaskText('Задание c1. Закрасить помеченные клетки');
|
||
end;
|
||
|
||
var __initialized := false;
|
||
var __finalized := false;
|
||
|
||
procedure __InitModule__;
|
||
begin
|
||
if not __initialized then
|
||
begin
|
||
__initialized := true;
|
||
DrawManField.__InitModule__;
|
||
DMTaskMaker.__InitModule__;
|
||
end;
|
||
end;
|
||
|
||
procedure __FinalizeModule__;
|
||
begin
|
||
if not __finalized then
|
||
begin
|
||
__finalized := true;
|
||
DrawManField.__FinalizeModule__;
|
||
DMTaskMaker.__FinalizeModule__;
|
||
end;
|
||
end;
|
||
|
||
initialization
|
||
|
||
finalization
|
||
end. |