русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-02-04; просмотров: 951; Нарушение авторских прав


ОПЕРАТОРЫ ПЕРЕХОДА

Оператор безусловного перехода имеет следующий вид: goto, здесь goto — зарезервированное слово: <метка> — метка.

Метка - это произвольный идентификатор, позволяющий име­новать некоторый оператор программы и таким образом ссылаться на него.

Можно теоретически показать, что достаточно if- и while-операторов, чтобы записать любую необходимую управляющую структуру. Однако есть несколько вполне определенных ситуаций, где лучше использовать оператор goto.

Первая состоит в том, что многие циклы не могут завершаться в точке входа, как этого требует цикл while.

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

В языке С нет никаких средств для обработки этой ситуации (не подходит даже goto по причине ограниченности рамками от­дельной процедуры), поэтому для обработки серьезных ошибок нужно использовать средства операционной системы.

В современных языках Object Pascal, Ada, C++ и Eiffel есть спе­циальные языковые конструкции, так называемые исключения, ко­торые непосредственно решают и эту проблему.

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



Подпрограмма -- некоторая последовательность инструкций, которая может повторяться в нескольких местах программы.

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

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

Описание процедуры состоит из заголовка и тела. Заголовок процедуры имеет вид:

procedure <имя> [ (<сп.ф.п.>) ] ;

здесь <имя> имя процедуры (правильный идентификатор); <сп. ф. п. > - список формальных параметров.

Список формальных параметров необязателен и может отсутст­вовать. Если же он есть, то в нем должны быть перечислены имена формальных параметров и их типы, например procedure MyProc (a: Real; b: Integer; с: Char);

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

function <имя> [(<сп.ф.п.>)]: <тип>;

здесь <тип> — тип возвращаемого функцией результата. Заголовок функции может иметь следующий вид:

function MyFunc (a, b: Real): Real;

Операторы тела подпрограммы рассматривают список фор­мальных параметров как своеобразное расширение раздела описа­ний: все переменные из этого списка могут использоваться в лю­бых выражениях внутри подпрограммы. Так осуществляется на­стройка алгоритма подпрограммы на конкретную задачу. Работа с процедурами и функциями отличаются в следующем:

1) в заголовке функции помимо описания формальных пара­метров обязательно указывается тип возвращаемого ею результата;

2) для возврата функцией значения в точку вызова среди ее операторов должен быть хотя бы один, в котором имени функции или переменной Result присваивается значение результата;

3) вызов процедуры выполняется отдельным оператором;

4) вызов функции может выполняться там, где допускается ста­вить выражение, например, в правой части оператора присваивания.



<== предыдущая лекция | следующая лекция ==>
Цикл while-do Цикл repeat-until | ПЕРЕДАЧА ПАРАМЕТРОВ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

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


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 7.924 сек.