Задание 5. Разработка функций пользователя




Функция – часть программы, имеющая определенное имя, предназначенная для выполнения каких-либо часто повторяемых в программе действий.

Функция может возвращать только одно значение простого типа: char, int, float, double и др., а также указатель на любой тип данных или функцию.

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

Если необходимо, чтобы функция работала со структурированными данными (массивы, строки, структуры и др.), или возвращала более одного значения, то в функцию передают адреса этих данных.

В контрольной работе определение функции пользователя [1, с.22] должно находиться после функции main(), поэтому необходимо произвести объявление функции пользователя до функции main().

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

Для определения четности числа можно использовать операцию %, находящую остаток от целочисленного деления. Если результат операции x % 2 равен 0, то х – четное, иначе – нечетное.

 

 

Пример: Написать функцию с именем Primer (X, Y) вещественного типа, находящую среднее значение двух вещественных чисел Х и Y. С ее помощью найти среднее значение трех пар чисел.

 

//Подключение стандартных библиотек

#include <stdio.h>

#include <conio.h>

float Primer (float x, float y); /* Объявление функции Primer: в функцию передается 2 значения вещественного типа (х и у), возвращается вещественное число*/

int main (int argc, char * argv[])

{

float a,b,c; //Объявления переменных вещественного типа

int ex;

/*Цикл для многократного ввода данных и вычисления результата*/

do{ //Начало цикла

printf ("\n Введите 2 числа (через пробел):");

//Вывод подсказки на экран

scanf ("%f %f",&a,&b); //Считывание данных с клавиатуры

c = Primer (a,b); //Вызов функции Primer

printf ("\n Среднее значение равно %f",c);

//Вывод результата

printf ("\n Повторить расчет?(да/нет = 1/0):");

//Запрос на повторение расчета

scanf ("%d",&ex); //Считывание данных с клавиатуры

}while (ex!=0); //Конец цикла (повторять пока ех не равно 0)

return 0;

}

 

//Определение функции Primer

float Primer (float x, float y)

{

float sredn; //Объявлен локальная переменная

sredn = (x + y)/2; //Расчет среднего начения

return sredn;

/*Возвращение результата в точку вызова функции*/

}

 

 

№ вар. Задание
1. Написать функцию с именем Min2(A,B) вещественного типа, находящую минимальное из двух вещественных чисел A и B. С помощью этой функции найти минимальные из пар чисел A и B, A и C, A и D, если даны числа A, B, C, D.
2. Написать функцию Max2(A,B) вещественного типа, находящую максимальное из двух вещественных чисел A и B. С помощью этой функции найти максимальные из пар чисел A и B, A и C, A и D, если даны числа A, B, C, D.
3. Написать функцию Fact (N) целого типа, вычисляющую значение факториала N! = 1·2·...·N (N > 0 — целое число). С помощью этой функции вычислить факториалы двух данных чисел.
4. Написать функцию Fact2(N) целого типа, вычисляющую значение "двойного факториала": N!! = 1·3·5·...·N, если N — нечетное, N!! = 2·4·6·...·N, если N — четное (N > 0 — целое число). С помощью этой функции вычислить двойные факториалы двух данных чисел.
5. Написать функцию Otr (Ax, Ay, Bx, By) вещественного типа, находящую длину отрезка AB на плоскости по координатам его концов по зависимости: |AB| = sqrt((Ax-Bx)2 + (Ay-By)2). (Ax, Ay, Bx, By — вещественные параметры). С помощью этой функции найти длины отрезков AB, AC, ВС, если даны координаты точек A, B, C.
6. Написать функцию Gip (K1, K2) вещественного типа определяющую длину гипотенузы прямоугольного треугольника по его катетам К1 и К2. С помощью этой функции найти гипотенузы 2-х треугольников.
7. Написать функцию S_3 (A, B, C) вещественного типа, определяющую площадь треугольника при известной длине его сторон A, B, C. С помощью этой функции найти площади двух треугольников.
8. Написать функцию S_tr (L1, L2, L3), рассчитывающую площадь симметричной трапеции по известной длине обоих оснований L1 и L2 и высоте L3. С помощью этой функции найти площади двух трапеций.
9. Написать функцию S_okr (R), определяющую площадь окружности по заданному радиусу R. С помощью этой функции найти площади двух окружностей.
10. Написать функцию Ves_Kg (Rasm, Ed_Izm), переводящую значение веса Rasm в граммах, центнерах и тоннах в килограммы. Единицы измерения Ed_Izm кодируются следующим образом: 1- граммы, 2 – центнеры, 3 – тонны. С помощью этой функции перевести несколько значений веса в килограммы.

 

 

Приложения


Приложение 1

Условные обозначения элементов блок-схем.

Название Символ (рисунок) Выполняемая функция (пояснение)
1. Блок вычислений Выполняет вычислительное действие или группу действий
2. Логический блок Выбор направления выполнения алгоритма в зависимости от условия (ветвление)
3. Блоки ввода/вывода Ввод или вывод данных вне зависимости от физического носителя
Вывод данных на печатающее устройство
4. Начало/конец (вход/выход) Начало или конец программы, вход или выход в подпрограмму
5. Предопределенный процесс Вычисления по стандартной или пользовательской функции
6. Блок модификации Выполнение цикла со счетчиком.
7. Соединитель Указание связи между прерванными линиями в пределах одной страницы
8. Межстраничный соединитель Указание связи между частями схемы, расположенной на разных страницах

 


Приложение 2

Образец оформления титульного листа

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

 

Брянский государственный технический университет

 

Кафедра «Металлорежущие станки и инструменты»

 

 

КОНТРОЛЬНАЯ РАБОТА

 

По дисциплине

«Программирование и основы алгоритмизации»

 

Студент гр. З 03 ИС

________ Иванов И.И.

Преподаватель

________ Петров П.П.

 

 

Брянск 2008



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: