Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Подпрограммы




Begin

Begin

Begin

Массивы.

 

Массив – структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя.

Каждый элемент массива однозначно определяется именем и индексом (номером элемента в массиве), причем индексы массива принадлежат целочисленному типу.

 

Массив может быть:

- одномерным a[ i ] (i – номер элемента)

- двумерным b[i,j] (i –номер строки, j – номер столбца)

Формат объявления одномерного массива:

<Имя>= array [<нижний индекс .. верхний индекс>] of <тип>;

где: Имя – имя массива; array – зарезервированное слово языка, обозначающее объявление массива; нижний индекс и верхний индекс – целые константы, определяющие диапазон изменения индекса элементов массива; тип – тип элементов массива.

При объявлении массива в разделе переменных модуля одновременно с объявлением массива можно выполнить его инициализацию, т.е. присвоить начальные значения элементам массива.

Формат объявления массива с инициализацией:

<Имя>=array [<нижний индекс.. верхний индекс>] of <тип>=

(список); //одномерный массив

<Имя>=array [<нижний индекс.. верхний индекс>строк,

<нижний индекс.. верхний индекс>столбцов,] of

<тип>= (список); //двумерный массив

Количество элементов списка инициализации должно соответствовать размерности массива.

Локальный массив (в процедуре) можно инициализировать во время выполнения программы в цикле.

Например:

for i := 1 to 10 do

Writeln('Vvedite', i, 'element massive А');

Readln(А [ i ]); //ввод элемента массива А

end;

Операции, производимые над элементами массива, полностью определяются типом этих элементов.

Типовыми операциями при работе с массивами являются: ввод и вывод элементов массива, поиск максимального или минимального элемента массива поиск заданного элемента массива, сортировка массива./ При вводе элементов массива удобно использовать оператор цикла for, при этом переменная счетчик может быть использована в качестве индекса элементов массива.

Иногда в качестве элементов массива используют случайные числа, которые можно получить с помощью функции Random(x), где х - случайное число в диапазоне 0..x-1.

Перед первым обращением к функции Random() необходимо вызовом процедуры Randomize и инициализировать программный генератор случайных чисел. Например,

Randomize; //обращение к генератору случайных чисел

for I:= 1 to 10 do

A[i]:= Random(20); //присвоение элементам массива А значений

// случайных чисел в диапазоне от 0 до 19

write(A[i],' '); //вывод элементов массива в строку

end;

 

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

"Вызов" подпрограммы, то есть выполнение действий, заданных в ней в виде операторов, может быть произведён в некоторой точке программы посредством указания имени этой подпрограммы.

4.7 1. Формальные и фактические параметры

Формальные параметры (или просто параметры) – это данные, с которыми работает подпрограмма. Параметры перечисляются в заголовке подпрограммы в определённой последовательности и с указанием типов. Параметры – внутренние данные для подпрограммы. Они однозначно связаны с аргументами.

Фактические параметры (аргументы) - данные, передаваемые в подпрограмму или возвращаемые из нее. В подпрограмме им соответствуют параметры. Фактические параметры указываются в списке аргументов при обращении к подпрограмме.

Аргументы – внешние для подпрограммы данные, с которыми имеет дело вызывающая часть программы.

Для аргументов и параметров необходимо соблюдать:

- одинаковое количество;

- одинаковый порядок следования;

- совместимость типов.

Формальные параметры разделяются на параметры-значения, параметры-константы, параметры-переменные, параметры процедурного типа.

Параметры-значения передаются подпрограмме через короткий стек в виде копий, остаются неизменными и являются входными параметрами подпрограмм. В списке формальных параметров указывается только их тип, например (х, у: real).

Параметры-константы также передаются подпрограмме в виде копий, но с помощью адресов, что позволяет избежать ошибок, связанных с переполнением стека. Изменяться подпрограммой не могут. В списке формальных параметров снабжаются служебным словом const, например (const s: real).

Параметры-переменные передаются подпрограмме с помощью адресов. Значения параметров могут изменяться подпрограммой. Являются выходными параметрами подпрограмм. В списке формальных параметров снабжаются служебным словом var, например (х, у; var ss: real).

Параметры процедурного типа – это процедуры или функции. В списке формальных параметров задаются именами без служебного слова var и являются параметрами-значениями.

4.7.2. Области действия имён.

Структура подпрограммы идентична структуре программы.

Имена, объявленные в главной программе, являются глобальными. Они доступны во всех внутренних точках программы, в том числе и в подпрограммах. Имена, объявленные в подпрограмме, являются локальными. Они доступны во всех внутренних точках подпрограммы. Во внешней программе локальное имя недоступно.

Если используются одинаковые локальное и глобальное имя, то внутри процедуры локальное имя блокирует глобальное.

Чтобы в подпрограмме получить доступ к глобальному имени, совпадающим с локальным именем, его надо указывать составным. Формат доступа к глобальному имени:

<имя программы>.<глобальное имя>

4.7.3. Процедура не возвращает значений (например, рисует) или возвращает несколько значений.

Формат объявления процедуры:

Procedure <имя>(p1,p2:T1;... var n1,n2:T2;... const k1,k2:T3);

//заголовок процедуры

{Разделы определений и описаний локальных параметров и подпрограмм}




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 420; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.