Операторы и математические функции. В C++ определены следующие арифметические операторы

В C++ определены следующие арифметические операторы.

+ cложение;

– вычитание;

* умножение

/ деление

% деление по модулю

– – декремент (уменьшение на 1)

++ инкремент (увеличение на 1).

Действие операторов +, –, * и / совпадает с действием аналогичных опера­торов в алгебре. Их можно применять к данным любого встроенного числового типа.

После применения оператора деления (/) к целому числу остаток будет отбро­шен. Например, результат целочисленного деления 10/3 будет равен 3. Остаток от деления можно получить с помощью оператора деления по модулю (%). На­пример, 10%3 равно 1. Это означает, что в С++ оператор % нельзя применять к нецелочисленным типам данных.

Операторы инкремента (++) и декремента (– –) обладают очень интересными свойствами. Поэтому им следует уделить особое внимание.

Оператор инкремента выполняет сложение операнда с числом 1, а оператор декремента вычитает 1 из своего операнда. Это значит, что инструкция:

х = х + 1;

аналогична такой инструкции:

++х;

А инструкция:

х = х –1;

аналогична такой инструкции:

– – х;

Операторы инкремента и декремента могут стоять как перед своим операн­дом (префиксная форма), так и после него (постфиксная форма). Например, ин­струкцию

х =х + 1;

можно переписать в виде префиксной

++х;//префиксная форма оператора инкремента

или постфиксной формы:

х++;//постфиксная форма оператора инкремента

В предыдущем примере не имело значения, в какой форме был применен опе­ратор инкремента: префиксной или постфиксной. Но если оператор инкремента или декремента используется как часть большего выражения, то форма его при­менения очень важна. Если такой оператор применен в префиксной форме, то C++ сначала выполнит эту операцию, чтобы операнд получил новое значение, которое затем будет использовано остальной частью выражения. Если же опера­тор применен в постфиксной форме, то С++ использует в выражении его старое значение, а затем выполнит операцию, в результате которой операнд обретет но­вое значение.

Математические функции

В языке С++ имеются специальные функции для расчета алгебраических выражений. Все такие функции находятся в отдельном заголовочном файле math.h. Поэтому для использования функций в коде программы необходимо подключить данный файл с помощью директивы

#include <math.h>

Приведем основные алгебраические функции С++.

abs(x) - модуль целого числа;

labs(x) - модуль «длинного» целого;

fabs(x) - модуль числа с плавающей точкой;

sqrt(x) - извлечение квадратного корня;

pow(x,y) - возведение x в степень y;

cos(x) - косинус;

sin(x) - синус;

tan(x) - тангенс;

acos(x) - арккосинус;

asin(x) - арксинус;

atan(x) - арктангенс;

exp(x) - експонента в степени x;

log(x) - натуральный логарифм;

log10(x) - десятичный логарифм

При возведении числа в дробную степень, знаменатель дробной степени нужно записывать в вещественном виде. Например: квадратный корень из а записывается так: pow(a,1/ 2.0)

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

y=(a+pow(b,2))/(sin(x)-4)
y=(sqrt(pow(a,3)+pow(b,2))-7)/(exp(4*x-1)+log(4*x))
y=(sin(pow(x,2))+pow(tan(z)))/fabs(pow(3*a,1/3)-exp(b+3))+pow(log(pow(b-2,2)),5) (начало)

5. Операторы ввода/вывода на языке С++

Для вывода сообщения на экран используется следующий оператор C++:

cout<<”текст”;

Оператор COUT находится в заголовочном файле iostream.h. Поэтому для его использования данный файл нужно подключить с помощью директивы:

#include <iostream.h>

Информация, заключенная в двойные кавычки, яв­ляется сообщением, которое должно быть выведено на экран. В языке C++ любая последовательность симво­лов, заключенная в двойные кавычки, называется стро­кой потому, что она состоит из не­скольких символов, соединяемых вместе в более крупный блок (элемент).

Строка в операторе COUT может содержать так называемые подстановочные символы - символы, которых нет на клавиатуре или они заняты под ключевые символы в тексте программы. Перед каждым таким подстановочным символов ставится символ «\».

Приведем перечень таких символов:

\a – звуковой сигнал

