Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ОписаниС языка PascalABC.NETΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 78

Автор W Cat

VerticalWall(5,1,5);

HorizontalWall(5,1,4);

RobotEnd(6,2);

Tag(6,2);

end;

begin

RegisterGroup('myrob','Мои задания для Π ΠΎΠ±ΠΎΡ‚Π°','RobTasks',2);

RegisterTask('myrob1',FirstRob);

end.

НабСрСм ΠΈ запустим ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π΅ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ»Π΅ Π½Π΅ трСбуСтся):

uses Robot, RobTasks;

begin

Task('myrob1');

end.

Π‘ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ для Π ΠΎΠ±ΠΎΡ‚Π°:

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ конфигурация поля случайна:

procedure SecondRob;

var n,i: integer;

begin

TaskText('Π—Π°Π΄Π°Π½ΠΈΠ΅ myrob2. Π—Π°ΠΊΡ€Π°ΡΠΈΡ‚ΡŒ ΠΊΠ»Π΅Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ');

n:=Random(4)+7;

Field(n,4);

RobotBeginEnd(1,3,n,3);

MarkPainted(n,2);

Tag(n,3);

for i:=2 to n-1 do

if Random(3)=1 then

begin

MarkPainted(i,2);

Tag(i,3);

end;

end;

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ рСгистрации для Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания; Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сСкция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

begin

RegisterGroup('myrob','Мои задания для Π ΠΎΠ±ΠΎΡ‚Π°','RobTasks',2);

RegisterTask('myrob1',FirstRob);

RegisterTask('myrob2',SecondRob);

end.

ИзмСним ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

uses Robot, RobTasks;

begin

Task('myrob2');

end.

ΠŸΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠΊΠ½Π΅ исполнитСля Π ΠΎΠ±ΠΎΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅:

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ DMTasks созданная Π½Π°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° Π±Ρ‹Π»Π° автоматичСски зарСгистрирована Π² мастСрС ΠΏΠΎ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΊ PT4Load. Если Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ Π² появившСмся ΠΎΠΊΠ½Π΅ PT4Load ввСсти прСфикс RB Π² ΠΏΠΎΠ»Π΅ Π—Π°Π΄Π°Π½ΠΈΠ΅", Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π³Ρ€ΡƒΠΏΠΏΠ° Π·Π°Π΄Π°Π½ΠΈΠΉ myrob появилась Π² спискС доступных Π³Ρ€ΡƒΠΏΠΏ для исполнитСля Π ΠΎΠ±ΠΎΡ‚. НабСрСм имя задания myrob1:

ПослС наТатия Enter Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» RBmyrob1.pas со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

uses Robot, RobTasks;

begin

Task('myrob1');

end.

МоТно ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ собствСнноручно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ :)

ΠœΠΎΠ΄ΡƒΠ»ΡŒ DMTaskMaker

Π’ΠΈΠΏΡ‹ модуля DMTaskMaker

type TaskProcType = procedure;

Π’ΠΈΠΏ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. КаТдоС Π·Π°Π΄Π°Π½ΠΈΠ΅ рСализуСтся Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹; для связывания этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ с ΠΈΠΌΠ΅Π½Π΅ΠΌ задания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ RegisterTask, ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡƒΡŽ Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ модуля DMTaskMaker

procedure Field(szx,szy: integer);

Π—Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅ Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° szx Π½Π° szy ΠΊΠ»Π΅Ρ‚ΠΎΠΊ.

procedure DoToPoint(x,y: integer);

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€ΠΎ Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°-постановщика Π·Π°Π΄Π°Π½ΠΈΠΉ Π² Ρ‚ΠΎΡ‡ΠΊΡƒ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (x, y).

procedure DoOnVector(dx,dy: integer);

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€ΠΎ Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°-постановщика Π·Π°Π΄Π°Π½ΠΈΠΉ Π² Ρ‚ΠΎΡ‡ΠΊΡƒ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ (x, y).

procedure DoPenUp;

ΠŸΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€ΠΎ Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°-постановщика Π·Π°Π΄Π°Π½ΠΈΠΉ.

procedure DoPenDown;

ΠžΠΏΡƒΡΠΊΠ°Π΅Ρ‚ ΠΏΠ΅Ρ€ΠΎ Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°-постановщика Π·Π°Π΄Π°Π½ΠΈΠΉ.

procedure TaskText(s: string);

Π—Π°Π΄Π°Π΅Ρ‚ имя ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ задания Π² строкС s.

procedure RegisterGroup(name,description,unitname: string; count: integer);

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ PT4Load. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ имя Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΎΠΊΠ½Π΅ модуля PT4Load Π² спискС Π³Ρ€ΡƒΠΏΠΏ, связанных с исполнитСлСм Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ-Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ для выполнСния любого задания этой Π³Ρ€ΡƒΠΏΠΏΡ‹. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ указываСтся имя Π³Ρ€ΡƒΠΏΠΏΡ‹ name, ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Π³Ρ€ΡƒΠΏΠΏΡ‹ description, имя модуля unitname, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описана Π³Ρ€ΡƒΠΏΠΏΠ°, ΠΈ количСство Π·Π°Π΄Π°Π½ΠΈΠΉ count. Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 7 символов (Ρ†ΠΈΡ„Ρ€ ΠΈ латинских Π±ΡƒΠΊΠ²) ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ†ΠΈΡ„Ρ€ΠΎΠΉ, количСство Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 999. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° RegisterGroup Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² сСкции ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля, содСрТащСго Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ для Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°.

RegisterTask(name: string; p: TaskProcType);


