КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Процедуры и функции. Двумерные и многомерные массивы
Двумерные и многомерные массивы Представьте себе таблицу, состоящую из нескольких строк. Каждая строка состоит из нескольких ячеек. Тогда для точного определения положения ячейки нам потребуется знать не одно число (как в случае таблицы линейной), а два: номер строки и номер столбца. Структура данных в языке Паскаль для хранения такой таблицы называется двумерным массивом. Описание двумерного массива: Var A: Array [1..20,1..30] Of Integer; Описан двумерный массив, соответствующий таблице, состоящей из 20 строк и 30 столбцов. Отдельный элемент двумерного массива адресуется, естественно, двумя индексами. Например, ячейка, находящаяся в 5-й строке и 6-м столбце будет называться A[5,6]. Ввод двумерного массива: а) С клавиатуры For i:=1 to 20 do For j:=1 to 30 do Read (a[I,j]); б) Автоматическое формирование массива For i:=1 to 20 do For j:=1 to 30 do a[I,j]:= random (50)-25; Вывод двумерного массива в виде матрицы: For i:=1 to 20 do begin For j:=1 to 30 do Write(A[i,j]:5) Writeln; End; Для иллюстрации способов работы с двумерными массивами решим задачу: "Задать и распечатать массив 10х10, состоящий из целых случайных чисел в интервале [1,100]. Найти сумму элементов, лежащих выше главной диагонали." При отсчете, начиная с левого верхнего угла таблицы, главной будем считать диагональ из левого верхнего угла таблицы в правый нижний. При этом получается, что элементы, лежащие на главной диагонали будут иметь одинаковые индексы (i=j), а для элементов выше главной диагонали номер столбца будет всегда превышать номер строки (j>i). Program M2; Uses Crt; Var A: Array[1..10,1..10] Of Integer; i, j: Byte; S: Integer; Begin Clrscr; Randomize; {формирование матрицы} For i:=1 to 10 do Begin For j:=1 to 10 do Begin A[i,j]:=Random(100)+1; {вывод матрицы} For i:=1 to 10 do Begin For j:=1 to 10 do Write(A[i,j]:5); Writeln: End; {подсчет суммы элементов выше главной диагонали} S:=0; For i:=1 to 10 do For j:=1 to 10 do If j>i Then S:=S+A[i,j] Writeln('Сумма элементов выше гл. диагонали равна ',S) End. Если модель данных в какой-либо задаче не может свестись к линейной или плоской таблице, то могут использоваться массивы произвольной размерности. N-мерный массив характеризуется N индексами. При решении сложных объемных задач часто целесообразно разбивать их на более простые. В этом случае говорят о подпрограммах. Использование подпрограмм позволяет сделать основную программу более наглядной, понятной, а в случае, когда одна и та же последовательность команд встречается в программе несколько раз, даже более короткой и эффективной. В языке Паскаль существует два вида подпрограмм: процедуры и функции. Процедуры и функции, используемые в программе, должны быть соответствующим образом описаны до первого их упоминания. Вызов процедуры или функции производится по их имени. Подпрограммы в языке Паскаль могут иметь параметры (значения, передаваемые в процедуру или функцию в качестве аргументов). При описании указываются так называемые формальные параметры (имена, под которыми будут фигурировать передаваемые данные внутри подпрограммы) и их типы. При вызове подпрограммы вместе с ее именем должны быть заданы все необходимые параметры в том порядке, в котором они находятся в описании. Значения, указываемые при вызове подпрограммы, называются фактическими параметрами. Формат описания процедуры: Procedure <Имя процедуры> (<Имя форм. параметра 1>:<Тип>; < Имя форм. параметра 2>:<Тип>); <Раздел описаний>
Дата добавления: 2014-01-05; Просмотров: 315; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |