Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Вывод одномерных массивов




Так как элементы числового массива представляют собой числа одного происхождения и, как правило, одного порядка, то выводить их целесообразно во–первых в формате, а во–вторых в формате, едином для всего массива.

Если число элементов массива невелико и все они уместятся в 1–3 строках на экране или принтере, то вывод таких массивов не требует каких либо особенностей. Например, вывод массива X из 8 элементов в формате 6:3 выполняется одним оператором:

for k:=1 to 8 do write(x[k]:6:3);

Массивы с большим числом элементов целесообразно выводить в форме таблиц с одинаковым количеством чисел в строках, используя сочетания операторов write и writeln. Напомним, что при записи оператора вывода в виде, например, write(a), следующая выводимая информация будет выводиться в той же строке, что и число а, при записи же в виде writeln(a), после вывода числа а следующая информация будет выводится с новой строки.

Пример 2.8. Пусть массив Xк из 40 вещественных чисел требуется вывести в виде таблицы по 8 чисел в строке, т.е. разместить выводимые числа по следующей схеме:

Х1 Х2 Х3.....Х8

Х9 Х10 Х11...Х16

..............................

Хi Хi+1 Хi+2...Хi+7

...............................

Х32 Х33 Х34....Х40

Из этой схемы видно, что если обозначить индекс первого числа в каждой строке через i, то этот индекс изменяется от 1 до 32 с шагом 8. В каждой строке индекс первого элемента может быть выражен как i+0, второго i+1, третьего i+2,... восьмого i+7, т.е. этот индекс имеет общую формулу i+j, где j изменяется от 0 до 7 с шагом 1. Отсюда фрагмент программы, реализующей вывод массива по данной схеме в формате, например 6:2, выразится двойным циклом по i и j и может быть представлен в виде:

i:=1

while (i<=32) do

Begin

for j:=0 to 7 do write (x[i,j]:6:2);

writeln;

i:=i+8;

end;

В данном случае в каждой очередной строке выводится по 8 чисел, после чего оператор пустой writeln, прерывает строку и обеспечивает вывод очередной восьмерки с новой строки.

При любом другом количестве элементов массива и количества чисел в строке нетрудно написать соответствующий фрагмент программы, если предварительно набросать схему вывода, аналогичную выше приведенной.

Отметим еще следующее. Если количество элементов массива не кратно количеству чисел в строке, то всегда останется неполной последняя строка. Вывод этой строки можно выполнить отдельным оператором. Так, если бы в данном случае число элементов массива составляло не 40, а, например, 45, то для вывода последних 5 элементов к приведенному фрагменту программы следовало бы дописать оператор

for j:=41 to 45 do write (x[j]:6:2);

Вывод матриц

Вывод двумерных массивов как и ввод требует использования двойных циклов, в одном из которых параметром является номер строки, а во втором – номер столбца. При этом матрицы, очевидно, целесообразно выводить в их естественном виде, т.е. в виде таблиц.

Пример 2.9. Составить программу вывода матрицы А из целочисленных элементов размером m*n, т.е. имеющей m строк и n–столбцов. Пусть i–номер строки, j–номер столбца, тогда общий элемент матрицы обозначится аi,j и схема индексирования ее элементов будет иметь вид:

Вывод этой матрицы m строками по n чисел в строке в заданном формате, например:4, с заголовком может быть выполнен следующем образом:

writeln (' Матрица A');

for i:=1 to m do

Begin

writeln;

for j:=1 to n do write (a[i,j]:4);

end;

В этом фрагменте оператор пустой writeln отделяет заголовок от первой строки матрицы, он же обеспечивает переход к следующей строке после завершения вывода предыдущей.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных