W Cat - Описание языка PascalABC.NET

Здесь есть возможность читать онлайн «W Cat - Описание языка PascalABC.NET» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, Детская образовательная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Описание языка PascalABC.NET: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Описание языка PascalABC.NET»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.

Описание языка PascalABC.NET — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Описание языка PascalABC.NET», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Добавление нового задания

Добавим к нашей группе новое задание. Фактически это задание будет дублировать задание Begin3, однако вместо импортирования этого задания мы разработаем его самостоятельно. Все действия по созданию нового задания удобно реализовать во вспомогательной процедуре, которую можно назвать MakerDemo3 (таким образом, название процедуры будет соответствовать имени создаваемого задания, хотя это и не является обязательным):

procedure MakerDemo3;

var

a, b: real;

begin

CreateTask('Ввод и вывод данных, оператор присваивания');

TaskText('Даны стороны прямоугольника~{a} и~{b}.', 0, 2);

TaskText('Найти его площадь {S}~=~{a}\*{b} и периметр {P}~=~2\*({a}\;+\;{b}).',

0, 4);

a := RandomN(1, 99) / 10;

b := RandomN(1, 99) / 10;

DataR('a = ', a, xLeft, 3, 4);

DataR('b = ', b, xRight, 3, 4);

ResultR('S = ', a * b, 0, 2, 4);

ResultR('P = ', 2 * (a + b), 0, 4, 4);

SetTestCount(3);

end;

Описание процедуры MakerDemo3 (как и описания всех других процедур, обеспечивающих формирование новых заданий) следует разместить перед описанием процедуры InitTask.

Процедура MakerDemo3 включает все основные действия, используемые при формировании нового задания:

инициализацию нового задания (процедура CreateTask; мы указали в этой процедуре, что данное задание должно входить в подгруппу Ввод и вывод данных, оператор присваивания", т. е. в ту же подгруппу, что и два предыдущих задания); определение его формулировки (процедуры TaskText; обратите внимание на используемые в этих процедурах управляющие последовательности); определение исходных (процедуры DataR) и результирующих данных (процедуры ResultR); при этом исходные данные генерируются с помощью датчика случайных чисел (процедура RandomN); указание количества успешных тестовых запусков программы учащегося, достаточных для регистрации задания как выполненного (процедура SetTestCount; для нашего простого задания достаточно трех проведенных подряд успешных тестовых запусков). Необходимо также включить вызов созданной процедуры в основную процедуру группы MakerDemo, связав его с номером 3:

procedure InitTask(num: integer);

begin

case num of

1..2: UseTask('Begin', num);

3: MakerDemo3;

end;

end;

Наконец, следует откорректировать число заданий в вызове процедуры CreateGroup, изменив его на 3.

Запустив тестирующую программу, мы увидим в html-описании группы MakerDemo формулировки трех заданий, а выполнив обратную замену в этой программе символа #" на "?" (в результате вызов процедуры Task опять примет вид Task('MakerDemo?')) и повторно запустив программу на выполнение, мы увидим окно задачника с загруженным заданием MakerDemo3. Заметим, что при последующих запусках проекта мы будем получать в окне задачника различные исходные данные; это связано с тем, что при генерации исходных данных используется датчик случайных чисел.

Добавление заданий на обработку двумерных массивов и символьных строк

Добавим к группе MakerDemo еще два задания: первое из них дублирует задание Matrix7 (подгруппа Двумерные массивы (матрицы): вывод элементов"), а второе не имеет полного аналога в группе String, однако может быть отнесено к ее первой подгруппе: "Символы и строки: основные операции". Реализуем эти задания в процедурах MakerDemo4 и MakerDemo5:

procedure MakerDemo4;

var

m, n, i, j, k: integer;

a: array [1..5, 1..8] of real;

begin

CreateTask('Двумерные массивы (матрицы): вывод элементов');

TaskText('Дана матрица размера~{M}\;\x\;{N} и целое число~{K} (1~\l~{K}~\l~{M}).',

0, 2);

TaskText('Вывести элементы {K}-й строки данной матрицы.', 0, 4);

m := RandomN(2, 5);

n := RandomN(4, 8);

k := 1;

if m = 5 then k := 0;

DataN('M = ', m, 3, 1, 1);

DataN('N = ', n, 10, 1, 1);

for i := 1 to m do

for j := 1 to n do

begin

a[i, j] := RandomR(-9.99, 9.99);

DataR(a[i,j], Center(j, n, 5, 1), i + k, 5);

end;

k := RandomN(1, m);

DataN('K = ', k, 68, 5, 1);

for j := 1 to n do

ResultR(a[k, j], Center(j, n, 5, 1), 3, 5);

SetTestCount(5);

end;

procedure MakerDemo5;

var

s: string;

begin

CreateTask('Символы и строки: основные операции');

TaskText('Дана непустая строка~{S}.', 0, 2);

TaskText('Вывести ее первый и последний символ.', 0, 4);

s := WordSample(RandomN(0, WordCount-1));

if CurrentTest = 3 then

while s[1] = s[Length(s)] do

s := WordSample(RandomN(0, WordCount-1));

DataS('S = ', s, 0, 3);

ResultC('Первый символ: ', s[1], xLeft, 3);

ResultC('Последний символ: ', s[Length(s)], xRight, 3);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Описание языка PascalABC.NET»

Представляем Вашему вниманию похожие книги на «Описание языка PascalABC.NET» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Catie Disabato - The Ghost Network
Catie Disabato
Отзывы о книге «Описание языка PascalABC.NET»

Обсуждение, отзывы о книге «Описание языка PascalABC.NET» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x