- •Обзорные лекции по курсу
- •Параметры и аргументы функций
- •Int swap(int, int);
- •Void func();
- •Int MyFunction(int Number, float Point);
- •Int main ()
- •Void Out(double numb, double sig, bool fig)
- •Int. Main ()
- •Void PrintTest(void);
- •Int main о
- •Void PrintTest(void) {
- •Int main ()
- •Int main ()
- •Int main ()
- •Void ChangeFlag(void);
- •Void ChangeFlag(void)
- •Int main()
- •If(Flag)
- •Int Count(void);
- •Int main()
- •Int result;
- •Int Count(void)
- •Volatile short sTest;
- •Volatile const int vciTest;
- •Int main()
- •Int main ()
- •Int main 0
- •Int main()
- •Inline double sqr(double X)
- •Inline double Round(double X)
- •Int swap(int, int);
- •Void func();
- •Int main()
- •Int main 0
- •Упражнения для самопроверки
Int main ()
{ int count = 1;
long int result =1;
while(count && count <31)
{
cout « "Введите целое число: ";
cin » count;
for(int i=count; i>l; i--)
{ result *= i;
}
cout « result « '\n';
result = 1;
}
return 0;
}
Ту же задачу можно решить более элегантно, применив рекурсию:
#include <iostream.h>
long int fact(long);
Int main 0
{
int count = 1;
while(count && count <31)
{
cout « "Введите целое число: ";
cin » count;
cout « fact(count) « '\n';
}
return 0;
}
long int fact(long x)
{
if(x=0 || x=l)
return 1;
return x * fact(x-l);
}
Как видно, тело функции main () во втором примере максимально упростилось и занимается фактически вводом значения и выводом результата, в то время как все вычисления возложены на единственную содержательную строку в рекурсивной функции fact().
Математические функции
Прототипы стандартных математических функций определены в заголовочном файле math.h. Рассмотрим некоторые из них, наиболее часто употребляемые в повседневной работе.
Ранее уже упоминалась функция pow (),позволяющая возводить число в степень. Синтаксис данной функции выглядит следующим образом:
double pow(double x, double у);
Таким образом, компилятору сообщается, что необходимо число двойной точности х возвести в степень числа двойной точности у.
К данной категории также относятся логарифмические функции и функция извлечения корня числа:
double log(double);
// натуральные float logf ( float );
long double log1(long double);
double log10(double);
// десятичные
float log10f (float);
long double log101(long double);
double sqrt(double);
// корень числа
float sqrtf(float);
long double sqrt1(long double);
Другая большая группа - функции получения абсолютной величины числа,
int abs(int);
// целые
double fabs(double);
// двойной точности long labs(long);
// длинные
float fabsf(float);
// с плавающей точкой
long double fabsl(long double);
// длинные
// двойной
// точности
воспринимают в качестве параметра аргумент некоторого типа (свой для каждой из функций) и возвращают его беззнаковую форму.
Для вычисления остатка от деления числа х на у используется функция fmod (), которая имеет следующий синтаксис:
double fmod(double x, double у);
Стандартная библиотека располагает широким набором тригонометрических функций и их модификаций для различных типов аргументов:
// Арксинус:
double asm (double) ;
float asinf(float);
// Арктангенс: double atan(double);
float atanf(float);
// Арктангенс отношения y/x:
double atan2(double x, double y);
float atan2f(float, float);
// Косинус:
double cos(double);
float cosf(float);
// Гиперболический косинус:
double cosh(double);
float coshf(float);
// Синус:
double sin(double);
float sinf(float);
// Гиперболический синус:
double sinh(double);
float sinhf(float);
// Тангенс:
double tan(double);
float tanf(float);
// Гиперболический тангенс:
double tanh(double);
float tanhf(float);
Следует отметить, что углы тригонометрических функций указываются в радианах.Ниже приводится пример, осуществляющий перевод градусов в радианы и вывод значения синуса для введенного в градусах числа.
#includa <iostream.h>
#include <math.h>