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

Использование стандартных функций

Ряд действий над числами являются стандартными, и они оформлены в виде стандартных функций системы VisualC++. Например, часто используется вычисление квадрата исходного числа и получение абсолютного значения. Рассмотрим пример программы (листинг 1.9), в которой применяются функцииsqrt(для возведения в квадрат) иfabs(для получения модуля числа).

Листинг 1.9. Использование функций возведения в квадрат и вычисления модуля

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{ float N=5,M=-6;

N=sqrt(N);

cout << " sqtr(N) ="; cout << N;

M=fabs(M);

cout << "\n fabs(M) ="; cout << M;

_getch();

}

В табл. 1.3 представлены некоторые стандартные функции С/C++, которые наиболее часто используются на практике.

Таблица 1.3.Стандартные функции

Формат

Тип аргумента

Тип результата

Комментарий

sin(X)

double

double

Функция синус

cos(X)

double

double

Функция косинус

atan(X)

double

double

Функция арктангенс

tan(X)

double

double

Функция тангенс

fabs(X)

double

double

Модуль числа

exp(X)

double

double

log(X)

double

double

Натуральный логарифм

log10(X)

double

double

Логарифм по основанию 10

pow(X,a)

double

double

Возводит число в степень

sqrt(X)

double

double

rand(void)

double

Случайное число от 0 до RAND_MAX

В развитие темы приведем еще один пример программной разработки (листинг 1.10) с использованием вещественных чисел и обращения к стандартным функциям.

Листинг 1.10. Пример вычислительных действий над вещественными числами

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

float X,Y;

X=5.0;

Y=pow(X,2);

cout <<"5.0 в квадрате равняется "<<Y;

Y=tan(X);

cout <<"\Тангенс от 5.0 равняется"<<Y;

Y=sin(X);

cout <<"\nСинус от 5.0 равняется"<<Y;

Y=exp(X);

cout <<"\nЭкспонента от 5.0 равняется"<<Y;

_getch();

}

В рассматриваемом примере (листинг 1.10) вывод на экран не очень нагляден, удобнее для восприятия информации представить вещественные числа с ограничением числа разрядов (листинг 1.11). Здесь мы воспользовались для вывода функцией printf. Так, в следующей конструкции вывод ограничен двумя знаками после десятичной точки (что указывается после точки):

printf("\n%.2f",Y);

Листинг 1.11. Использование формата при выводе вещественных чисел

#include <iostream>

using namespace std;

#include <conio.h>

#include <math.h>

void main()

{

float X,Y;

X=5.0;

Y=pow(X,2);

cout <<"5.0 в квадрате равняется "<<Y;

Y=sqrt(X);

cout <<"\nКвадратный корень из 5.0 равняется"<<Y;

printf("\n%.2f",Y);

Y=sin(X);

cout <<"\nСинус от 5.0 равняется"<<Y;

printf("\n%.2f",Y);

Y=exp(X);

cout <<"\nЭкспонента от 5.0 равняется"<<Y;

printf("\n%.1f",Y);

_getch();

}

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

  • действия над переменными, расположенными в скобках, выполняются в первую очередь;

  • после вычисления значений внутри всех скобок вычисляются все функции;

  • после функций выполняются умножение и деление (они имеют одинаковый приоритет);

  • далее выполняются сложение и вычитание;

  • операции с одинаковым приоритетом выполняются слева направо.

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

Соседние файлы в папке файлы по информатике