ВУЗ:
Составители:
Рубрика:
51
символ # (в результате список параметров примет вид -gMakerDemo -n999) и по-
вторно запустив проект на выполнение, мы увидим окно задачника с загруженным
заданием MakerDemo3. Заметим, что при последующих запусках проекта мы будем
получать в окне задачника различные исходные данные; это связано с тем, что в про-
цедуре CreateTask автоматически вызывается процедура Randomize.
5.5. Добавление заданий на обработку двумерных
массивов и символьных строк
Добавим к группе 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 := 2 + Random(4);
n := 4 + Random(5);
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] := 9.98 * Random;
DataR('', a[i,j], Center(j, n, 4, 2), i + k, 4);
end;
k := 1 + Random(m);
dataN('K = ', k, 68, 5, 1);
for j := 1 to n do
ResultR('', a[k, j], Center(j, n, 4, 2), 3, 4);
end;
procedure MakerDemo5;
var
s: string;
begin
CreateTask('Символы и строки: основные операции');
TaskText('Дана строка~{S}.', 0, 2);
TaskText('Вывести ее первый и последний символ.', 0, 4);
s := WordSample(Random(WordCount));
DataS('S = ', s, 0, 3);
ResultC('Первый символ: ', s[1], xLeft, 3);
ResultC('Последний символ: ', s[length(s)], xRight, 3);
SetTestCount(4);
end;
Страницы
- « первая
- ‹ предыдущая
- …
- 49
- 50
- 51
- 52
- 53
- …
- следующая ›
- последняя »