Повторный щелчок мышью, нажатие клавиши Insили кнопки (на которой в данной ситуации будет отображаться стрелка, направленная вверх -- см. рисунок) восстанавливает сокращенное" отображение данных. Заметим, что в режиме "сокращенного" отображения нумеруется только первая строка данных, а в режиме полного отображения нумерацией снабжаются все строки.
Дополнительные возможности, связанные с просмотром данных большого размера, будут описаны далее, в пункте, посвященном задачам повышенной сложности.
Если закрыть окно задачника, находясь в режиме отображения всех данных, то при последующих запусках программы окно будет сразу отображаться в этом режиме.
Приведем вариант правильного решения данной задачи (в этом варианте учитывается, что результирующий двумерный массив имеет не более 10 строк и столбцов; соответствующее условие приведено в преамбуле к описанию группы ExamBegin):
usesPT4Exam;
var
m, n, i, j: integer;
d: real;
a: array[1..10, 1..10] of real;
begin
Task('ExamBegin28');
readln(m, n, d);
fori := 1 tom do
read(a[i, 1]);
forj := 2 ton do
fori := 1 tom do
a[i, j] := a[i, j - 1] + d;
fori := 1 tom do
begin
forj := 1 ton do
write(a[i, j]:7:2);
writeln;
end;
end.
В приведенном решении следует обратить особое внимание на организацию ввода-вывода. Укажем две особенности, связанные с вводом. Во-первых, несмотря на то что по условию число d находится во второй строке, мы смогли включить его в один список с предшествующими числами m и n (поскольку при чтении числовых данных переход на новую строку выполняется автоматически). Во-вторых, при чтении элементов исходного набора необходимо использовать вариант процедуры read без суффикса ln", чтобы не пропустить оставшиеся в этой строке числа.
При выводе полученного двумерного массива необходимо обеспечить его правильное форматирование : каждый элемент должен выводиться на семи экранных позициях с двумя дробными знаками и, кроме того, каждая строка массива должна выводиться на новой экранной строке. Это достигается за счет использования соответствующих атрибутов форматирования и явного перехода на новую строку с помощью процедуры writeln без параметров.
Примечание.Заметим, что в заданиях группы Matrix, также посвященной обработке двумерных массивов, специальные действия по форматированию полученных массивов выполнять не требуется, так как задачник автоматически форматирует все полученные результаты. Таким образом, задания группы ExamBegin более приближены" к реальной экзаменационной ситуации, в которой программа учащегося должна не только обрабатывать исходные данные, но и обеспечивать наглядное отображение результатов.
Пример 3. Обработка сложных наборов данных
Группа ExamTaskC содержит 100 типовых заданий, аналогичных заданиям, которые предлагаются на ЕГЭ по информатике в качестве задач повышенной сложности (задача C4). Основную часть данной группы составляют задания на обработку сложных наборов данных (записей) с элементами-полями различных типов. В подобных заданиях требуется правильно выбрать способ хранения данных и организовать их эффективную обработку; при этом обычно требуется применить несколько базовых алгоритмов, например, алгоритм суммирования или нахождения минимума/максимума и алгоритм поиска нужного элемента или сортировки набора данных по требуемому ключу. В группу ExamTaskC включены также задания повышенной сложности на обработку текстовых данных (подобные задания содержатся в завершающем разделе данной группы).
Следует заметить, что возможность автоматической генерации больших наборов исходных данных, предоставляемая задачником Programming Taskbook, позволяет существенно ускорить тестирование учебных программ и сделать его более надежным, что, в свою очередь, повышает эффективность изучения типовых приемов решения задач группы C.
В заданиях группы ExamTaskC ввод и вывод имеет те же особенности, что и в заданиях группы ExamBegin.
Рассмотрим следующее задание.
ExamTaskC25°. На вход подаются сведения об абитуриентах. В первой строке указывается количество абитуриентов N , каждая из последующих N строк имеет формат
Читать дальше