Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №1.doc
Скачиваний:
16
Добавлен:
03.06.2015
Размер:
244.74 Кб
Скачать

1.6. Пользовательские функции. Рекурсия

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

возвращаемое значение имя функции (передаваемые параметры)

  1. Возвращаемое значение функции – функция может возвращать любые типы значений, а может ничего не возвращать, тогда в качестве возвращаемого значения функции будет тип void (пустой)

  2. Имя функции – может быть любым, но лучше всего давать имя функции в зависимости от ее назначения.

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

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

int max (int a, int b, int c){

if (a > b && a > c)

return a;

if (b > a && b > c)

return b;

if (c > a && c > b)

return c;

}

Рекурсия - это вид функции, которая вызывает саму себя. Рассмотрим пример рекурсии:

#include <conio.h>

#include <stdio.h>

int sum (int temp){

int i=0;

if (temp == 0)

return temp;

else

return temp+sum(temp-1);

}

main( )

{

printf ("%d", sum(5));

getch();

}

Этот пример рекурсивной функции (рекурсии) выводит сумму чисел до введенной в аргументе. Суть рекурсивной функции (рекурсии) состоит в том, что пока наше число не равно нулю, мы будем накапливать полученное число в аргументе и передавать в эту же функцию число, но на единицу меньшее. Т.е. на первом шаге мы в накоплении оставим 5, а передадим 4, далее мы к 5 прибавляем 4, а передаем 3. Вот как действует наша рекурсия.

2. Задание к лабораторной работе

Необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x изменяющихся от xn до xk (xn, xk - вводятся с клавиатуры) с шагом h=(xk-xn)/10 в следующем виде:

При x=0.1;

Y(x)=0.099833;

S(x) =0.099833;

При x=0.2;

Y(x)=0.198669;

S(x) =0.198669;

При x=0.3;

Y(x)=0.29552;

S(x) =0.29552;

При x=0.4;

Y(x)=0.389418;

S(x) =0.389418;

При x=0.5;

Y(x)=0.479426;

S(x) =0.479426;

При x=0.6;

Y(x)=0.564643;

S(x) =0.564642;

Близость значений S(x) и Y(x) во всем диапазоне значений x указывает на правильность вычисления S(x) и Y(x).

варианта

Y(x)

варианта

Y(x)

1

8

2

9

3

10

4

11

5

12

6

13

7

14

Число элементов ряда N– также вводится с клавиатуры.

варианта

S(x)

варианта

S(x)

1

8

2

9

3

10

4

11

5

12

6

13

7

14