Міністерство освіти і науки України
Лабораторна робота
Тема: Підпрограми-функції
Мета
вивчення засобiв мови Сi для програмування процедур, оволодiння прийомами складання алгоритмiв і програм з пiдпрограмами.
Теоретичні відомості
Мова Сi дозволяє використовувати лише один вид пiдпрограми:
процедуру-функцiю з параметрами. Характерною особливiстю процедури-функцiї є наявнiсть багатьох вхiдних параметрiв i одного вихi-
дного, який присвоюється iменi функцiї. Всi пiдпрограми повиннi
бути оголошенi в головнiй або пiдпорядкованих програмах. Оголо-
шення процедури-функцi має вигляд:
ТПЗ IПФ(СТП);,
де ТПЗ - тип значення, яке повертає процедура-функцiя;
IПФ - iм'я процедури-функцiє, iдентифiкатор;
СТП - список типiв дiйсних параметрiв.
Крiм оголошення, функцiя має бути визначена, тобто має бути вка-
зано що ця функцiя власне виконує. Визначення функцiї має вигляд:
ТПЗ IПФ(СФП){ОЗП;ТПФ;},
де:СФП - список формальних параметрiв i їх типiв;
ОЗП - оголошення внутрiшнiх (власних) змiнних функцiї;
ТПФ - тiло процедури, оператори та вирази.
Тiло процедури-функцiї може мiстити один або декiлька операто-
рiв. RETURN(вираз):його виконання приводить до завершення проце-
дури i повернення в програму, з якої функцiя викликалася. Якщо
цей оператор має вираз, то його значення присвоюється iменi про-
цедури i є результатом її виконання. Формальнi параметри функцiї,
якщо вони є, локалiзованi в її тiлi, пам'ять пiд них дублюється.
Локалiзованими є також внутрiшнi змiннi функцiї, їх значення теж
втрачаються пiсля виходу з процедури, якщо вони не мають клас па-
м'ятi static. Звернення до процедури-функцiї в головнiй програмi
вiдбувається шляхом вказування її iменi, пiсля якого в круглих
дужках дається список дiйсних параметрiв.
Забороняється передавати масиви в якостi параметрiв функцiї.
Натомiсть можна використовувати вказувачi на масиви. Масиви в
процедурi не дублюються.
Звернення до процедури графiчно вiдображаїться за допомогою
прямокутника з подвоїними бiчними сторонами.
Завдання №11.8
Оформити обчислення значення інтегральної функції Ф(x), використовуючи наближену формулу (x>0):
Програма
#include<math.h>
#define Pi=3.14
float func(int);
int fact(int);
main()
{
int x;
float Fx;
clrscr();
scanf(“%d”, &x);
Fx=func(x); printf(“%f”, Fx);
getch();
}
floar func(int x)
{
int n; float z;
for(n=1;n<10;n++)
z=pow(x/2,2n)/fact(n)(2n+1);
return(1-z*sqrt(2/pi);
}
int fact(int k)
{
f(k==1)return k;
k*=fact(k-1)
}
Блок-схема
Висновок
На цій лабораторній роботі я навчився створювати підпрограми-функції,
і оволодів прийомами складання алгоритмів.