\n – переход на новую строку

\t – горизонтальная табуляция

\v – вертикальная табуляция

\\ - обратный слеш

\’ – одинарная кавычка

\” – двойная кавычка

\? – знак вопроса.

Например, оператор вида:

cout>>“пример\nтекста”;

Слово «пример» выведет на одной строке, а слово «текста» на другой.

Оператор вида:

cout>>“магазин\»”чайка\””;

Слово «Чайка» отобразит в двойных кавычках.

Кроме текса оператор может выводить на экран значения переменных, комбинируя их с текстом.

int a=10, b=12;

cout<<”a=”<<a<<”, b=”<<b

Форматированный вывод

Для выдачи значений заданной длины или точности оператор cout имеет ряд настроек:

  • cout.width(число) – общая длина выводимого значения
  • cout.precision(число) – число знаков после запятой
  • cout.fill(‘символ-заполнитель’) – символ, которым заполняются лишние позиции на экране

Настройка cout.width после выполнения одного оператора вывода сбрасывается в начальное значение. Поэтому ее приходится указывать отдельно для каждой переменной или строки.

Настройки этих параметров должны проводиться до вызова оператора вывода.

Например:

//описываем переменные

float a=125.478, b=625.365;

//задаем число знаков поле запятой

cout.precision(2);

//задаем заполнитель для лишний позиций

cout.fill(‘0’);

//выдаем значения переменных на экран

cout<<”a=”;

//задаем общую длину для числа

cout.width(8);

cout<<a;

cout<<” b=”;

//задаем общую длину для числа

cout.width(8);

cout<<b;

Регулировка ширины поля (width) и заполнителя (fill) имеет смысл при выдачи данных в таблицу. Чаще всего можно обойтись только настройкой precision.

Очистка экрана

Язык С++ имеет функцию, позволяющую очищать экран от текстовой информации. Эта функция имеет вид:

clrscr();

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

#include <conio.h>

Организация паузы для просмотра результата

После выполнения программы обычно происходит автоматичский возврат в окно с исходным текстом. Это не позволяет просмотреть результат, который программа выдает на экран. Выходом из этой ситуации может быть использование клавиш Alt+F5, при нажатии на которые происходит скрытие окна с кодом программы. Повторное нажатие на эти клавиши возвращает окно с кодом на экран.

Однако, если создать исполняемый EXE файл, то использовать эти клавиши будет невозможно и результат останется невидимым для пользователя.

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

getch();

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

#include <conio.h>

Оператор ввода данных с клавиатуры

Для вода данных с клавиатуры в С++ имеется оператор:

cin>>переменная;

Данный оператор приостанавливает работу программы и ждет пока пользователь не введет значение переменной и на нажмет ENTER.

C помощью одного оператора можно ввести значения нескольких переменных. Для этого оператор записывают в виде:

cin>>переменная1>>переменная2>>...>>переменнаяn;

При запуске программы каждое значение вводится через пробел и в конце нажимают ENTER.

Оператор COUT находится в заголовочном файле iostream.h. Поэтому для его использования данный файл нужно подключить с помощью директивы:

#include <iostream.h>(начало)

6. Пример программы на С++

Для демонстрации решим одну задачу. Составить программу для нахождения значения функции:

c=sina+cos2b

Программа может иметь вид:

//подключаем файл для организации ввода/вывода

#include <iostream.h>

//подключаем файл для использования алгебраических функций

#include <math.h>

//подключаем файл для вызова функции очистки экрана

#include <conio.h>

//заголовок главной программы

void main()

{

//описываем три переменных вещественного типа

float a,b,c;

//очищаем экран

clrscr();

//выдаем текстовую подсказку на экран

cout<<"Введите значения a и b:";

//запрашиваем ввод с клавиатуры двух переменных: a и b

cin>>a>>b;

//считаем значение функции

c=sin(a)+pow(cos(b),2);

//устанавливаем точность вывода результата 3 знака полсе запятой

cout.precision(3);

//выводим результат на экран

cout<<"Функция равна:"<<c<<"\n";

cout<<"Для продолжения нажмите любую клавишу...";

//делаем паузу для просмотра результата

getch();

//завершаем работу главной программы

return;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: