Материал: Методические указания к лабораторным работам № 5-6 по дисциплине «Информатика» для студентов направления подготовки 11.03.03. Ромащенко М.А

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

ФГБОУ ВПО «Воронежский государственный технический университет»

Кафедра конструирования и производства радиоаппаратуры

570-2015

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторным работам № 5-6 по дисциплине «Информатика» для студентов направления подготовки

11.03.03 «Конструирование и технология электронных средств» (профиль «Проектирование и технология радиоэлектронных средств»)

ипо дисциплине «Спецглавы информатики»

12.03.01«Приборостроение» (профиль «Приборостроение») очной и заочной форм обучения

Воронеж 2015

Составитель

д-р техн. наук М.А. Ромащенко

УДК 004.4

Методические указания к лабораторным работам № 5-6 по дисциплине «Информатика» для студентов направления подготовки 11.03.03 «Конструирование и технология электронных средств» (профиль «Проектирование и технология радиоэлектронных средств») и по дисциплине «Спецглавы информатики» для студентов направления подготовки 12.03.01 «Приборостроение» (профиль «Приборостроение») очной и заочной форм обучения / ФГБОУ ВПО «Воронежский государственный технический университет»; сост. М.А. Ромащенко, 2015. 21 с.

Методические указания предназначены для выполнения лабораторных работ № 5 и 6 по дисциплине «Информатика» бакалаврами первого курса направления подготовки 11.03.03 «Конструирование и технология электронных средств» и по дисциплине «Спецглавы информатики» бакалаврами первого курса направления подготовки 12.03.01 «Приборостроение» очной и заочной форм обучения.

Методические указания подготовлены в электронном виде и содержатся в файле ЛР 5-6.pdf.

Ил. 2. Библиогр.: 4 назв.

Рецензент д-р техн. наук, проф. О.Ю. Макаров

Ответственный за выпуск

зав. кафедрой

 

д-р техн. наук, проф. А.В. Муратов

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

© ФГБОУ ВПО «Воронежский государственный технический университет», 2015

1.ЛАБОРАТОРНАЯ РАБОТА №5

ПОДПРОГРАММЫ. ПРОЦЕДУРЫ И ФУНКЦИИ. РЕКУРСИЯ.

Цель работы: изучить принципы работы с подпрограммами, ознакомиться с локализацией имен в процедурах и функциях, ознакомиться с формальными и фактическими параметрами, уяснить назначение параметровзначений, параметров-переменных и параметров-констант. Освоить методы работы с рекурсией.

Время работы: 8 часов.

1.1. Домашние задания и методические указания по их выполнению

Задание 1 – получить представление о подпрограммах. Уяснить различие между процедурой и функцией.

Процедуры и функции представляют собой относительно самостоятельные фрагменты программы, оформленные особым образом и снабженные именем. Упоминание этого имени в тексте программы называется вызовом процедуры (функции). Отличие процедуры от функции в том, что результатом выполнения функции является одно число, поэтому вызов функции можно производить непосредственно в выражениях с константами и переменными. Процедуры и функции обобщают понятием подпрограмма.

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

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

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

Задание 2 – ознакомиться с локализацией имен в программе и подпрограммах.

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

Описать подпрограмму это значит – указать ее заголовок и тело. В заголовке объявляются имя подпрограммы и формальные параметры, если они есть. Для функции, кроме того, указывается тип возвращаемого ею результата. За заголовком следует тело подпрограммы, которое, подобно программе состоит из своего раздела описания и раздела исполняемых операторов. В разделе описаний подпрограммы могут встретиться описания подпрограмм низшего уровня, в тех – описания других и т.д.

Пример структуры размещения подпрограмм в Паскале

Program Test; Procedure A;

Procedure A1;

{Раздел описаний ПРОЦЕДУРЫ А1}

begin

{Раздел исполняемых операторов ПРОЦЕДУРЫ А1}

end; Procedure A2;

{Раздел описаний ПРОЦЕДУРЫ А2}

begin

{Раздел исполняемых операторов ПРОЦЕДУРЫ А2}

end;

begin

{Раздел исполняемых операторов ПРОЦЕДУРЫ А}

end; Procedure B;

{Раздел описаний ПРОЦЕДУРЫ В}

begin

{Раздел исполняемых операторов ПРОЦЕДУРЫ В}

end;

begin

{Раздел исполняемых операторов ПРОГРАММЫ}

end.

2

Подпрограмма любого уровня обычно имеет множество имен констант, переменных, типов и вложенных в нее подпрограмм низшего уровня. Считается, что все имена, описанные внутри подпрограммы, локализуются в ней, т.е. они как бы «невидимы» за пределами подпрограммы. Т.о. со стороны операторов обращающихся к подпрограмме, они трактуются как «черный ящик», в котором реализуется тот или иной алгоритм. Все детали этой реализации скрыты от пользователя подпрограммы и поэтому недоступны ему. В структуре приведенной на рис. 1 из основной программы можно обратиться к процедурам А и В, но нельзя вызвать вложенные процедуры А1 и А2. Это относится не только к именам подпрограмм, но и к константам, переменным и меткам.

Программа

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

Подпрограмма А1

Подпрограмма А2

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

Рис. 1. Локализация имен в Паскале

При входе в подпрограмму низшего уровня становятся доступными объявленные в ней имена, но при этом сохраняется доступ ко всем именам верхнего уровня. Можно представить, что любая программа окружена тонированным стеклом – снаружи мы не видим ее внутренности, но, попав в подпрограмму, можем наблюдать все, что делается снаружи. Так например, из подпрограммы А2 мы можем вызвать подпрограмму А и А1, использовать переменные объявленные в основной программе и подпрограммах А и А1 и обращаться к ним.

При взаимодействии подпрограмм одного уровня вступает в силу основное правило ТурбоПаскаля (как впрочем, и многих других языков программирования): любая подпрограмма перед ее использованием должна быть описана. Поэтому из подпрограммы В можно вызвать подпрограмму А, но из А вызвать В невозможно. Продолжая образное сравнение, подпрограмму можно уподобить ящику с непрозрачными стенками и дном, но с тонированной

3

Смотрите также:

0501_5+6
1-1
11
11 Горм +
113
1198
14
1433
1511
1632