Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

Пример 2

PROGRAM AL;

VAR A,B,C:REAL;

FUNCTION FI (X:REAL):REAL;

BEGIN

F:=X*X-2*X+1.5;

END;

BEGIN

READ (A,B,C);

Z:=(F(A)+F(B))/F(C);

WRITE (Z);

END.

 

В программе описана функция с именем F, вещественного типа (REAL). В качестве формального параметра использована переменная X, вещественного типа. Обращения к функции F(A),F(B) и F(C) выполнены в операторе присваивания, здесь A,B,C -фактические параметры. В результате выполнения этого оператора переменной Z будет присвоено численное значение выражения:

A2-2A+1,5+B2-2В+1,5

C2-2C+1,5

При выполнении происходит замещение формальных параметров фактическими значениями

 

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

 

Пример 3. Вычислить значение функции Z = ak - bm

при а= 7,8; k=5; b=5,7; m=8.

Вычисление степени xn оформим в виде функции.

Анализ задачи показывает, что в ней нужно два раза выполнить одинаковые по структуре вычисления - расчет степени вещественного числа с разными показателями степени. Поэтому здесь для упрощения решения задачи можно использовать вычислительный процесс с применением подпрограммы. Окончательное вычисление функции Z осуществляется в основной программе. В подпрограмму вынесем участок вычисление степени, обозначим его ST, а используемые в ней аргументы, т.е. формальные параметры, обозначим X и N. Известно, вычисление значения y=xn (у= x*x*x*...*x) осуществляется в цикле и по сути есть накопление произведения. Для организации расчета наряду с формальным параметром понадобятся вспомогательные (локальные) переменные I и Y.

Локальными (местными) называются вспомогательные переменные, используемые внутри только подпрограммы. Подробнее о них поговорим ниже (п.5).

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

Рис.A Схема алгоритма к примеру 3

Программа может выглядеть след. образом:

 

PROGRAM STUD;

VAR Z,A,B: REAL;

K,M: INTEGER;

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

VAR Y: REAL;

I: INTEGER;

BEGIN

Y:=1;

FOR I:=1 to N do

Y:=Y*X;

ST:=Y;

END;

BEGIN

READ (A,B,K,M);

Z:= ST(A,K) - ST(B,M);

WRITELN(Z);

END.

 

В программе STUD дважды вызывается функция ST из описательной части. В теле функции произойдет замена формальных параметров X и N на фактические A и K при первом вызове и на B и M при втором. Затем, выполняется совокупность действий, предусмотренных операторами функции, и в программу будет возвращен результат. В подпрограмме наряду с формальными параметрами X и N использованы локальные переменные Y и I.

 

Пример 4. Вычислить площадь фигуры, состоящей из 3-х треугольников (см. рис. 2), стороны которых известны.

 

 

Площадь треугольника стороны которого a, b и c, а полупериметр p можно вычислить по формуле Герона:

Sтр =

Рис.B. Многогранник

Для вычисления площади многогранника, изображенного на рис.2, надо либо 3 раза использовать формулу Герона, либо оформить вычисление площади в виде процедуры или функции и обращаться к ней 3 раза. Схему алгоритма см. на рис.3; программа, в которой формула Герона оформлена как функция Str, приведена ниже.

Program pl;

var a,b,c,d,e,f,k,Sfig: real;

Function Str(a,b,c: real): real;

var p: real;

<== предыдущая лекция | следующая лекция ==>
Обращение к функции | Локальные и глобальные переменные
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 349; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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