Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3 С++.doc
Скачиваний:
2
Добавлен:
15.11.2019
Размер:
213.5 Кб
Скачать

Инкремент, декремент и составные операции присваивания

Для сокращения записи операторов итерационного вида в С++ предусмотрен ряд специальных операций. К ним относятся инкремент, декремент и составные операции присваивания. Их часто применяют в циклах.

Инкремент (++) – автоувеличение переменной на единицу. Он имеет две формы: префиксную и постпрефиксную.

Префиксный инкремент (++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;

. . . . . . . . . . . .

Порядок выполнения работы

  1. Получить у преподавателя задание на выполнение лабораторной работы.

  2. Составить словесно – формульный алгоритм решения задачи.

  3. Составить блок-схему алгоритма.

  4. Составить в письменном виде программу решения задачи на языке С++.

  5. Создать в каталоге MyFile папку под своей фамилией, а в ней одноименный файл проекта.

  6. Ввести текст составленной программы в окно редактора.

  7. Произвести компиляцию программы (выявить синтаксические ошибки).

  8. Произвести отладку программы (выявить логические ошибки).

  9. Вывести на печать решение задачи и текст отлаженной программы.

  10. Показать результаты работы преподавателю.

Примечание: При выполнении работы в случае необходимости можно воспользоваться справочным материалом, приведенным в Приложении к лабораторной работе (таблицы математических функций, приоритетов операций, типов данных и основных операций в ВС++5).