Программирование с использованием подпрограмм




Продолжительность работы – 2 часа

 

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

 

Программа работы

 

1. Ознакомиться с возможностями отладчика в пошаговом режиме с заходом в подпрограммы.

2. Составить текст программы, используя фрагменты программы из лабораторной работы №1 и №2, с обязательным применением типов пользователя, процедуры и функции, а также параметра-значение и параметра-переменная.

3. Отладить программу индивидуального задания, используя изученные возможности отладчика в пошаговом режиме отладки.

Контрольные вопросы

 

1. Как обеспечить трассировку с заходом в подпрограммы?

2. Чем отличается обращение к подпрограмме-процедуре от обращения к подпрограмме-функции?

3. Чем отличаются заголовки подпрограмм при использовании параметра–значение, параметра–переменная, параметра–константа?

4. Как выполняются подпрограммы?

5. Какова область действия переменных?

6. Что такое локальные и глобальные переменные?

7. Чем отличаются заголовки подпрограммы-процедуры и подпрограммы-функции?

8. Как осуществляется обмен данными, если у подпрограммы отсутствуют параметры?

9. Чем отличаются формальные и фактические параметры?

10. По каким позициям должны совпадать формальные и фактические параметры?

Методические указания

 

 

К п. 2. В программе используется проверка первого условия лабораторной №1 и вычисление по первой формуле. В остальных случаях первого условия решается задача второй лабораторной по обработке матрицы. Части программы (по согласованию с преподавателем) оформляются минимум одной подпрограммой- функцией и одной подпрограммой-процедурой с использованием обмена данными через параметры –значения и параметры-переменные.

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

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

Описание процедуры имеет следующую структуру:

 

Procedure <Имя> (<Список формальных параметров>);

const Описание локальных

type констант, типов и переменных

Var

procedure Описание внутренних процедур

function и функций

Begin

<Операторы>

end;

Описание функции имеет следующую структуру:

Function <Имя >(<Список формальных параметров>): < Тип результата>;

const Описание локальных

type констант, типов и переменных

Var

procedure Описание внутренних процедур

function и функций

Begin

Операторы, среди которых хотя бы один, который

присваивает имени функции значение результата

end;

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

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

 

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

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

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

При указании типов формальных параметров в заголовке подпрограмм необходимо использовать либо простые стандартные типы, либо ранее объявленные типы пользователя.

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: