W Cat - Описание языка PascalABC.NET
- Название:Описание языка PascalABC.NET
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - Описание языка PascalABC.NET краткое содержание
PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.
Описание языка PascalABC.NET - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Возможность просмотра html-страниц с описанием текущей группы заданий добавлена и в программный модуль PT4Demo. Для этого предусмотрена кнопка (см. приведенный выше рисунок) и клавиша F2.
Модули констукторов заданий
Конструкторы проверяемых заданий: обзор
В системе PascalABC.NETможно создавать проверяемые задания для исполнителей Робот и Чертежник, а также для электронного задачника Programming Taskbook. Задания разрабатываются с помощью конструкторов RobotTaskMaker, DMTaskMakerи PT4TaskMaker; конструкторы RobotTaskMakerи DMTaskMakerреализованы в виде одноименных модулей, конструктор PT4TaskMakerреализован в виде модуля PT4TaskMakerNET. В данном разделе приводятся подробные описания каждого из конструкторов и примеры их использования для создания новых заданий:
Модуль RobotTaskMaker
Создание заданий для исполнителя Робот
Модуль DMTaskMaker
Создание заданий для исполнителя Чертежник
Модуль PT4TaskMakerNET: общее описание
Модуль PT4TaskMakerNET: основные компоненты
Модуль PT4TaskMakerNET: дополнительные компоненты
Модуль PT4TaskMakerNET: форматирование текста заданий
Модуль PT4TaskMakerNET: примеры разработки учебных заданий
Модуль PT4TaskMakerNET: разработка заданий, связанных с ЕГЭ по информатике
Модуль RobotTaskMaker
Типы модуля RobotTaskMaker
typeTaskProcType = procedure;
Тип процедуры, генерирующей конкретное задание. Каждое задание реализуется в виде отдельной процедуры; для связывания этой процедуры с именем задания необходимо использовать процедуру RegisterTask, описываемую ниже.
Процедуры модуля RobotTaskMaker |
procedureField(szx,szy: integer);
Задает поле Робота размера szx на szy клеток.
procedureHorizontalWall(x,y,len: integer);
Создает горизонтальную стену длины len и координатами левого верхнего угла (x, y).
procedureVerticalWall(x,y,len: integer);
Создает вертикальную стену длины len и координатами левого верхнего угла (x, y).
procedureRobotBegin(x,y: integer);
Задает начальное положение Робота в клетке с координатами (x, y).
procedureRobotEnd(x,y: integer);
Задает конечное положение Робота в клетке с координатами (x, y).
procedureRobotBeginEnd(x,y,x1,y1: integer);
Задает начальное положение Робота в клетке с координатами (x, y) и конечное в клетке с координатами (x1, y1).
procedureTag(x,y: integer);
Помечает клетку (x, y) для закрашивания.
procedureTagRect(x,y,x1,y1: integer);
Помечает прямоугольник из клеток, задаваемый координатами противоположных вершин прямоугольника (x, y) и (x1, y1), для закрашивания.
procedureMarkPainted(x,y: integer);
Закрашивает клетку (x, y) (в задании некоторые клетки могут быть уже закрашены).
procedureTaskText(s: string);
Задает формулировку текста задания в строке s.
procedureRegisterGroup(name,description,unitname: string; count: integer);
Обеспечивает автоматическую регистрацию новой группы заданий в программном модуле PT4Load. В результате имя данной группы будет отображаться в окне модуля PT4Loadв списке групп, связанных с исполнителем Робот, что позволит создать программу-заготовку для выполнения любого задания этой группы. В качестве параметров процедуры указывается имя группы name, краткое описание группы description, имя модуля unitname, в котором описана группа, и количество заданий count. Имя группы заданий должно содержать не более 7 символов (цифр и латинских букв) и не должно оканчиваться цифрой, количество заданий не должно превышать 999. Процедура RegisterGroup должна вызываться в секции инициализации модуля, содержащего реализацию новой группы заданий для Робота.
RegisterTask(name: string; p: TaskProcType);
Связывает имя задания name с процедурой p, в которой реализовано данное задание. Данную процедуру следует вызывать для каждого задания. Подобно описанной выше процедуре RegisterGroup, процедура RegisterTask должна вызываться в секции инициализации модуля, содержащего реализацию новой группы заданий для Робота. Порядок вызова этих процедур может быть произвольным.
Создание заданий для исполнителя Робот
Опишем последовательность создания группы заданий для исполнителя Робот. Создадим модуль RobTasks.pas со следующим текстом:
unitRobTasks;
interface
usesRobotTaskMaker;
implementation
procedureFirstRob;
begin
TaskText('Задание myrob1. Закрасить помеченные клетки');
Field(10,6);
HorizontalWall(0,3,4);
VerticalWall(4,3,2);
RobotBegin(1,4);
VerticalWall(5,1,5);
HorizontalWall(5,1,4);
RobotEnd(6,2);
Tag(6,2);
end;
begin
RegisterGroup('myrob','Мои задания для Робота','RobTasks',2);
RegisterTask('myrob1',FirstRob);
end.
Наберем и запустим основную программу (сохранять ее в каком-либо файле не требуется):
usesRobot, RobTasks;
begin
Task('myrob1');
end.
Будет выведено следующее задание для Робота:
Добавим задание, в котором конфигурация поля случайна:
procedureSecondRob;
varn,i: integer;
begin
TaskText('Задание myrob2. Закрасить клетки под закрашенными');
n:=Random(4)+7;
Field(n,4);
RobotBeginEnd(1,3,n,3);
MarkPainted(n,2);
Tag(n,3);
fori:=2 ton-1 do
ifRandom(3)=1 then
begin
MarkPainted(i,2);
Tag(i,3);
end;
end;
Добавим вызов процедуры регистрации для данного задания; в результате секция инициализации примет следующий вид:
begin
RegisterGroup('myrob','Мои задания для Робота','RobTasks',2);
RegisterTask('myrob1',FirstRob);
RegisterTask('myrob2',SecondRob);
end.
Изменим основную программу:
usesRobot, RobTasks;
begin
Task('myrob2');
end.
При запуске этой программы в окне исполнителя Робот будет выведено новое задание:
При первом запуске программы с подключенным модулем DMTasks созданная нами группа была автоматически зарегистрирована в мастере по созданию программ-заготовок PT4Load. Если теперь нажать кнопку и в появившемся окне PT4Loadввести префикс RB в поле Задание", то окно примет следующий вид:
Мы видим, что группа заданий myrob появилась в списке доступных групп для исполнителя Робот. Наберем имя задания myrob1:
Интервал:
Закладка: