Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Общие сведения о подпрограммах

Читайте также:
  1. I Сведения об организации и ее учетной политике
  2. I. ОБЩИЕ ДАННЫЕ АНАМНЕЗА
  3. I. Общие методические рекомендации по написанию контрольных работ
  4. I. ОБЩИЕ ПОЛОЖЕНИЯ
  5. I. Общие предписания
  6. I. Общие сведения
  7. I. Общие сведения

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ДОНСКОЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (ДГТУ)

КОЛЛЕДЖ ЭКОНОМИКИ, УПРАВЛЕНИЯ И ПРАВА

Шинакова С.В.

Методические рекомендации по учебной практике

Для студентов 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 | Нарушение авторских прав


Читайте в этой же книге: Параметры | Параметры-массивы и параметры-строки | Процедурные типы. Параметры-функции и параметры-процедуры | Нетипизированные параметры-переменные | Рекурсия и опережающее описание | Определить значения переменных X и Y, которые будут выданы на экран в результате |
<== предыдущая страница | следующая страница ==>
Уход за тонкими, тусклыми волосами.| Заголовок

mybiblioteka.su - 2015-2024 год. (0.007 сек.)