Области действия имен. Локальные и глобальные переменные
ПРАКТИЧЕСКАЯ РАБОТА № 11
По дисциплине: Основы программирования.
Название работы: Организация программ с использованием процедур на языке Паскаль.
Для специальности: 230115 «Программирование в компьютерных системах»
Работа рассчитана на 2 часа.
Составлена преподавателем Мохнач О.А.
1. ЦЕЛЬ РАБОТЫ: Получить навыки написания и использования процедур на языке Паскаль, научиться структурировать программы.
2. ЛИТЕРАТУРА: "Основы языка Pascal. Учебный курс". П.И. Рудаков, М. А. Федотов, М., "Радио и связь", 2000
3. ВОПРОСЫ ДЛЯ ДОМАШНЕЙ ПОДГОТОВКИ:
3.1. Что такое подпрограммы?
3.2. Какие бывают виды подпрограмм?
4. ОБОРУДОВАНИЕ: ПЭВМ
ЗАДАНИЕ.
5.1 Разработать программу, обрабатывающую массивы, согласно варианту.
Вариант | Задание |
Выполнить сортировку по возрастанию произвольного целочисленного массива произвольным методом. | |
Выполнить последовательный поиск минимального элемента произвольного целочисленного массива. | |
Выполнить сортировку по убыванию произвольного строкового массива произвольным методом. | |
Выполнить поиск максимального элемента произвольного вещественного массива. | |
Удвоить все четные элементы числового массива. | |
Увеличить вдвое минимальный элемент произвольного вещественного массива. | |
Увеличить вдвое максимальный элемент произвольного вещественного массива. | |
Утроить все нечетные элементы числового массива. | |
Удвоить все положительные элементы массива. | |
Выполнить сортировку по возрастанию произвольного строкового массива произвольным методом. |
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.
6.1. Повторить требования по соблюдению техники безопасности.
ВключениеПК должно производиться в следующей последовательности:
· включить принтер (если он нужен);
· включить монитор;
· включить системный блок.
Перед выключением компьютера завершите все работающие программы и подождите 1-2 сек. (это необходимо, если на вашем ПК предусмотрено кэширование дисков). Далее необходимо:
• выключить системный блок;
• выключить принтер (если он был включен);
• выключить монитор.
6.2. Объявить массив согласно варианту.
6.3. Размерность массива и способ его заполнения выбрать на свое усмотрение.
6.4. Написать процедуры ввода, вывода, обработки массива.
6.4.1. Вывести исходный массив.
6.4.2. Реализовать процедуру сортировки либо поиска или другой обработки согласно варианту.
6.4.3. Вывести результаты обработки массива.
6.5. Рекомендуется передавать массивы в процедуры в качестве параметра.
6.6. Оформить отчет.
СОДЕРЖАНИЕ ОТЧЕТА.
7.1. Текст программы с комментариями.
7.2. Результаты тестирования программы.
КОНТРОЛЬНЫЕ ВОПРОСЫ
8.1 Как и где описываются параметры процедуры, если они присутствуют?
8.2. Сколько раз можно вызвать в программе одну и ту же процедуру?
8.3. Чем отличаются функция и процедура?
8.4. Смысл применения подпрограмм.
ПРИЛОЖЕНИЕ
Подпрограмма – относительно самостоятельная часть программы, имеющая свое назначение и выполняющая свои определенные функции.
Подпрограммы делятся на процедуры и функции.
Целесообразность использования подпрограмм:
1) использование подпрограмм упрощает процесс создания сложных программ и способствует значительному уменьшению количества ошибок в них
2) использование модулей небольших размеров позволяет упростить и ускорить процессы их отладки
3) часто в различных местах программы необходимо выполнить одно и то же действие. Целесообразно запрограммировать его 1 раз в виде подпрограммы, а затем обращаться к ней по мере необходимости (экономия ресурсов памяти и времени программиста)
4) подпрограммы можно использовать в качестве набора собственных заготовок в других программах с незначительными модификациями
Замечание! Использовать подпрограммы в маленьких программах трудоемко и нерационально.
ОПИСАНИЕ ПРОЦЕДУР
Описание процедуры располагается до исполняемой части программы и является как бы маленькой программой внутри большой. Начинается описание заголовком процедуры.
PROCEDUREидентификатор (параметры);
{Раздел описания локальных данных}
BEGIN
{ТЕЛО ПРОЦЕДУРЫ}
END;
Пример: процедура, издающая звуковой сигнал
procedure beep(a:integer);
Begin
Sound(440);
Delay(a);
Nosound;
End;
Механизм передачи параметров в процедуру аналогичен механизму работы с параметрами функций.
Области действия имен. Локальные и глобальные переменные.
Имена переменных и констант, используемых в подпрограммах, могут быть объявлены: в основной программе, в вызывающей подпрограмме, в самой подпрограмме.
Имена, объявленные в основной программе, называют глобальными, к ним возможен доступ из любой подпрограммы, их можно передавать в качестве значений параметров.
Имена, объявленные в списке параметров или внутри подпрограммы, называют локальными, область их действия и доступ к ним ограничиваются самой подпрограммой. При выходе из подпрограммы значения локальных переменных не сохраняются. Их удобно использовать в качестве вспомогательных переменных.
Таким образом, с помощью глобальных переменных можно передавать исходные данные в подпрограмму и возвращать полученные результаты. Однако в этом случае необходимо тщательно следить за всеми глобальными переменными, значения которых используются в подпрограмме, поскольку их изменения, вызванные, например, добавлением новых операторов, будут оказывать влияние на работу программы в целом.
К особенно большим трудностям приводит использование глобальных переменных в подпрограммах при независимой отладке подпрограмм и переносе их в другие программы. Поэтому рекомендуется обмен данными между программой и подпрограммой реализовывать только с помощью параметров.
Локальная и глобальная переменные могут иметь одинаковое имя. Несмотря на это они являются двумя различными переменными, которые располагаются в различных областях памяти. Причем в этом случае глобальная переменная становится недоступной в подпрограмме.