Результат выполнения этой программы будет следующим:
Красная звездочка, расположенная в конце выведенной строки, означает, что длина полученной строки превышает длину верной строки. Для того чтобы увидеть на экране всю полученную строку, достаточно подвести курсор мыши к строке со звездочкой; при этом полный текст строки появится во всплывающей подсказке:
Замечание.Красная звездочка может появиться и при выводе ошибочных числовых данных. Например, если ожидается целое число в диапазоне от 1 до 99, а получено число 10000, то на экране изобразится первая цифра этого большого числа, за которой будет указана красная звездочка: 1*.
Верное решение
Ошибка в предыдущей программе возникла из-за неверного указания количества итераций цикла. Действительно, на каждой итерации к строке добавляется по два символа, поэтому после n итераций строка будет содержать 2*n символов (а не n, как требуется в задании).
Для исправления ошибки достаточно вдвое уменьшить число итераций:
usesPT4;
var
n, i: integer;
c1, c2: char;
s: string;
begin
Task('String9');
read(n, c1, c2);
s := '';
fori := 1 ton div2 do
s := s + c1 + c2;
write(s);
end.
После запуска этого варианта мы получим сообщение Верное решение. Тест номер 1 (из 5 ) ", а после пяти подобных запусков -- сообщение " Задание выполнено! ":
Замечание.Приведем другой, более быстрый, способ решения задания String9, в котором результирующая строка заполняется посимвольно , как обычный массив:
usesPT4;
var
n, i: integer;
c1, c2: char;
s: string;
begin
Task('String9');
read(n, c1, c2);
SetLength(s, n);
fori := 1 ton div2 do
begin
s[2 * i - 1] := c1;
s[2 * i] := c2;
end;
write(s);
end.
Обратите внимание на процедуру SetLength(s, n), которая обеспечивает правильную настройку длины результирующей строки s. Без вызова этой процедуры программа работала бы неверно, так как любая глобальная строковая переменная инициализируется пустой строкой, а при работе с отдельными символами строки корректировка ее длины не производится.
Просмотр результатов выполнения задания
Щелкнув мышью на метке Результаты (F2)", расположенной в правом верхнем углу окна задачника, или нажав клавишу F2, мы можем вывести на экран окно результатов , в котором будет перечислены все наши попытки решения задачи:
String9 a08/09 11:17 Ознакомительный запуск.
String9 a08/09 11:18 Неверно указан тип при вводе исходных данных.
String9 a08/09 11:21 Выведены не все результирующие данные.
String9 a08/09 11:26 Ошибочное решение.
String9 a08/09 11:29 Задание выполнено!
Для закрытия окна результатов достаточно нажать клавишу Esc. Окно результатов можно отобразить на экране и после закрытия окна задачника и возврата в среду PascalABC.NET. Для этого надо использовать команду меню Модули | Просмотреть результаты", кнопку
или клавиатурную комбинацию Shift+Ctrl+R.
Задание на обработку файлов
Создание программы-заготовки и знакомство с заданием
В качестве примера задания на обработку файлов рассмотрим задание File48.
Напомним, что программу-заготовку для решения этого задания можно создать с помощью команды меню Модули | Создать шаблон программы", кнопки
или клавиатурной комбинации Shift+Ctrl+L. Эта заготовка будет иметь следующий вид:
usesPT4;
begin
Task('File48');
end.
После запуска данной программы на экране появится окно задачника:
В первой строке раздела исходных данных указаны имена трех исходных файлов (S A, S Bи S C) и одного результирующего (S D). В последующих строках раздела исходных данных показано содержимое исходных файлов. Элементы файлов отображаются бирюзовым цветом, чтобы подчеркнуть их отличие от обычных исходных данных (желтого цвета) и комментариев (светло-серого цвета).
Читать дальше