Читайте также: |
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (ДГТУ)
КОЛЛЕДЖ ЭКОНОМИКИ, УПРАВЛЕНИЯ И ПРАВА
Шинакова С.В.
Методические рекомендации по учебной практике
Для студентов 2 курса специальности 230105 ПОВТ и АС
Дисциплина: Основы алгоритмизации и программирования
Тема №5 «Работа с подпрограммами»
Ростов-на-Дону
2011
Цель работы
Изучить принципы работы с подпрограммами (процедурами и функциями), а также на языке Pascal.
Задачи работы
Научиться основным алгоритмам решения задач с использованием подпрограмм на языке Pascal.
Порядок выполнения работы
3.1В среде программирования Turbo Pascal (или PascalABC) составить и отладить программы решения задач на тему «Процедуры и функции». Приложение А - В.
3.2 Получить результаты и провести их анализ.
3.3 Составить отчет о проделанной работе.
Отчет о проделанной работе должен содержать
- название и цель работы;
- номер и условие своего варианта;
- тексты программ;
- полученные результаты;
- анализ результатов;
- ответы на контрольные вопросы.
Теоретические положения
Общие сведения о подпрограммах
Подпрограммы представляют собой инструмент, с помощью которого любая программа может быть разбита на ряд в известной степени независимых друг от друга частей. Такое разбиение необходимо по двум причинам.
Во-первых, это средство экономии памяти: каждая подпрограмма существует в программе в единственном экземпляре, в то время как обращаться к ней можно многократно из разных точек программы. При вызове подпрограммы активизируется последовательность образующих ее операторов, а с помощью передаваемых подпрограмме параметров нужным образом модифицируется реализуемый в ней алгоритм.
Вторая причина заключается в применении методики нисходящего проектирования программ. В этом случае алгоритм представляется в виде последовательности относительно крупных подпрограмм, реализующих более или менее самостоятельные смысловые части алгоритма. Подпрограммы в свою очередь могут разбиваться на менее крупные подпрограммы нижнего уровня и
т.д. (рис. 1). Последовательное структурирование программы продолжается до тех пор, пока реализуемые подпрограммами алгоритмы не станут настолько простыми, чтобы их можно было легко запрограммировать.
Рисунок 1 – Пример структуры программы
Вот какую иерархию описаний получим, например, для программы, структура которой изображена на рис.1 (для простоты считается, что все подпрограммы представляют собой процедуры без параметров):
Program...;
Procedure А;
Procedure A1;
.......
begin
.......
end {A1};
Procedure A2;
.......
begin
end {A2};
begin {A}
.......
{A};
Procedure В;
Procedure B1;
.......
begin {B};
end
Procedure B2;
Procedure B21;
.......
и т.д.
Имена, локализованные в подпрограмме, могут совпадать с ранее объявленными глобальными именами. В этом случае считается, что локальное имя «закрывает» глобальное и делает его недоступным, например:
var
i: Integer;
Procedure P;
var i: Integer;
begin
writeln(i)
end {P};
begin
i:= 1;
P
end.
Что напечатает эта программа? Все, что угодно: значение внутренней переменной I при входе в процедуру Р не определено, хотя одноименная глобальная переменная имеет значение 1. Локальная переменная «закроет» глобальную и на экран будет выведено произвольное значение, содержащееся в неинициированной внутренней переменной. Если убрать описание
var i: Integer;
из процедуры Р, то на экран будет выведено значение глобальной переменной I, т.е. 1.
Таким образом, одноименные глобальные и локальные переменные - это разные переменные. Любое обращение к таким переменным в теле подпрограммы трактуется как обращение к локальным переменным, т.е. глобальные переменные в этом случае попросту недоступны.
Описание подпрограммы состоит из заголовка и тела подпрограммы.
Дата добавления: 2015-07-26; просмотров: 109 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Уход за тонкими, тусклыми волосами. | | | Заголовок |