Арифметические операции и выражения
Элементарные арифметические операции реализуются просто. Например:
int a, b; //заданы две переменные
a=4; b=5; //определены начальные значения
int c;
c=a+b; //сложение двух переменных
c=a-b; //вычитание
c=a*b; //умножение
c=a/b; //деление
с=a%b; /*деление по модулю, применима только к целочисленным переменным*/
Операция присваивания обозначается знаком =. Имеет самый низкий приоритет, правоассоциативная. Существуют дополнительные операции присваивания: +=, *=, /=, – =, %=.
Представленные операции можно выполнять и с числами, например:
с=10+5; с=8*4;
float d;
d=7/2;
Результат первых арифметических операций 15 и 32. При выполнении операции деления значение переменной d будет не 3,5, а 3. Это связано с тем, что операция деления может работать по-разному с переменными разного типа. Результат будет целочисленный, если переменные используются целого типа. Для реализации корректного деления используют одну из следующих записей:
d=7./2; d=7/2.; d=7./2.; d=(float)7/2.
Последний вариант используется для преобразования к другому типу при работе с переменными. Приоритет этой операции выше, чем у других арифметических операций.
Порядок выполнения операций умножения, деления и деления по модулю выше, чем операций сложения и вычитания. Одинаковые по старшинству операции выполняются слева направо. Для изменения порядка вычисления используют скобки.
В языке программирования С++ реализованы операции инкремента и декремента (увеличение и уменьшение значения переменной на 1), которые могут применяться только к переменным;
i++; ++i; //операция инкремента постфиксная и префиксная формы
i--; --i; //операция декремента.
Если операция инкремента стоит после имени переменной, то сначала выполняется операция присваивания, и только потом увеличения на 1. В другом случае все наоборот. Эти операции имеют самый высокий приоритет в выражении.
Выражение представляет конструкцию, составленную из констант, переменных, знаков операций, функций, скобок. Оно определяет порядок вычисления некоторого значения.
При вычислении некоторых выражений необходимо использовать математические функции в библиотеке math.h. Наиболее часто используемые функции:
abs(x) //вычисление модуля числа х
acos(x) //вычисление арккосинуса х
asin(x) //вычисление арксинуса х
atan(x) //арктангенс х
cos(x) //косинус х
exp(x) //экспонента от х
log(x)//натуральный логарифм х
log10(x)//логарифм десятичный х
pow(x,y) //х в степени у
sin(x) //синус х
sqrt(x) //корень квадратный х
tan(x) //тангенс х.
Практическая работа
Написать программу вычислений в соответствии с заданным вариантом. Поработать с переменными разного типа. Проанализировать результат работы программы.
Исходные данные вводит пользователь с клавиатуры.
1. Определить расстояние между двумя точками на плоскости.
2. Заданы 4 числа. Вычислить среднее арифметическое и среднее геометрическое их модулей.
3. Найти радиус окружности, описанной вокруг треугольника со сторонами а, b, с.
4. Найти радиус круга, вписанного в треугольник со сторонами а, b, с.
5. Определить площадь треугольника по трем углам и высоте.
6. Определить площадь треугольника по заданной стороне и трем углам.
7. Вычислить сопротивление цепи:
8. Вычислить сопротивление цепи:
9. По двум сторонам и углу между ними в треугольнике АВС найти два остальных угла и третью сторону.
10. В магазине продается костюмная ткань. Ее цена a руб. за кв. метр. Подсчитать стоимость куска этой ткани длиной x м и шириной y м.
11. Найти площадь ромба по стороне и острому углу.
12. В арифметической прогрессии известны 1-й член и разность d. Найти 30-й член этой прогрессии и сумму первых 40 членов.
13. Найти координаты центра отрезка, заданного координатами его концов.
14. Найти сумму всех натуральных чисел от 1 до m, используя формулу суммы членов арифметической прогрессии.
Контрольные вопросы
1. Привести примеры правильных и неправильных имен переменных.
2. Что такое операция декремента и инкремента.
3. Чему будет равно значение переменной с в строке программы float с=9/2.
4. В программе объявлена переменная int x=10. Определить результат вычисления:
х++, х%2, х/3, х/3., ++х+5, 5+х++.
5. В программе объявлена переменная float x=2. Определить результат вычисления:
х+=2, х/=10, х*=(x+1), х+=+=+=1.
Лабораторная работа № 2