Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Л11-12_Функции_РЕ1_С+р.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
117 Кб
Скачать
☆

Int _tmain(int argc, _tchar* argv[])

{

double Y, a, b;

cout<<"Vvedite a, b :"<<endl;

cin>>a>>b; //Ввод чисел a и b

Y=sum(a, b); //Вызов функции, вычисляющей сумму двух чисел

cout<<endl<<"Y = "<<Y<<endl; //Вывод значения Y

getch();

return 0;

}

double sum(double c, double d) //Описание функции вычисления z=c+d

{

double z;

z=c+d; //Вычисление z=c+d

return z; //Возврат значения z в основную программу

}

Результат выполнения программы следующий:

Vvedite a, b :

5.4 4.3

Y=9.8

Пример 2. Разработать программу, использующую функцию вычисления факториала числа:

F = n! .

Для составления программы данное выражение запишем следующим образом:

F = n! = 1*2*3*4* …*n =

Блок-схема алгоритма решения данной задачи приведена на рис. 11.4.

а) б)

Рис. 11.4. Блок-схема алгоритма вычисления факториала числа с использованием функции:

а) основная программа; б) функция faktorial(int n)

Программа для функции, вычисляющей факториал числа n, будет иметь следующий вид:

int faktorial(int n); //Объявление (прототип) функции вычисления факториала

Int _tmain(int argc, _tchar* argv[])

{

int K;

cout<<"Vvedite K :"<<endl;

cin>>K; //Ввод числа K

F=faktorial(K); //Вызов функции, вычисляющей факториал числа

cout<<endl<<"Faktorial K= "<<K<<endl; //Вывод значения факториала числа K

getch();

return 0;

}

int faktorial(int n) //Описание функции вычисления факториала числа

{

int j, y;

y=1;

for(j=1; j<=n; j++) //Цикл для вычисления факториала числа

y=y*j;

return y; //Возврат значения y в основную программу

}

Результат выполнения программы следующий:

Vvedite k :

5

Faktorial K= 120

Пример 3. Разработать программу для вычисления числа соединений R из N элементов по M по формуле

R = ;

где расчет R производится с использованием функции.

Воспользуемся созданной в Примере 2 функцией factorial(int n) для вычисления факториала числа и будем обращаться к этой функции непосредственно в формуле для расчета R:

int faktorial(int n); //Объявление (прототип) функции вычисления факториала

Int _tmain(int argc, _tchar* argv[])

{

int N,M,R;

cout<<"Vvedite N i M (N>M) :"<<endl;

cin>>N>>M; //Ввод значений N и M

R=faktorial(N)/(faktorial(M)*faktorial(N-M)); //Формула для R (с трехкратным вызовом функции faktorial)

cout<<endl<<"R= "<<R<<endl; //Вывод значения R

getch();

return 0;

}

int faktorial(int n) //Описание функции вычисления факториала числа

{

int j, y;

y=1;

for(j=1; j<=n; j++)

y=y*j;

return y; //Возвращение в основную программу значения у

}

Результат выполнения программы следующий:

Vvedite n и m :

8 4

R= 70

5. Области действия и видимости переменных в программах в среде Visual С++ 2010

Область действия переменной – это часть или части программного кода, в которых данные переменные определены (доступны для действий с ними в данном месте программы).

С точки зрения области действия переменных различают три типа переменных:

- локальные;

- глобальные;

-формальные.

Локальные переменные – это переменные, объявленные в середине блока, в частности, внутри описания функции. Локальная переменная доступна в середине блока, в котором она объявлена. Блок открывается и закрывается фигурными скобками. Область действия локальной переменной – данный блок или функция.

Формальные переменные (параметры) – это переменные, объявленные при описании функции как ее аргументы. Формальные параметры используются в теле функции, как локальные переменные. Область действия формальных параметров – тело функции.

Глобальные переменные – это переменные, объявленные в основной программе вне какой-либо функции. Они могут быть использованы в любом месте программы. Область действия глобальной переменной – вся программа.

6. Функции и массивы в Visual С++ 2010

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

Заглавие функции, обрабатывающей массив, необходимо записать следующим образом:

float function (float A[n]);

или

float function (float A[ ], int n);

В этом случае вызов функции function из основной программы запишется следующим образом:

function (B, k);

Пример 4. Задан массив А из N произвольных чисел. Сформировать новый массив В, каждый элемент которого равняется частному от деления соответствующего элемента массива А на его максимальный элемент. На экран вывести начальный массив А, его максимальный элемент и массив В. Поиск максимального элемента массива А оформить функцией.

Запрограммируем функцию нахождения максимального элемента массива и его номера и используем ее в разрабатываемой программе следующим образом:

double Max(double B[],int n); //Объявление (прототип) функции поиска макс. элемента