Студопедия
Главная страница | Контакты | Случайная страница

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

ФУНКЦИИ, ОПРЕДЕЛЕННЫЕ ПОЛЬЗОВАТЕЛЕМ

Читайте также:
  1. ICQ - это способ общения в сети, который позволяет вести беседу с любым зарегистрированным в системе ICQ и подключенным в данный момент к Интернету пользователем.
  2. WEB-браузер - назначение, основные функции, программная реализация, методы обмена информацией с расширениями сервера.
  3. WEB-сервер - назначение, основные функции, программная реализация, конкретные примеры
  4. Билет 17.трудовая конфликт как социальный процесс: факторы возникновения, структура, функции, стадии протекания, способы регулирования
  5. Брак и семья. Семья и ее функции, понятие об ответственности родителей.
  6. Внебюджетные фонды в системе государственных финансов. Структура, функции, источники формирования внебюджетных фондов
  7. Внебюджетные фонды, их роль и функции, источники формирования.
  8. Выпуклость, вогнутость функции, точка перегиба.
  9. Гос.-во, функции, признаки.
  10. ГОСБЮДЖЕТ И ЕГО ФУНКЦИИ, РАСХОДЫ И ДОХОДЫ БЮДЖЕТА.

Кафедра ПОСТ

ФУНКЦИИ, ОПРЕДЕЛЕННЫЕ ПОЛЬЗОВАТЕЛЕМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторной работе № 17

по дисциплине

"Программирование"

для студентов специальностей

2-45 01 02 – Системы радиосвязи, радиовещания и телевидения

2-45 01 03 – Сети телекоммуникаций

Минск 2006

Составитель Балаш А.Н.

 

Издание утверждено на заседании кафедры ПОСТ

”28” января 2006г.,протокол № 5

Зав. кафедрой ПОСТ А.А.Прихожий


 

ФУНКЦИИ, ОПРЕДЕЛЕННЫЕ ПОЛЬЗОВАТЕЛЕМ

 

1. ЦЕЛЬ РАБОТЫ

 

1.1. Получение навыков в написании программ с использованием функций.

1.2. Изучение механизма передачи параметров по значению.

 

2. ЛИТЕРАТУРА

 

2.1. А. Н. Вальвачев, В. С. Крисевич. Программирование на языке ПАСКАЛЬ для персональных ЭВМ ЕС.-Минск: Вышэйшая школа,1989.-С.58..62.

2.2. В. С. Новичков, Н. И. Парфилова, А. Н. Пылькин. Алгоритмические языки в техникуме. ПАСКАЛЬ. - М.: Высшая школа,1990.-С.122..123,130..135.

2.3. Н. Д. Васюкова, В. В. Тюляева. Практикум по основам программирования. Язык Паскаль. - М.: Высшая школа,1991.- С.119..122.

 

3. ДОМАШНЕЕ ЗАДАНИЕ

 

3.1. Изучить по [2.1], [2.2], [2.3] правила записи подпрограмм-функций и способов обращений к ним; способы передачи параметров в подпрограмму-функцию; порядок выполнения программ, использующих подпрограммы.

3.2. Начертить блок-схему алгоритма решения и составить программу нахождения разности факториалов F=m!-k!. Вычисление факториала оформить в виде функции.

3.3. Подготовить бланк отчета.

 

4. ТСО И НАГЛЯДНОСТЬ

 

4.1.ПЭВМ IBM PC.

 

5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

 

5.1. Проверка домашнего задания и подготовки студентов к работе.

5.2. Подготовка ПЭВМ к работе.

5.3. Получение у преподавателя и выполнение индивидуального задания.

5.4. Оформление отчета по лабораторной работе.

 

6. СОДЕРЖАНИЕ ОТЧЕТА

 

6.1. Наименование и цели лабораторной работы.

6.2. Ответы на контрольные вопросы.

6.3. Постановка задачи.

6.4. Блок-схемы алгоритмов и тексты программ к задачам из индивидуального задания.

6.5. Результаты решения.

 

7. КОНТРОЛЬНЫЕ ВОПРОСЫ

 

7.1. Что такое подпрограмма?

7.2. При каких условиях целесообразно использование подпрограмм?

7.3. Для чего предназначены функции?

7.4. Что включает в себя заголовок функции?

7.5. Какая существует связь между формальными и фактическими

 

параметрами?

7.6. Как вы понимаете глобальные и локальные данные?

 

8. МЕТОДИЧЕСКИЕ УКАЗАНИЯ

 

8.1. Общие сведения.

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

Использование подпрограмм позволяет сократить объем и улучшить структуру программы с точки зрения наглядности и читаемости, уменьшить вероятность ошибок и облегчить процесс отладки программы.

В языке Паскаль подпрограммы реализуются в виде процедур и функций, которые вводятся в программу с помощью своего описания.

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

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

 

программы и в любой подпрограмме (процедуре и функции). Эти имена называются глобальными.

Имена, объявленные в подпрограмме, действуют только в этой подпрограмме и в любой объявленной в ней процедуре и функции. Такие имена называются локальными. Они недоступны для операторов основной программы.

 

8.2. Описание функции.

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

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

В заголовке функции за ключевым словом FUNCTION указывается ее имя, а в скобках - список параметров со своими описаниями. В заголовке определяется тип значения, возвращаемого функцией. Как правило, окончательный результат присваивается имени функции в конце тела функции.

Общая структура записи функции имеет вид:

FUNCTION F(q1:T1; q2:T2;...):T;

<Разделы определений и описаний локальных параметров и

подпрограмм>

BEGIN

P1;

P2;

....

F:=

END;

 

где F - имя функции; qi - имена формальных параметров;

Ti - типы параметров; T - тип результата;

Pi - операторы тела функции.

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

Функция может иметь собственные локальные константы, типы, переменные и вспомогательные процедуры и функции.

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

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

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

 

8.3. Пример.

Составить программу вычисления:

используя функцию для вычисления степени y=xn (а - вещественное, m - целое).

Схема алгоритма решения задачи представлена на рис.1,а,б.

Программа, реализующая данный алгоритм, имеет вид:

 

PROGRAM VST;

VAR M:INTEGER;

A,Z,R:REAL;

 

(* Функция вычисления степени *)

FUNCTION ST(N:INTEGER; X:REAL):REAL;

VAR I:INTEGER;

Y:REAL;

BEGIN (* ST *)

Y:=1;

FOR I:=1 TO N DO

Y:=Y*X;

ST:=Y

END; (* ST *)

BEGIN (* VST *)

READ (A,M);

WRITELN ('A=',A:5:2,' M=',M);

Z:=ST(5,A)+ST(5,1/A);

IF M=0 THEN R:=1 ELSE IF M>0 THEN R:=ST(M,A) ELSE

R:=ST(-M,1/A);

Z:=Z/(2*R);

WRITELN ('Z=',Z:6:2)

END. (* VST *)

 

Результаты выполнения программы при различных значениях M:

 

1.2 0 1.2 2 1.2 -3

A=1.20 M=0 A=1.20 M=2 A=1.20 M=-3

Z=1.45 Z=1.00 Z=2.50

 

Пояснение к программе. В программе приняты следующие обозначения: А –

 

вещественное число, которое нужно возвести в степень; М - целое число, обозначающее степень, в которую возводится число А; Z - вычисляемое значение; R - результат возведения числа А в степень m; ST - подпрограмма-функция, описывающая алгоритм вычисления степени y=xn.

В заголовке функции с именем ST перечислены формальные параметры N, X, определяющие ее исходные данные. Результат выполнения функции (значение локальной переменной Y) присваивается ее имени ST. Тип результата (тип функции) - REAL, который указывается в заголовке функции при ее описании.

Функция ST вызывается четыре раза для различных значений фактических параметров. В теле функции произойдет замена формальных параметров N,X на фактические: первый раз на 5,А; второй раз на 5,

1/А (a-5=1/a5); третий раз (если М>0) на М, А и четвертый раз (если М<0) на -М,1/А. Затем выполнится совокупность действий, предусмотренных операторами функции. Результат, полученный в подпрограмме-функции, присваивается ее имени и возвращается в основную программу.


 


Рис.1. Схема алгоритма решения задачи из пункта 8.3.:

а) схема алгоритма основной программы;

б) схема алгоритма подпрограммы-функции.

 

8.4. Параметры функций.

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

Параметры-значения определяют исходные данные для работы функций при каждом обращении к ним, в списке формальных параметров перечисляются через запятую с обязательным указанием их типов, например:

 

FUNCTION FACT(K:INTEGER):INTEGER;

FUNCTION PRM(I,J:INTEGER, R:REAL):REAL;

 

В качестве соответствующего фактического параметра может быть использовано любое выражение, результат вычислений которого принадлежит тому же типу, что и формальный параметр. В качестве простейшего выражения указанного типа может быть константа или переменная. В примере 8.3 формальные параметры N,X в заголовке функции - параметры-значения. При вызове функции осуществляется подстановка значений фактических параметров. В процессе выполнения подпрограммы формальные параметры могут изменяться, но это никак не отразится на соответствующих фактических параметрах-переменных, которые сохраняют те значения, которые имели до вызова подпрограммы. Поэтому параметры-значения нельзя использовать для передачи результатов из подпрограммы в основную программу!

Между формальными и фактическими параметрами должно быть соответствие по количеству параметров, по их типу и порядку следования.

 

8.5. Пример.

Вычислить ,

где V1,V2,V3 - объемы шаров с радиусами r1, r2, r3 соответственно.

Вычисление vi производить в подпрограмме-функции.

 

PROGRAM PRIM;

VAR R,Z;REAL; I:INTEGER;

FUNCTION OB(RAD:REAL):REAL;

VAR VI:REAL;

BEGIN

VI:=4/3*PI*SQR(RAD)*RAD;

OB:=VI

END;

BEGIN Z:=0;

FOR I:=1 TO 3 DO

BEGIN

WRITELN('ВВЕДИТЕ РАДИУС ШАРА');

READLN(R);

Z:=Z+OB(R);

END;

Z:=Z/3;

WRITELN('Z=',Z:6:2)

END.

 

Результаты выполнения программы:

ВВЕДИТЕ РАДИУС ШАРА

1.2

ВВЕДИТЕ РАДИУС ШАРА

1.4

ВВЕДИТЕ РАДИУС ШАРА

1.1

Z=8.10

 

9. ТРЕБОВАНИЯ К ЗНАНИЯМ И УМЕНИЯМ СТУДЕНТОВ

 

В результате выполнения лабораторной работы студенты должны:

- знать правила записи программ-функций и способов обращения к ним;

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

 


 

План 2002/03, поз. 134

 




Дата добавления: 2015-04-11; просмотров: 96 | Поможем написать вашу работу | Нарушение авторских прав

<== 1 ==> |


lektsii.net - Лекции.Нет - 2014-2025 год. (0.017 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав