Программирование и основы алгоритмизации. Елизаров И.А - 14 стр.

UptoLike

Лабораторная работа 5
РАБОТА С ФУНКЦИЯМИ
Цель работы: Приобретение навыков работы с функциями.
Основные сведения
Функцииэто блоки языка программирования, самостоятельные единицы программы, спроектированные для решения
конкретных задач, обычно повторяющиеся несколько раз.
Объявление функций. Основная форма описания функции имеет вид:
тип <имя функции>(список параметров){<тело функции>}
Тип определяет тип значения, которое возвращает функция с помощью оператора return. Список параметров состоит из
перечня типов и имен передаваемых параметров, разделенных запятыми. Функция может не иметь параметров, но круглые
скобки необходимы в любом случае.
Пример 5.1. Выполнить вычисление по формуле, используя функцию:
22
yxz += .
Вариант 1 Вариант 2
# include<stdio.h>
# include<math.h>
double fn(double x,double y)
{return fabs(x*x+y*y);}
void main()
{double x,y,z;
printf("Введите х и y");
scanf("%lf%lf",&x,&y);
z=fn(x,y);
printf("z равно %lf",z);
}
# include<stdio.h>
# include<math.h>
double fn(double x,double y);
void main()
{double x,y,z;
printf("Введите х и y");
scanf("%lf%lf",&x,&y);
z=fn(x,y);
printf("z равно %lf",z);
}
double fn(double x,double y)
{return fabs(x*x+y*y);}
Как видно из примера 5.1, описание функции может быть произведено до и после функции main, а объявление функции,
т.е. задание ее прототипа необходимо производить до функции main. В примере 5.1 прототипом функции является строка
double fn(double x,double y).
В качестве аргумента (передаваемого значения) функции можно использовать массив. Одним из способов объявления
такой функции является строка:
тип <имя функции>(<тип элементов массива> *<имя массива>);
Пример 5.2. Объявить функцию, в качестве аргумента которой используется массив с именем ar, состоящий из 10
элементов типа
int.
1 способ:
void sort(int *ar); 2 способ: void sort(int ar[]); 3 способ: void sort(int ar[10]);
Пример 5.3. Оформить сортировку массива в виде функции.
# include<stdio.h>
void sort(int *arr,int n);
void main()
{ int mass[10]={1,3,-5,7,9,0,22,4,6,8};
int size=10,i;
for(i=0;i<10;i++) printf(" %d",mass[i]);
sort(mass,size);
printf("\n");
for(i=0;i<10;i++) printf(" %d",mass[i]);
}
void sort(int *arr,int n)
{ int i,j,tmp;
for(i=0;i<n-1;i++)