БвязываСт имя задания name с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ p, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅. Π”Π°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ слСдуСт Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ задания. Подобно описанной Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ RegisterGroup, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° RegisterTask Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² сСкции ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ модуля, содСрТащСго Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½ΠΎΠ²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ для Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Π²Ρ‹Π·ΠΎΠ²Π° этих ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΠΉ для исполнитСля Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊ

ОпишСм ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ создания Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ для исполнитСля Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ DMTasks.pas со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ тСкстом:

unit DMTasks;

interface

uses DMTaskMaker;

implementation

procedure FirstDM;

var i,a: integer;

begin

TaskText('Π—Π°Π΄Π°Π½ΠΈΠ΅ mydm1. НачСртитС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†ΠΈΠΊΠ»');

Field(14,8);

DoToPoint(7,7);

a:=6;

for i:=1 to 6 do

begin

DoPenDown;

DoOnVector(a,-a);

DoOnVector(-a,a);

DoOnVector(-a,-a);

DoOnVector(a,a);

Dec(a);

DoPenUp;

DoOnVector(0,-1);

end;

end;

begin

RegisterGroup('mydm','Мои задания для Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°','DMTasks',2);

RegisterTask('mydm1',FirstDM);

end.

НабСрСм ΠΈ запустим ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ (ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π΅ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ Ρ„Π°ΠΉΠ»Π΅ Π½Π΅ трСбуСтся):

uses Drawman, DMTasks;

begin

Task('mydm1');

end.

Π‘ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ для Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°:

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹:

procedure DoCross;

begin

DoPenDown;

DoOnVector(1,0); DoOnVector(0,-1);

DoOnVector(1,0); DoOnVector(0,-1);

DoOnVector(-1,0); DoOnVector(0,-1);

DoOnVector(-1,0); DoOnVector(0,1);

DoOnVector(-1,0); DoOnVector(0,1);

DoOnVector(1,0); DoOnVector(0,1);

DoPenUp;

end;

procedure SecondDM;

begin

TaskText('Π—Π°Π΄Π°Π½ΠΈΠ΅ mydm2. НачСртитС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Cross');

Field(18,12);

DoToPoint(3,8);

DoCross;

DoToPoint(8,4);

DoCross;

DoToPoint(12,11);

DoCross;

DoToPoint(15,6);

DoCross;

end;

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ рСгистрации для Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания; Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ сСкция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

begin

RegisterGroup('mydm','Мои задания для Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊΠ°','DMTasks',2);

RegisterTask('mydm1',FirstDM);

RegisterTask('mydm2',SecondDM);

end.

ИзмСним ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ:

uses Drawman, DMTasks;

begin

Task('mydm2');

end.

ΠŸΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠΊΠ½Π΅ исполнитСля Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅:

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ DMTasks созданная Π½Π°ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° Π±Ρ‹Π»Π° автоматичСски зарСгистрирована Π² мастСрС ΠΏΠΎ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ-Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΊ PT4Load. Если Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ Π² появившСмся ΠΎΠΊΠ½Π΅ PT4Load ввСсти прСфикс DM Π² ΠΏΠΎΠ»Π΅ Π—Π°Π΄Π°Π½ΠΈΠ΅", Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄:

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π³Ρ€ΡƒΠΏΠΏΠ° Π·Π°Π΄Π°Π½ΠΈΠΉ mydm появилась Π² спискС доступных Π³Ρ€ΡƒΠΏΠΏ для исполнитСля Π§Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΈΠΊ. НабСрСм имя задания mydm1:

ПослС наТатия клавиши Enter Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» DMmydm1.pas со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

uses Drawman, DMTasks;

begin

Task('mydm1');

end.

МоТно ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ :)

ΠœΠΎΠ΄ΡƒΠ»ΡŒ PT4TaskMakerNET: ΠΎΠ±Ρ‰Π΅Π΅ описаниС

НазначСниС ΠΈ состав конструктора ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ PT4TaskMaker позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ для элСктронного Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ° Programming Taskbook.

Начиная с вСрсии 4.11, Π½ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ, доступныС для всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠΎΠΌ срСд, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° языкС Pascal, Π½ΠΎ ΠΈ Π½Π° языках C++ ΠΈ C#, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ конструктор для языка Pascal ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² срСдС PascalABC.NET. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ для срСды PascalABC.NET Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ модуля PT4TaskMakerNET.

КаТдая Π³Ρ€ΡƒΠΏΠΏΠ° ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ оформляСтся Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ динамичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (dll-Ρ„Π°ΠΉΠ»Π°). Dll-Ρ„Π°ΠΉΠ»Ρ‹ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ учащСгося, Π»ΠΈΠ±ΠΎ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Lib систСмного ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ°. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ происходит автоматичСски ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ задания, поэтому Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°-Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ Π½Π΅ отличаСтся ΠΎΡ‚ стандартного Π²ΠΈΠ΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ автоматичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² список доступных Π³Ρ€ΡƒΠΏΠΏ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… модулях PT4Demo ΠΈ PT4Load. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ dll-Ρ„Π°ΠΉΠ»ΠΎΠ² Π½ΠΎΠ²Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π»ΡŽΠ±Ρ‹Ρ… срСдах программирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π·Π°Π΄Π°Ρ‡Π½ΠΈΠΊΠ°, Π½ΠΎ ΠΈ Π² срСдС PascalABC.NET; для этого достаточно Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ dll-Ρ„Π°ΠΉΠ» Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ PT4\Lib систСмного ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° PascalABC.NET ΠΈΠ»ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ учащСгося.

ΠžΠ±Π·ΠΎΡ€ элСмСнтов конструктора ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ прСдставляСт собой Π½Π°Π±ΠΎΡ€ констант, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для опрСдСлСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· входящих Π² Π³Ρ€ΡƒΠΏΠΏΡƒ Π·Π°Π΄Π°Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ для настройки свойств Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ.