Организация программ в языке Турбо Паскаль. Локальные и глобальные параметры. Примеры.
Понятие глобальных и локальных переменных введено в языке Паскаль из-за наличия в нем понятия блочной структуры. Любая программа, процедура и функция представляют собой блок со своей областью описаний и могут содержать внутри этого блока описания других процедур и функций, а также обращения к ним. Программа и совокупность описанных в ней процедур и функций образует блочную структуру. Блок, содержащий в своем разделе описаний другой блок (процедуру и функцию), называется внешним по отношению к нему. Блок, содержащийся в разделе описаний некоторого блока, называется внутренним или подблоком. Объекты, описанные внутри какого-либо подблока, являются по отношению к нему локальными и недоступны внешним блокам, т.е. на них можно ссылаться только внутри блока, в котором они описаны. В примере локальной переменной является переменная I. Второй вариант короче. Выигрыш будет более значителен, если надо выводить несколько таблиц разных размеров. Тогда изменяем и значения. Для того чтобы процедура могла выполнить не одну строго определенную последовательность действий, а целое семейство аналогичных действий, но с разными параметрами, необходимо дополнить процедуру этими параметрами. В нашем случае целесообразно предусмотреть два параметра: параметр, определяющий длину строки, и параметр для выбора символа, которым предполагается прочертить строку. Тогда программа, включающая в себя процедуру, будет иметь вид, представленный ниже. Пример Program shapka3_procedura; {Заголовок основной программы} { Описание переменных основной программы } {....... } Procedure Lin(Len:integer;Ch:Char); {Процедура линии} {Формальные параметры:длина - Len,символ - Ch} Var I:lnteger; Begin {Начало текста процедуры} FOR l:=1 ТО Len DO write(Ch); writeln; End; {Конец процедуры} BEGIN {начало главной программы} writeIn ('Таблица 2.1'); Lin(40,’=’); {Вызов процедуры вычерчивания линии} {....... } {..вывод текста шапки } {....... } Lin(40,’=’); {..вывод номеров граф} Lin(40,’-’); {Обращение к подпрограмме вычер. линий} {Продолжение текста программы} END. {Конец главной программы}
|