Студопедия — Использование функции
Студопедия Главная Случайная страница Обратная связь

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

Использование функции






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

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

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

 

Пример использования функции программиста

program p;

Var

c1, c2: integer; {числа НОД которых надо найти }

nd; integer; {наибольший общий делитель}

 

(функция программиста)

function Nod (a: integer; b: integer;): integer;

Var

r: integer; {остаток от деления числа a на b}

Begin

while (a mod b)< > 0 do

Begin

r: = a mod b; {остаток от деления}

a: =b;

b: =r;

end;

nod: =b;

end;

{основная программа}

Begin

writeln (‘Вычисление наибольшего общего делителя (НОД)’)

Write (‘Введите в одной строке два целых положительных числа через пробел’);

Readln (c1, c2);

nd: =Nod (c1, c2);

Writeln(‘НОД чисел ’, c1, ’ и ’, c2, ’ это ’, nd);

end;

Процедуры.

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

В Turbo Pascal процедурой называется имеющая имя последовательность инструкций, предназначенная для решения определенной задачи.

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

 

Рис.10. Взаимодействие основной программы и процедуры программиста

Объявление процедуры. В общем виде объявление процедуры программиста выглядит так:

 

procedure Имя (var параметр1: тип1; var параметр1: тип1; …; var параметрК: типК;)

Var

{здесь объявление внутренних переменных процедуры}

Begin

{здесь инструкция процедуры}

end;

 

где procedure – зарезервированное слово языка Pascal, обозначающее, что далее следует объявление процедуры программиста; Имя – имя процедуры, используется для вызова инструкций, находящихся между begin и end, реализующих процедуру; параметр1 – переменная, которая используется в инструкциях процедуры. Параметры используются для передачи в процедуру информации, а так же для передачи информации из процедуры в вызвавшую ее программу.

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

Ниже приведено объявление процедуры Line, которая выводит на экран строку символов. У процедуры два параметра: первый (n) задает длину выводимой строки (количество символов), второй (с) – символ, которым рисуется строка.

 

procedure Line (n: integer; c: char);

Var

i: integer;

Begin

for i: =1 to n do Write(c);

Writeln;

end;

 


Использование процедуры.

 

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

Имя {Список Параметров};

где Имя – имя вызываемой процедуры; Список Параметров – разделенные запятыми фактические параметры, в качестве которых, в зависимости от описания параметров в объявлении процедуры, могут быть использованы константа, переменная или выражение. Например, инструкции вызова приведенной выше процедуры Line могут быть такими:

Line (30, ’-‘); Line (n+2, ’*‘); Line (n, ch);

 

Следующая программа выводит таблицу квадратных корней. Для оформления таблицы используется процедура программиста Line.

 







Дата добавления: 2014-11-12; просмотров: 696. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

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

Тема 5. Анализ количественного и качественного состава персонала Персонал является одним из важнейших факторов в организации. Его состояние и эффективное использование прямо влияет на конечные результаты хозяйственной деятельности организации.

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия