Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
8
Добавлен:
03.03.2016
Размер:
82.43 Кб
Скачать

5

ЛАБОРАТОРНАЯ РАБОТА №1

ИСПОЛЬЗОВАНИЕ ФУНКЦИЙ С РЕЗУЛЬТАТОМ В ВИДЕ ПРОСТОЙ ПЕРЕМЕННОЙ.

Цель работы: Изучить возможности функций, варианты их описания и использования при расчете и передаче простых переменных.

1.1 Требования к выполнению работы:

Для выполнения всех расчетов использовать одну функцию. Все промежуточные результаты выводить в функции. В основной программе необходимо организовать ввод всех численных значений переменных, которые являются исходными для выполнения расчетов, вывести на печать конечный результат.

Рассмотреть два варианта возврата искомого результата – через имя и через аргументы.

1.2 Теоретические положения

Функции.

При составлении функций, результатом работы которых является одна простая переменная, может быть использовано два варианта:

  • функция возвращает значение через свое имя.

  • функция возвращает значение через свое аргумент.

Функция возвращает одно значение через свое имя.

В данном варианте должны выполняться следующие требования:

  • при описании должен быть указан конкретный тип функции;

  • внутри функции должен присутствовать оператор return;

  • вызов функции не является самостоятельным оператором.

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

float f_max (float a,float b,float c)

{

float max;

if(a>b) max=a; else max=b;

if(c>max) max=c;

return max;

}

void main()

{

float x,y,z,rez;

scanf(“%f%f%f”,x,y,z,);

rez=max(x,y,z);

printf(“max=%.2f\n”, rez);

}

Функция возвращает одно или несколько значений через свои аргументы.

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

  • при описании указывается тип void;

  • аргументы с возвращаемыми значениями должны быть описаны как указатели (<тип> *ptx,…);

  • внутри описания функции этот аргумент должен быть указан как указатель *ptx=…;

  • вызов функции осуществляется как самостоятельный оператор <имя> (…,&x,…)

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

.

void find_max (float a,float b,float c, float *max)

{

if(a>b) * max=a; else *max=b;

if(c>*max) *max=c;

}

void main()

{

scanf(“%f%f%f”x,y,z,);

float x, y, z,rez;

find_max (x,y,z,&rez);

printf(“max=%.2f\n”, rez);

}

1.3 Варианты индивидуальных заданий

  1. Заданы действительное число a и целое n. Вычислить сумму

  1. Заданы действительное число a и целое n. Вычислить сумму

  1. Заданы действительное число x и целое n. Вычислить сумму

  1. Заданы действительные числа а и x и целое n. Вычислить сумму

x +(а* x2 )+(а2 *x3 )+…+(а n-1*xn)

  1. Заданы действительное число x и целое n. Вычислить

  1. Заданы действительное число x и целое n. Вычислить

  1. Заданы действительные числа a, b и целое n. Вычислить сумму

  1. Заданы действительные числа a, b и целое n. Вычислить сумму

  1. Заданы действительные числа v, u и целое n. Найти сумму

  1. Дано целое n. Найти

  1. Дано целое n. Найти

  1. Дано значение точности 0.01. Найти

  1. Дано значение точности 0.001. Найти

  1. Даны х>1 и значение точности 0.01. Найти

  1. Даны a, b и значение точности 0.01. Найти

  1. Даны a и значение точности 0.001. Найти

  1. Даны y и значение точности 0.01. Найти

  1. Даны a, b и значение точности 0.01. Найти

  1. Даны x, y и значение точности 0.01. Найти

  1. Дано значение точности 0.01. Найти

  1. Даны a и значение точности 0.00001. Найти

  1. Даны y и значение точности 0.00001. Найти

  1. Даны a, b и значение точности 0.00001. Найти

  1. Даны x, y и значение точности 0.00001. Найти

  1. Дано значение точности 0.0001. Найти

  1. Дано значение точности 0.0001. Найти

  1. Даны действительное число a и целое n. Вычислить

(a(a+a2)(a+a2+a3)(a+a2+a3+…+an))

1.4 Контрольные вопросы и практические задания:

  1. Каково назначение функций?

  2. Какие два этапа подразумевает использование функции ?

  3. Как осуществляется описание функции?

  4. Как выглядит заголовок функции?

  5. Какие существуют варианты вызова функции?

  6. Чем определяется тип функции?

  7. Как организуется работа оператора return?

  8. Какие требования предъявляются аргументам функции?

  9. Как выглядит заголовок функции, если результат возвращается через имя функции?

  10. Как осуществляется вызов функции, если результат возвращается через имя функции?

  11. Как выглядит заголовок функции, если результат возвращается через аргументы функции?

  12. Как осуществляется вызов функции, если результат возвращается через аргументы функции?