Сведения, необходимые для выполнения работы
Подпрограмма - это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах обеспечивается обращение к ней по имени. Имеется две подпрограммы: процедуры и функции. Применение стандартных подпрограмм не требует дополнительных описаний, они представлены в модуле SYSTEM. Все прочие функции и процедуры должны быть описаны в разделе описания процедур PROCEDURE и функций FUNCTION или в отдельном модуле. Для подпрограмм строятся отдельные блок-схемы. В основной программе используется ссылка на подпрограмму:
Структура подпрограмм как у обычных программ, различается назначением и способом использования. Подпрограмма включает в себя заголовок, разделы описаний, которые могут повторяться многократно, быть записаны в любом порядке, не использоваться или быть пустыми. Далее следует тело подпрограммы. В тексте программы описание подпрограммы всегда следует за описанием переменных и до начала основной части. После того, как подпрограмма описана, её можно использовать в основной программе. Все переменные делятся на локальные и глобальные. Глобальные - объявлены в описании основной программы. Локальные - переменные, которые объявлены в подпрограммах (процедурах и функциях). Они существуют только, когда работает подпрограмма, появляющаяся при вызове и исчезают при завершении. Описание действий в подпрограмме осуществляется с использованием формальных параметров. Обращение к подпрограмме осуществляется с фактическими параметрами, которые должны соответствовать формальным. Число и тип формальных и фактических параметров должно совпадать с точностью до их следования. Фактические параметры - которые передаются подпрограмме при обращении к ней из основной программы. Формальные параметры - фиктивно присутствуют в подпрограмме, определяют тип и место подстановки фактических параметров, над которыми производятся действия. Формальные параметры относятся к двум видам: параметрам-значениям и параметрам-переменным. Отличаются параметры-значения от параметров-переменных тем, что в заголовке перед параметром-переменной ставится служебное слово var.
Параметры-значения являются входными для подпрограммы, их первоначальные значения передаются в подпрограмму, но обратно в основную программу значения этих параметров не возвращаются, даже если были изменены. Параметры-переменные могут быть одновременно и входными и выходными, т. е. значения передается в подпрограмму, изменяется в ней, и передается обратно в программу. Когда нужно, чтобы изменения в теле подпрограммы значений формальных параметров приводило к изменению фактических параметров, таким образом они получают новое значение. При передаче параметров по значению фактическими параметрами могут быть константы и переменные соответствующего типа. Если передается параметр-переменная, на месте фактического параметра может находиться переменная. Фактическими параметрами являются константы, переменные и выражения. Процедуры и функции могут вызывать другие подпрограммы и самих себя. Для этого предусмотрено предварительное описание подпрограммы, состоящее из заголовка и зарезервированного слова FORWARD. Процедуры предназначены для выполнения некоторой последовательности действий. Результат — одно или несколько значений, которые передаются в основную программу как значение параметра. При вызове процедуры её формальные параметры заменяются фактическими в порядке их следования. Procedure F (q1: t1; q2: t2; VAR q3: t3);
РАЗДЕЛ ОПИСАНИЙ; begin ОПЕРАТОРЫ процедуры; end; где F - имя процедуры; q1, q2, q3 - имена формальных параметров; t1, t2, t3 - типы параметров. Обращение к процедуре в основной программе осуществляется так: F (B1, B2, В3); где F - имя процедуры; В1, В2, В3 - имена фактических параметров. Функции используются так: Function F (q1: Т1; q2: T2): T; РАЗДЕЛ ОПИСАНИЙ; Begin ОПЕРАТОРЫ функции; End; где F - имя функции; ql, q2 - имена формальных параметров; Т1, Т2 — типы параметров; Т - тип результата функции. Обращение записывается в виде имени функции, за которым следует в скобках список параметров, если нужно отдельные друг от друга запятыми. F (BI, B2); где F - имя функции; В1, В2 - имена фактических параметров. Отличие функций от процедур заключается в следующем: 1) процедура может иметь новые значения у нескольких параметров, а функция только одно, которое будет ее результатом. 2) в заголовке записывается тип результата функции. 3) в теле функции обязательно должен быть оператор присвоения, где в левой части стоит имя функции, а в правой - её значение. Действия функции выполняются, когда в основной части программы необходимо найти ее значение. Её вызов осуществляется внутри некоторого выражения. Параметры записанные в обращении к функции являются фактическими, а параметры в описании – формальными. Перед вычислением функции формальным параметрам присваиваются значения фактических параметров. Задание:
Составить алгоритм и блок-схему. Значение X запрашивать у пользователя. Ввод, вывод и обработку массивов осуществлять в отдельных подпрограммах. Обратить внимание на выбор параметров подпрограмм. В основной программе ссылаться на подпрограммы по их именам (в соответствии с заданием по два раза каждую, т. к. производится обработка двух массивов). Запрос размерности массива желательно осуществлять с клавиатуры (реальная размерность массивов является фактическим параметром). Заполнение двумерных массивов производить так, чтобы можно было знать, какой элемент вводится. Вывод двухмерных массивов производить в виде матрицы. Нахождение итоговой суммы или произведения массивов производить в основной программе после подпрограмм ввода и обработки двумерных массивов. Набрать программу, ввести данные и зафиксировать результат.
Вопросы для самоконтроля: 1. Рассмотреть предопределенные процедуры и функции Turbo Pascal. 2. Изучить создание пользовательских процедур и функций. 3. Ознакомьтесь со встроенными процедурами и функциями Turbo Pascal. 4. Каковы преимущества использования подпрограмм? Для чего они нужны? 5. Чем отличаются глобальные и локальные переменные, фактические и формальные параметры, параметры-значения и параметры-переменные. Литература: 1, 2, 3, 4, 5, 7, 14, 16, 36. Лабораторная работа № 5. Тема: Разработка диалоговых программ в Turbo Pascal. Цель: Освоить проектирование диалоговых программ на ЯП TP.
Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|