КАТЕГОРИИ: Архитектура-(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) |
Подпрограммы
Та методики практичної психології, к.пс.н. Л.Б. Наугольник
Подпрограммы – это специальным образом оформленная часть программного текста, выполняющая некоторую законченную функцию, которой можно воспользоваться в основном тексте программы многократно. Пусть некоторая последовательность команд встречается в программе несколько раз. В этом случае поступают так: отдельно пишется этот повторяющийся фрагмент, которому дается имя. Затем пишется основная программа, и в тех местах, где требуется подстановка заданного текста, просто указывается его имя. В общем случае программа будет иметь следующую структуру: Program имя; // заголовок программы
Uses …; описательная часть Const…; Type …; Var …; Описание подпрограмм;
Begin … основной блок программы Вызовы подпрограмм; … End.
В Турбо Паскале используется два вида подпрограмм: процедуры и функции.
Процедура – это особым образом оформленный фрагмент программы, имеющий собственное имя. Упоминание этого имени в тексте программы приводит к активизации процедуры и называется ее вызовом. В результате вызова процедуры всегда меняется значение каких-то переменных в программе. Функция – это подпрограмма, которая вычисляет некоторое значение, при этом в большинстве случаев в результате вычислений никакие переменные в программе не меняются. Вычисленное значение просто доставляется в точку вызова функции. Таким образом, результатом работы процедуры может быть сколько угодно значений, а результатом работы функции – единственное значение. Для обмена информацией между основной программой и подпрограммами используются параметры вызова (формальные параметры).
Описание процедуры имеет следующую структуру: Procedure Имя (список формальных параметров.); Var …; Begin …операторы процедуры …; End; Формальные параметры – это описание переменных, которые будут использованы в процедуре. Описание параметров аналогично описанию переменных в секции Var основной программы. Единственное отличие, что ключевое слово Var иногда может отсутствовать. Слово Var ставиться тогда, когда в переменной будет содержаться результат работы процедуры. Если в заголовке при описании формальных параметров указывается слово Var, то такие параметры называются параметрами - переменными, если слово Var опущено, то такие параметры называются параметрами - значениями. Параметры-значения используются для передачи входной (исходной) информации в подпрограмму. Параметры-переменные используются для передачи как входной, так и выходной информации (результата) из подпрограммы в основную программу. Те данные, которые передаются из основной программы в подпрограмму при вызове подпрограммы, а также те переменные, в которые принимаются результаты из подпрограмм, называются фактическими параметрами. Для параметров–переменных соответствующие фактические параметры могут быть представлены только переменными, а для параметров-значений фактические параметры могут быть представлены переменной, константой или произвольным выражением. При этом соответствующие фактические и формальные параметры должны быть одного типа.
Вызов процедуры имеет следующий синтаксис: Имя (список фактических параметров);
Обращение к процедуре происходит следующим образом: 1. В тексте основной программы встретился вызов процедуры; 2. Ищется процедура с данным именем; 3. Каждому формальному параметру в заголовке процедуры в порядке следования ставится в соответствие фактический параметр. Таким образом, фактические параметры как бы заменяют формальные, причем замена происходит не только в заголовке, но и в теле процедуры; 4. запускается процедура; 5. после завершения работы процедуры начинает выполняться оператор, следующий за оператором, вызвавшем данную процедуру.
Пример. Ввести числа a, b, c,,d. Поменять значения переменных a и d, b и c. Вывести результат.
1. Написать процедуру вывода на экран 10 случайных чисел. 2. Написать процедуру заполнения массива 10 случайными числами. 3. Написать процедуру вывода на экран массива. 4. Написать процедуру вывода на экран строки в обратном порядке. 5. Написать процедуру вывода на экран матрицы 5х5 Функции Функция – это подпрограмма, которая вычисляет некоторое значение, при этом в большинстве случаев в результате вычислений никакие переменные в программе не меняются. Вычисленное значение просто доставляется в точку вызова функции.
Описание функции имеет следующую структуру: function Имя (список формальных параметров.):Тип; Var …; Begin …операторы процедуры …; Имя:=<результат>; End;
Описание функции имеет следующие особенности: 1.В заголовке вместо слова Procedure слово function. 2. В заголовке указан тип значения, возвращаемого функцией в качестве результата. 3.В теле функции результат работы подпрограммы должен быть присвоен имени функции. Тип результата должен соответствовать типу функции.
Пример 1. Вычислить тангенс чисел от 0 до 100. Написать функцию для нахождения тангенса заданного числа. Program func_tg; Var i:byte;
Function tg (var x: real):real; Begin Tg:=sin(x)/cos(x); End;
Begin For i:= 1 to 100 do writeln(tg(i)); End.
Дата добавления: 2014-01-15; Просмотров: 614; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |