- •Самарский государственный технический университет
- •Утверждено на заседании кафедры электротехники, информатики и компьютерных технологий 29.11.02.
- •For (инициализация; условие; модификация) операторы
- •Инкремент, декремент и составные операции присваивания
- •Составные операции присваивания
- •Порядок выполнения работы
- •Задание на выполнение лабораторной работы
- •Примеры составления прогамм
- •Листинг программы
- •Результат выполнения программы
- •Листинг программы
- •Результат выполнения программы
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •Приложение Математические функции
- •Типы данных
Инкремент, декремент и составные операции присваивания
Для сокращения записи операторов итерационного вида в С++ предусмотрен ряд специальных операций. К ним относятся инкремент, декремент и составные операции присваивания. Их часто применяют в циклах.
Инкремент (++) – автоувеличение переменной на единицу. Он имеет две формы: префиксную и постпрефиксную.
Префиксный инкремент (++x) – увеличение значения операнда (х) на единицу до его использования.
Например: int x; int y=++x; - в результате x=1; y=1.
Постпрефиксный инкремент (х++) - увеличение значения операнда (х) на единицу после его использования.
Например: int x=1; int z=x++; - в результате z=1; x=2.
Декремент (--) – автоматическое уменьшение переменной на единицу. Он так же как и инкремент имеет две формы: префиксную и постпрефиксную.
Составные операции присваивания содержат два разных знака операций, один из которых (второй слева) является простым оператором присваивания (=). Наиболее часто используемые арифметические составные операции и их эквиваленты приведены в табл.1.
Примечание. В С++ можно использовать множественное присваивание для однотипных переменных. Оно часто применяется для сокращения записи начальных установок.
Например: z=y=x=0.
Составные операции присваивания
Таблица 1
Знак операции |
Вид операции |
Пример |
Эквивалент |
* = |
Умножение с присваиванием |
х*=2 |
x=х*2 |
/ = |
Деление с присваиванием |
x/=5-y |
x=x/(5-y) |
+ = |
Сложение с присваиванием |
x+=y |
x=x+y |
- = |
Вычитание с присваиванием |
x-=y+0.5 |
x=x-(y+0.5) |
Пример. Вычислить значение гиперболического синуса shx с заданной точностью eps с помощью разложения в бесконечный ряд:
.
Вычисление заканчивается, когда абсолютная величина очередного члена ряда, прибавляемого к сумме станет меньше eps.
. . . . . . . . . . . .
double y,x,s;
cin>>x;
y=s=x; //множественное присваивание
for (int i=0; fabs(y)>eps; i++)
{ y*=pow(x,2)/(2*i+2)/(2*i+3); //очередной член ряда
s+=y;
if (i>500) //проверка на зацикливание
{ cout<<"\n Ряд расходится!";
break;
}
}
cout<<"\n Значение s="<<s;
. . . . . . . . . . . .
Порядок выполнения работы
Получить у преподавателя задание на выполнение лабораторной работы.
Составить словесно – формульный алгоритм решения задачи.
Составить блок-схему алгоритма.
Составить в письменном виде программу решения задачи на языке С++.
Создать в каталоге MyFile папку под своей фамилией, а в ней одноименный файл проекта.
Ввести текст составленной программы в окно редактора.
Произвести компиляцию программы (выявить синтаксические ошибки).
Произвести отладку программы (выявить логические ошибки).
Вывести на печать решение задачи и текст отлаженной программы.
Показать результаты работы преподавателю.
Примечание: При выполнении работы в случае необходимости можно воспользоваться справочным материалом, приведенным в Приложении к лабораторной работе (таблицы математических функций, приоритетов операций, типов данных и основных операций в ВС++5).