Практическая работа №2 Арифметические операции и математические функции языка с



бет3/3
Дата25.01.2023
өлшемі59.99 Kb.
#468753
түріПрактическая работа
1   2   3
Практическая работа №2

4. Отладка программы

При отладке программы можно проверять правильность выполнения каждой операции. Для этого сложные операторы-выражения, разбиваются на последовательность операторов-выражений, в каждом из которых выполняется только одна операция. Результат каждой такой операции выводится на экран или отслеживается в пошаговом режиме.
5. Результаты работы программы

При работе программы на экран было выдано следущее:

Введите x, y >3.3 1.1

t1 = 0.348897

t2 = 0.0133405
6. Выводы

При выполнении лабораторной работы изучены следующие темы:


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





Приложение.

Операторы С++, применяемые в лабораторной работе


Операция


Назначение


Пример


Арифметические операторы

+

Сложение

x=x+z

-

Вычитание


x=y-z



*.

Умножение


x=y*z

/

Деление

x=y/z

%

Взятие по модулю или остаток; возвращает остаток целочисленного деления

x=y%z



^ Операторы присваивания

=

Присваивание

x=10

+=

Сложение с присваиванием


x+=10 (то же, что x=x+10)


-=

Вычитание с присваиванием

x-=10 (то же, что x=x-10)


*=

Умножение с присваиванием

x*=10 (то же, что x=x*10)


/=

Деление с присваиванием

x/=10 (то же, что x=x/10)




^ Логические операторы

&&

Логическое И

if ( (x<4) &&(y==7))


||

Логическое ИЛИ

if ( (x<4) ||(x==7))




^ Операторы отношения

==

Равно

if (x==10){…}


!=

Не равно

if (x!=10){…}




<

Меньше

if (x<10){…}

>

Больше

if (x>10){…}




<=

Меньше или равно


if (x<=10){…}


>=

Больше или равно

if (x>=10){…}




^ Унарные операторы

++

Инкремент (операция увеличения)

x++(то же, что x=x+1)


--

Декремент (операция уменьшения)

x--(то же, что x=x-1)


Для выполнения математических операций в программах используются арифметические операторы C++. Программы могут выполнять арифметические операции с константами (например, 3*5) или с переменными (например, payment — total).

Операция увеличения обеспечивает быстрый способ прибавления единицы к значению переменной. Следующие операторы, например, увеличивают значение переменной n на 1:



n = n + 1; n++;

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



++n; n++;

Так как первый оператор появляется до переменной, он называется префиксным оператором увеличения. Аналогично этому, второй оператор появляется после переменной и называется постфиксным оператором увеличенияC++ трактует эти два оператора по-разному. Например, рассмотрим следующий оператор присваивания:



nnn = n++; —постфиксный оператор увеличения, сначала присваивает переменной nnn значение n, а затем увеличивает n на единицу.

nnn = ++ n; — префиксный оператор увеличения, сначала увеличивает n на единицу n, а затем присваивает переменной nnn значение n.

Аналогичным образом двойной знак минус (--) соответствует оператору уменьшения C++. Префиксный и постфиксный операторы уменьшения C++ работают так же, как и соответствующие операторы увеличения, с той лишь разницей, что они уменьшают значение переменной на 1.


Выражения

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

Каждый операнд является, в свою очередь, выражением или одним из его частных случаев — константой или переменной.

Арифметические выражения на С++ должны быть записаны в одну строку. Круглые скобки используются в С++ в основном точно так же, как и в алгебраическом выражении.

Для гарантированной последовательности операций, операции выполняются в соответствии с приоритетами — правилами старшинства операций, которые, в общем совпадают с теми, которые используются в алгебре.


  1. Операции в выражениях, заключенных внутри круглых скобок, выполняются в первую очередь.


  2. Следующими выполняются операции умножения, деления и вычисления остатка. Если выражение содержит несколько операций умножения, деления и вычисления остатка. То операции выполняются слева направо. Например, a*b*c означает (a*b)*c.


  3. Операции сложения и вычитания выполняются последними. Если выражение содержит несколько операций сложения и вычитания, то операции выполняются слева направо. Операции сложения и вычитания имеют одинаковый приоритет.


Когда говорят о выполнении операций слева направо (или справа налево. Напримероперация присваивания, a=b=c означает a= (b=c) ), то имеют ввиду ассоциативность операций.

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

Результат вычисления выражения характеризуется значением и типом. Например, если a и b — переменные целого типа и описаны так:

int a=2, b=5;

то выражение a+b имеет значение и тип int, а выражение a=b имеет значение, равное помещенному в переменную a (в данном случае 5) и тип, совпадающий с типом этой переменной.

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

Математические библиотечные функции позволяют выполнять типовые математические вычисления.

Функция записывается путем записи имени функции, после которого записывается левая круглая скобка, затем аргумент функции (или список аргументов, разделенных запятыми), затем правая круглая скобка. При использовании функций математической библиотеки в программу нужно включать соответствующий заголовочный файл <math.h>.

Аргументами функции могут быть константы, переменные или выражения.


Некоторые стандартные математические функции.

Стандартные математические функции находятся в файле math.h.



abs - абсолютное значение целого числа - |x|

int abs(int x);



labs - абсолютне значення "длинного" целого числа - |x|:

long labs(long x);



fabs - абсолютное значение числа с плавающей точкой - |x|:

double fabs(double x);



sqrt - извлечение квадратного корня:

double sqrt(double x);



pow - возведение в степень:

double pow(double x, double y);



cos - косинус - cos x (здесь и далее x задается в радианах):

double cos(double x);



sin - синус - sin x:

double sin(double x);



tan - тангенс - tg x:

double tan(double x);



acos - арккосинус - arccos x:

double cos(double x);



asin - арксинус - arcsin x:

double sin(double x);



atan - арктангенс - arctg x:

double atan(double x);



atan2 - арктангенс - arctg x/y:

double atan2(double x, double y);



exp - експонента :

double exp(double x);



log - натуральный логарифм - ln x:

double log(double x);



log10 - десятичный логарифм - log10x:

double log10(double x);



Литература.

1. Дейтел П.Дж., Харви М. Дейтел. Как программировать на С++ .

Достарыңызбен бөлісу:
1   2   3




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет