1 Проф. Куссуль Н.М. Операции в С++. 2 Введение В языке C++ доступ к объектам и функциям обеспечиваотся выражениями операций операторов Выражения состоят.

Презентация:



Advertisements
Похожие презентации
1 Проф. Куссуль Н.М. Операции в С++. 2 Введение В языке C++ доступ к объектам и функциям обеспечивается выражениями операций операторов Выражения состоят.
Advertisements

Базові структури алгоритмів Інформатика-11 Тема-2.
Оператори. Введення і виведення даних. Оператор присвоювання Оператори це команди програми. Оператор присвоювання є основним оператором мови програмування.
Лекція 2 Тема: Операції. Вирази. Оператори.. План Операції Основні операції Порядок виконання операцій Додаткові операції Вирази Оператори Оператор присвоєння.
Типи даних мови Visual Basic та їх опис. Опис величин Величина - це об'єкт, який має стале або змінне значення. Основні характеристики величин: ім'я,
Основи алгоритмізації та програмування Вказівка повторення. Цикли.
Ковальчук О.М КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) КОМАНДИ РОЗГАЛУЖЕННЯ (Turbo Pascal 7.0) Інформатика-11 Тема-4 Ковальчук О.М., 2007.
Розгалуження в алгоритмах і програмах Алгоритми з розгалуженням.
Цикли в мові С++ Цикл - це процес виконання певного набору команд деяку кількість разів.
Урок 22 7 клас ЕЛЕКТРОННІ ТАБЛИЦІ ТП MS EXCEL. Використання формул і функцій
Тема 1. Вступ. Основи алгоритмізації Урок 3. Типові операції алгоритмізації Урок 4. Реалізація алгоритму на алгоритмічній мові Основи алгоритмізації та.
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
Поняття циклу. Класифікація циклів. Порівняльна характеристика циклів. Формати команд повторення мовою програмування.
Бройченко А.Г КОМАНДИ ПОВТОРЕННЯ (Turbo Pascal 7.0) КОМАНДИ ПОВТОРЕННЯ (Turbo Pascal 7.0) Інформатика-11 Тема-4.
Це така алгоритмічна конструкція, де за певних умов виконується команда або серія команд. З Передумовою (WHILE) З Післяумовою (REPEAT) З Параметром (FOR)
Думай і роби, роби і думай. Іван Андрійович Крилов.
Програми з розгалуженнями.Команда IF Підготувала Крилік Анастасія 7-Д.
Урок 27 5 клас. АЛГОРИТМИ З РОЗГАЛУЖЕННЯМИ.
Обробка табличних даних за допомогою вбудованих функцій Далі Введення формул до електронної таблиці Excel дає можливість виконувати різні обчислення в.
Розділ 3. Алгоритмізація і програмування п Алгоритми й основні алгоритмічні структури. Складання обчислювальних алгоритмів.
Транксрипт:

1 Проф. Куссуль Н.М. Операции в С++

2 Введение В языке C++ доступ к объектам и функциям обеспечиваотся выражениями операций операторов Выражения состоят из операций и операторов

3 Операции арифмотические логические отношения

4 Арифмотические операции Арифмотические операции применимы к любым комбинациям простых типов (bool, int, char, double): + (плюс, унарный и бинарный) - (минус, унарный и бинарный) * (умножение) / (деление) % (остаток от деления)

5 Пример арифмотических операций cout

6 Операции отношения Операции отношения применимы к любым комбинациям простых типов: = = (равно) ! = (неравно) > (больше) < (меньше) < = (меньше или равно) > = (больше или равно)

7 Пример операций отношения (a == 10) // Если два значения равны (a != b) // Если два значения не равны (a > 5) // Если первое значение больше второго (b

8 Логические операции Логические операции применимы к любым выражениям: ! (отрицание) && (логическое И) || (логическое ИЛИ)

9 Приоритоты и порядок выполнения операций Пріорит от Знаки операцій Назви операцій Порядок Виконання 1.. -> [] () вибір элемента за іменем вибір элемента за вказівником вибір элемента за індексом виклик функції обо конструювання значення постфіксний інкремент постфіксний декремент зліва-направо 2. sizeof ~ ! + - & new delete (ім'я_типу) розмір операнда в байтах префіксний інкремент префіксний декремент інверсія (поразрядное заперечення) логічне заперечення унарный плюс унарный мінус адреса виділення пам'яті обо створення звільнення пам'яті обо знищення перотворення типу справа-наліво 3..* ->* вибір элемента по імені через вказівник вибір элементу по вказівнику через вказівник зліва-направо

10 Приоритоты и порядок выполнения операций 4.*/%*/% множення ділення остапа від ділення цілих (ділення по модулю) зліва-направо додавання віднімання зліва-направо 6.> зсув вліво зсув вправо зліва-направо 7.< > = меньше більше меньше обо дорівнює більше обо дорівнює зліва-направо 8.== !== дорівнює не рівне зліва-направо

11 Приоритоты и порядок выполнения операций 9.&поразрядное Ізліва-направо 10.^поразрядное выключающие АБОзліва-направо 11.|поразрядное АБОзліва-направо 12.&&логічне Ізліва-направо 13.||логічне АБОзліва-направо 14.?:умов на операціясправа-наліво 15.= *=, /=, %=, +=, -=, &=, ^=, |= присвоювання (просте і складне)справа-наліво 16.throwгенерація виключеннясправа-наліво 17.,послідовність виражівзліва-направо

12 Выражение с приоритотом операций a =(1+2)*(2+3); C++ вычисляот данное выражение в следующем порядке: a = (1 + 2) * (2 + 3)= (3) * (2 + 3)= = 3 * (5)= 3*5 = 15;

13 Другие операции Операции сдвига: > (сдвиг вправо на 1 разряд (перегружен для ввода)) Поразрядные операции: & (поразрядная конъюнкция битовых представлений значений целочисленных операндов) | (поразрядная дизъюнкция битовых представлений значений целочисленных операндов) ^ (поразрядная исключающая дизъюнкция битовых представлений значений целочисленных операндов) Побитовые операции: ~ (операция инвертирования или побитового отрицания) ! (операция логического отрицания)

14 Другие операции Для увеличения (уменьшения) значения переменной в С++ используют следующие операции: Операции автоинкрементирования: a++; ++a; Операции автодекрементирования: a--; --a; Пример. Операции автоинкрементирования и автодекрементирования j =++i; //равносильно i =i+1; j=i; (префиксная форма) j =i++; //равносильно j =i; i= i+1; (пост префиксная форма)

15 Другие операции Операция с тремя операндами: выражение 1 ? выражение 2 : выражение 3 выражение 1 ? выражение 2 : выражение 3 1) Вычислить выражение 1. 2) Если выражение 1 = true, тогда вычисляотся значение выражения 2, которое и становится значением выражения. 3) Если выражение 1 = false, тогда вычисляотся выражение 3. Его результат являотся результатом всего выражения. Пример. Операция с тремя операндами х =(y

16 Операторы в С++ Операторы (присваивания, передачи управления): Выражение присваивания ­ включаот в себя оператор присваивания =. Пример. Выражение с оператором присваивания а = b + 1; y = z = 3.5; a = b + (c=3); //равносильно c=3 и a = b + c, Операторы присваивания могут объединяться с другими операторами a+=b; // a=a+b a*=a+b; // a=a*(a+b);

17 Умовний оператор Умовний оператор забезпечує виконання обо невиконання деякого оператора обо групи операторів в залежності від заданої умови if (умовний вираж) оператор 1; if (умовний вираж) оператор 1; else оператор 2; Приклад. Знайти мінімум з двох чисел x та y if (x

18 Оператори switch і break Зручним засобом выбору з множини варіантів є оператор switch, який має наступну форму записи: switch (вираж) { case константа 1: оператор 1; break; … case константаN: операторN; break; default : оператор; break; }

19 Пример оператора switch switch (rez) { case 5: соut

20 Типи операторів циклів При виконанні програми часто виникає необхідність не одноразового повторения однотипных обчислень над різними данными. цикли Для цик цілей використовують так звані цикли. Цикл Цикл представляє собою частину програми, у якій одні й ті самі обчислення реалізуються неодноразово над різними значениями одних й тих самих змінних (обєктів). Для організації циклів в С++ використовуються наступні три оператора: while, for і do-while

21 Цикл типу while Цикл типу while є циклом з передумовою. Він використовується у випадку, коли по-перше, не відома точна кількість повторів по-друге, при цьому немає необхідності, щоб цикл неодмінно був виконаний хоча б один раз. Синтаксис while (вираж) оператор; В якості виражу зазвичай використовуються умовні виражи. В загальному випадку можна використовувати виражи довільного типу. На місці оператора може стояти простой оператор обо сукупність операторів, обєднаних у блок дужками {}. Якщо вираж істинний (не рівний нулю), то тіло циклу виконується один раз, далі вираж перевіряється знову. Ітерації (перевірка умови та тіло циклу) виконуються до тих пір, попки вираж не стане хибним (рівним нулю).

22 Цикл типу while В якості виражу зазвичай використовуються умовні виражи. В загальному випадку можна використовувати виражи довільного типу. На місці оператора може стояти простой оператор обо сукупність операторів, обєднаних у блок дужками {}. Якщо вираж істинний (не рівний нулю), то тіло циклу виконується один раз, далі вираж перевіряється знову. Ітерації (перевірка умови та тіло циклу) виконуються до тих пір, попки вираж не стане хибним (рівним нулю).

23 Приклад. Цикл while int i=1, rez=1; while (i++ > rez; } if (i==10) cout

24 Цикл типу for Цикл типу for є циклом з парамотрами і зазвичай використовується у випадку, коли відома точна кількість повторів обчислень. При цьому виконуються три операції: ініціалізація лічильників циклів порівняння його значення з деяким граничным значенням зміна значення лічильника при кожному проходженні тіла циклу. Цикл for має наступну форму записи: for (вираж 1; вираж 2; вираж 3) оператор;

25 Приклад. Цикл for for (i=1, rez=1; i

26 Цикл типу do-while Цикл типу do-while є циклом з постумовою і використовується у тих випадках, коли невідома точна кількість повторів, але водночас цикл необхідно виконати не меньше одного разу Цикл типу do-while даже схожий на цикл типу while Різниця тільки в тому, що перевірка істинності виражу в циклі do-while має місце після виконання тіла циклу Цей цикл має наступну форму записи: do { оператор; }while (вираж);

27 Цикл типу do-while do cin >> r; while (r!=13); cout

28 Вкладені цикли Вкладеним циклом називають конструкцію, в якій один цикл виконується всередині другого. Внутрішній цикл виконується повністю під час кожної ітерації зовнішнього циклу. Приклад. Вкладені цикли Треба заповнити экран символами '#'. Можливий варіант розвязання має вигляд: for ( i=1; i

29 Керуючі операторы в циклах Виконання оператора break призводить до виходу з циклу, в якому він знаходиться, і переходу до наступного за циклом оператора. Якщо оператор break знаходиться всередині вкладених циклів, то його дія поширюється тільки на той цикл, в якому він безпосередньо знаходиться. Приклад. Використання оператора break Треба вгадати число з 10 спроб i=1; while( i++ >rez; if (rez==15) break; cout

30 Керуючі операторы в циклах Оператор continue може використовуватися тільки серед операторів тіла циклу. Цей оператор призводить до переходу до наступної ітерації без завершения поточної. Приклад. Використання оператора continue. Вводяться числа місяця для обробки. Необхідно здійснити перевірку коректності вводу. Число 31 буде кінцем обробки. while (den!=31) { cin >> den; if (den 31) continue; // Обробка числа den }

31 Операторы new и delete Операторы new и delete управление свободной памятью Выделяют память из кучи (heap) и освобождают ее. Куча (heap) область памяти для объектов, чей срок службы управляотся программой. Они более удобны и заменяют библиотечные функции malloc(), calloc() и free(). 3 способа использования оператора new: new type_name float* r= new float; new(type_name) float* r= new(float); new type_name[expression] распределение памяти для массива. float*r=new float[20];

32 Примеры Оператор new r=new float(5); // r=5 r=new float[5]; //r массив из 5 элементов new возвращаот базовый адрес объекта; если память недоступна 0 Оператор delete delete r; // удаляот скаляр delete []r; // удаляот массив тип возвращаемого значения void.