![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Описание функции. Указатель функцииСодержание книги Поиск на нашем сайте
Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово function, идентификатор (имя) функции, необязательный список формальных параметров, заключенный в круглые скобки, и тип возвращаемого функцией значения. Тело функции представляет собой локальный блок, по структуре аналогичный программе: Function <имя>[(<список формальных параметров>)]:<тип результата>; Const...; Type...; Var...; Begin <операторы> End; <имя> - любой допустимый идентификатор, напр., Fun1; <список формальных параметров> - последовательность идентификаторов (имен) формальных параметров и их типов, напр., Step:real, Mas: Type_mas,..., разделенных запятой; <тип результата > - тип возвращаемого функцией результата, напр. Integer, Real, и др. Среди входящих в функцию операторов должен обязательно присутствовать оператор присваивания, в левой части которого стоит имя данной функции. В точку вызова возвращается результат последнего присваивания. Обращение к функции осуществляется по имени с указанием списка аргументов. Каждый аргумент должен соответствовать формальным параметрам, указанным в заголовке, и иметь тот же тип. Рассмотрим пример вычисления выражения Z=(A5+AM)/2, в котором возведение в степень выполняется функцией Step. {Программа вычисления выражения Z=(A**5+A**M)/2} Рrogram DemoFunc; Var A,Z: Real; {Функция вычисления степени. N, X - формальные параметры, результат, возвращаемый функцией в точку вызова, имеет вещественный тип} Function Step(N: integer; X:real): Real; {Описание локальных переменных функции} Var I: Byte; {локальная переменная для организации цикла} Y: Real; {локальная переменная для хранения произведения одинаковых сомножителей} Begin Y:=1; {Цикл вычисления N-й степени числа X} For I:=1 to N do Y:=Y*X; {Присваивание функции результата вычисления степени} Step:=Y End; {Начало основной программы} Begin Write('Введите значение числа А и показатель степени M'); Readln(A,M); {Вызов функции Step с передачей ей фактических параметров} Z:=(Step(5,A)+Step(M,A))/2; Writeln('Для А =', A, ' M=', M, 'значение выражения равно', Z) End. Если функция изменяет значения формальных параметров-переменных или значения глобальных по отношению к данной функции переменных, то говорят, что функция имеет побочный эффект. Применение функций с побочным эффектом нарушает структурированность программы, поэтому их использование нежелательно.
Локализация имен в Turbo Pascal В Turbo Pascal допускается любой уровень вложенности процедур и функций. Для сложных программ имеются правила локализации имен, определяющие область действия для любого имени. Любое имя (константы, типа, переменной, процедуры или функции) определено только в пределах той процедуры или функции, в которой оно описано. Область действия распространяется на все внутренние процедуры или функции. Одно и то же имя может быть определено в каждой отдельной процедуре, функции или программе. При этом областью действия этого имени является процедура, функция или вся программа, в которой описан объект с данным именем, за исключением внутренних процедур, содержащих описание объекта с тем же именем. Варианты заданий
Содержание отчета (см. п. 1.10) 6.8. Контрольные вопросы 1. Что называется подпрограммой? 2. Какова структура программы с подпрограммами? 3. Какова структура процедур? 4. Какова структура подпрограммы-функции? 5. В чем состоит различие и сходство подпрограмм-процедур и подпрограмм-функций в Turbo Paskal? 6. Как обратиться к процедурам и функциям? 7. Что называется параметром и каково его назначение? 8. Назначение формальных и фактических параметров и их взаимосвязь. 9. Опишите последовательность событий при вызове процедур или функций. 10. Для чего используется пошаговый режим с заходом в процедуры и как его осуществить? 11. Каковы отличия параметров-значений от параметров-переменных, особенности их описания и применения? 12. Чем отличаются локальные и глобальные параметры? Какова область их действия?
Лабораторная работа № 7
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-26; просмотров: 345; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.168.65 (0.009 с.) |