Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Функція об'єкт мови програмування, що описує окремі фрагменти алгоритму і має власне ім'я. Використання функцій розбиває завдання на підзадачі, такий підхід носить назву структурного програмування.
Перш за все, функцію необхідно оголосити. Оголошення функції, аналогічно оголошенню змінної, визначає ім'я функції та її тип типи і кількість її аргументів і тип значення, що повертається.
Структура стандартного визначення функції:
тип результату
імя_функції (список_формальних_параметрів з вказівкою їх типів)
{
визначення _об'ектів;
виконувані _оператори;
}
// функція sum від трьох цілих аргументів
// повертає ціле число
sum(int a, int b, int c)
{
int result;
result = a + b + c;
return result;
}
Стандарт мови Сі передбачає також опис функції за допомогою прототипу.
Прототип в загальному вигляді виглядає так:
тип_результату
імя_функції (список типів параметрів);
Список параметрів може бути як з іменами параметрів, так і без них. Прототип закінчується “ ; ”.
Примітка: Прототип використовується тільки в тому випадку, якщо визначення функції знаходиться в іншому файлі або нижче за точку виклику функції. При описі функції бажано використовувати прототип.
Принципово важливим оператором тіла функції є оператор повернення з функції в точку її виклику:
return вираз; або
return;
Вираз в операторі повернення задає значення, що повертається функцією. Для функції типу void, що не повертає ніякого значення, вираз в операторі return відсутній.
Приклад роботи з функцією:
#include <stdio.h>
#include <conio.h>
double fact(int k)
{
int i; double j;
j=1.0;
for (i=1; i<=k; i++)
{
j*=i;
}
return j;
}
void main()
{
double c;
int n,m;
do
{
printf("\n Введіть n,m (n>=m) \n");
scanf("%d%d",&n,&m);
if (m<0||n<0||m>n) printf("Помилка! 0<=m<=n");
}
while (m<0||n<0||m>n);
c=fact(n)/(fact(m)*fact(n-m));
printf("%lf",c);
getch();
}
ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ
Завдання для практичного виконання:
Розробити блок-схему та програму визначення суми нескінченого ряду для заданого х та точності е, що змінюється в діапазоні від 10-1 до 10-10. Результати роботи програми вивести на екран у вигляді:
For e = 0.1000000015 x = 0.41 rezult = 0.099652327597141266
For e = 0.0099999998 x = 0.41 rezult = 0.151151791214942932
For e = 0.0009999999 x = 0.41 rezult = 0.152265697717666626
For e = 0.0001000000 x = 0.41 rezult = 0.152265697717666626
For e = 0.0000100000 x = 0.41 rezult = 0.152270331978797913
For e = 0.0000010000 x = 0.41 rezult = 0.152270466089248657
For e = 0.0000001000 x = 0.41 rezult = 0.152270466089248657
For e = 0.0000000100 x = 0.41 rezult = 0.152270466089248657
For e = 0.0000000010 x = 0.41 rezult = 0.152270466089248657
For e = 0.0000000001 x = 0.41 rezult = 0.152270466089248657.
Задачу знаходження нескінченої суми оформити у вигляді відповідної функції.
Варіанти завдань
№ |
Загальний член ряду |
Х |
1 |
0.31 |
|
2 |
0.1 |
|
3 |
0.61 |
|
4 |
0.1 |
|
5 |
0.5 |
|
6 |
0.27 |
|
7 |
0.7 |
|
8 |
0.85 |
|
9 |
0.71 |
|
10 |
0.29 |
|
11 |
0.72 |
|
12 |
0.11 |
|
13 |
0.64 |
|
14 |
0.56 |
|
15 |
0.63 |
|
16 |
0.4 |
|
17 |
0.2 |
|
18 |
0.65 |
|
19 |
0.45 |
|
20 |
0.63 |