![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Структурированные типы данных: массивыСодержание книги
Поиск на нашем сайте
Массив - совокупность конечного числа данных одного типа, объединенных общим именем. · Одномерный массив - вектор
0.1, 0.5, 0.7,..., 1.9 12, 34, 56,..., 13 A[I],B[J] - элементы массива, где I -индексы, указывающие номер или место данного элемента в массиве.
Описание одномерного массива Var <имя массива>: array [ <диапазон изменения индекса> ] of <тип элементов>;
Размерность массива может быть любой, элементы массива могут быть любого, в том числе и структурированнного типа, индекс может быть любого ординального типа, кроме типа Longint. Пример Var A: array [1..4] of real; Type MAS1=array[1..4] of real; B: array [1..3] of integer; MAS2=array[1..3] of integer; Var A: MAS1; B: MAS2; или Type I1=1..4; I2=1..3; MAS1=array[I1] of real; MAS2=array[I2] of integer; Var A: MAS1; B: MAS2; Пример for I:=1 to 4 do for I:=1 to 4 do Read(A[I]); или begin Writeln(‘A[‘,I,’]=’); Read(A[I]) end; {Ввод элементов одномерного массива} Пример {Вывод элементов одномерного массива} for J:=1 to 3 do for J:=1 to 3 do Write(B[J]:3); Writeln(‘B[‘,J,’]=’,B[J]:3); {в строку 12 34 56} {в столбец B[ 1]= 12 B[ 2]= 34 B[ 3]= 56} · Двумерный массив - матрица
D21 D22 D23 4 6 7 D[I,J] - элемент матрицы, I - номер строки, J - номер столбца.
Описание двумерного массивa Var <имя массива>: array[ <диапазон строк>, <диапазон столбцов> ] of < тип элементов>;
Пример Var D:array[1..2,1..3] of integer; или Type MATR=array[1..2,1..3] of integer; Var D: MATR; Type ST=array[1..2] of integer; MATR=array[1..3] of ST; Var D: MATR; Пример for I:=1 to 2 do for J:=1 to 3 do Read(D[I,J]); {Последовательность ввода: 1 3 2 4 6 7} {Ввод элементов двумерного массива} Пример {Вывод элементов двумерного массива} for I:=1 to 2 do for J:=1 to 3 do Write(D[I,J]); {вывод в строку 1 3 2 4 6 7} или for I:=1 to 2 do begin Writeln; {переход на новую строку} for J:=1 to 3 do Write(D[I,J]) {вывод элементов строки} end; {результат вывода: 1 3 2 4 6 7 }
ПРОЦЕДУРЫ И ФУНКЦИИ В среде Turbo-Pascal имеются две разновидности подпрограмм - процедуры и функции. Структура подпрограммы аналогична структуре программы в целом. Подпрограмма должна быть описана до того, как она будет использована в основной программе или другой подпрограмме. Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные- объявленные в основной программме и доступные как основной программе, так и всем ее подпрограммам.
· Формальное описание функции
function <имя функции> ( <список формальных параметров> ): <тип функции>; <секция описаний локальных переменных>; begin <секция операторов> end;
где <имя функции> - идентификатор, к которому предъявляются те же требования,как к любому идентификатору в среде Turbo-Pascal; < список формальных параметров> - все параметры в списке указываются вместе со своим типом (одного типа через запятую; различные типы через точку с запятой). Тип параметров в списке может быть любой. Как частный случай, функция может быть без параметров. <тип функции> - задается обычным способом и может быть любым простым или String.
· Вызов функции Вызов функции может осуществляться из основной программы или другой подпрограммы.
< имя переменной>:= <имя функции> ( <список фактических параметров> ); или в операторе вывода Write( <имя функции> ( <список фактических параметров> )); < cписок фактических параметров> - представляет собой, перечисленные через запятую значения, которые при обращении заменяют соответствующие формальные параметры в описании функции. Следует обратить внимание на то, что количество, тип и порядок расположения фактических параметров в обращении к функции обязательно должен совпадать с количеством, типом и порядком расположения формальных параметров в описании функции. Пример Var XN: real; NN: word; {Подпрограмма-функция вычисления XN }
Var I: word; M: real; Begin M:=1;
M:=M * X; Ipow:=M end; {Основная программа} Begin Readln(XN,NN); Writeln(‘ Значение функции = ‘, IPow(XN,NN)) End. Как ранее указывалось, тип формальных параметров может быть любым, однако в заголовке подпрограммы нельзя вводить новый тип, так нельзя писать:
function Max(A: array [1..50] of real): real; Правильно в основной программе ввести новый тип, а затем использовать его в заголовке подпрограммы:
Type MASS = array [1..50] of real; function Max(A: MASS): real; · Формальное описание процедуры procedure <имя процедуры> ( <список формальных параметров> ); <секция описания локальных переменных>; begin <секция операторов> end; В отличие от формального описания функции, в заголовке процедуры отсутствует понятие <тип>, так как имя процедуры не является носителем формального результата. Результаты выполнения процедуры могут быть множественны и указываются в списке формальных параметров в качестве параметров-переменных.
В качестве формальных параметров наиболее часто встречаются параметры-значения и параметры-переменные. Параметры-значения передаются основной программой в подпрограмму через стек в виде их копий и, следовательно, собственный параметр программы подпрограммой изменится не может. При передаче параметров-переменных в подпрограмму фактически через стек передаются их адреса в порядке, объявленном в заголовке подпрограммы. Следовательно, подпрограмма имеет доступ к этим параметрам и может их изменять, поэтому результаты выполнения процедуры должны указываться в списке формальных параметров именно в качестве параметров-переменных.
procedure MaxMin(A:MASS; Var Max,Min:real); Здесь A - параметр-значение; Max, Min - параметры-переменные. · Вызов процедуры Для вызова процедуры из основной программы или другой подпрограммы используется отдельный оператор следующего вида: <имя процедуры> ( <список фактических параметров> ); Требования к списку фактических параметров в процедуре предъявляются те же, что и в подпрограмме-функции. Пример Var N: integer; S: real; {Подпрограмма-процедура вычисления суммы ряда 1/3 + 1/5 + 1/7 +... + 1/(2*I+1) }
procedure Summa(Kol:integer; Var Sum:real);
Begin Sum:=0; for I:=1 to Kol do
end; {Основная программа} Begin
Writeln(‘ Сумма ряда =’, S) End.
|
||||||
Последнее изменение этой страницы: 2016-12-13; просмотров: 345; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.90.114 (0.011 с.) |