Дисципліна “ Об ’ єктно-орієнтоване програмування” — презентация
logo
Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Регламент
  • Основні визначення мови С++
  • Основні визначення мови С++
  • Основні визначення мови С++
  • Структура програми мовою С++
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Висновки:
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Стандартні типи даних
  • Стандартні типи даних
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Перетворення типів
  • Маніпулятор setw
  • Л І Н І Й НІ І РОЗГАЛУЖЕНІ АЛГОРИТМИ
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Функції форматного введення-виведення даних
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Розгалужені алгоритми
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
  • Дисципліна “ Об ’ єктно-орієнтоване програмування”
1/34

Структура дисципліни Аудиторні заняття: Лекції 8 год. Практичні заняття 24 год. Самостійна робота 73 год. Форма контролю ПМК 1 СумДУ / Секція ІТП / Чибіряк Я.І. Викладач Чибіряк Яна Іванівна Кафедра ІКТ (секція ІТП) Ауд. Г1306

Изображение слайда

Слайд 2

№ п/п Назва навчально - методичних матеріалів Вид Наяв-ність примірн. 1. Навчальна література (підручники, навчальні посібники) 1 Фридман А.Л. Основы объектно-ориентированного программирования на языке С++. – М.: Горячая линия – Телеком, Радио и связь, 1999. – 208 с. Книга 45 2 Шилдт Г. С++: руководство для начинающих. – М.: Изд. Дом. «Вильямс»,2005. – 672 с. Навч. посіб. 1 (ел. вигляд.) 3 Баженова И.Ю. С++ & Visual studio.NET. Самоучитель программиста. – М.: КУДИЦ-ОБРАЗ, 2003. – 448 с. Ел. докум. - 2. Навчально - методичні матеріали для забезпечення практичних занять 4 Методичні вказівки до виконання лабораторних робіт із дисципліни «Системне програмування та операційні системи» / укладачі: С. М. Ващенко, Я. І. Чибіряк. Друк. 20 СумДУ/Секція ІТП/Чибіряк Я.І. 2

Изображение слайда

Слайд 3: Регламент

Розподіл рейтингових балів : Робота на аудиторних заняттях (0,16  R = 16 балів): Лекції: 4 лк.  1 бал/лк. = 4 балів. Лабораторні заняття: 12 лб.  1 бал/пр. = 12 балів. Виконання практичних робіт (12 завдань) – максимально 60 балів (при позитивному оцінюванні з кожної практичної роботи до 5 балів); ; Складання модульних тестових контролів – всього 24 бали (один у кожному модульному циклі). Шкала оцінювання : у першому модульному циклі – 12 балів, у другому – 12 балів. Підсумок рейтингових балів за мод. циклами : 1-ий модульний цикл: (4 лк., 4 пр. робіт, захист; модульний контроль) – до 40 балів. 2-ий модульний цикл: (8 пр. робіт, захист; модульний контроль) – до 60 балів. СумДУ/ Секція ІТП/Чибіряк Я.І. 3

Изображение слайда

Алфавіт мови - властивий цій мові набір символів, з яких формуються усі конструкції мови. Для ідентифікації об'єктів програми ( змінні, константи, типи, підпрограми та ін.) використовуються ідентифікатори, або імена. Ідентифікатори починаються з латинської букви і можуть містити латинські букви, цифри і знаки підкреслення. Ключові (службові, зарезервовані) слова мають однозначний зміст і можуть використовуватися тільки так, як це задано в даній мові програмування. Алфавіт мови С (С++) включає: прописні латинські букви А.. Z; малі латинські букви а.. z; арабські цифри 0.. 9 ; роздільники :,,., ;, ?, ', !, |, /, \, ~, _, #, %, &, ^, =, - + * (, ) { } [ ] <, >; пробільні символи: SР, Н_ТАВ, СR, LF, V_ТАВ, FF, Сtrl - Z (кінець текстового файлу ); СумДУ/Секція ІТП/Чибіряк Я.І. 4

Изображение слайда

СумДУ/Секція ІТП/Чибіряк Я.І. 5 спеціальні символи: Основні визначення мови С++ Символ Опис \n Новий рядок (LF) \t Горизонтальна табуляція (Н_TAB) \r Повернення каретки (CR) \f Нова сторінка (FF) \a Звуковий сигнал \' Апостроф \” Лапки \\ Обернена коса риска (back slash) Директива препроцесора - це інструкція, що записується на початку програми, починається з символу «#» і виконується препроцесором. Препроцесор переглядає програму до компіляції, підключає необхідні файли, замінює символічні абревіатури в програмі на відповідні директиви і т. д.

Изображение слайда

Слайд 6: Основні визначення мови С++

// Однорядковий коментар в С++ /* Багаторядковий коментар в С++*/ СумДУ/Секція ІТП/Чибіряк Я.І. 6 Основні визначення мови С++

Изображение слайда

# include "stdafx.h" // директиви препроцесора # include <iostream> # include <conio.h> using namespace std; // директива using int _tmain(int arge, TCHAR* argv[]) // початок програми { // початок тіла програми cout <<" Hello!\n“ // оператор виводу на екран return 0; } // кінець тіла програми СумДУ/Секція ІТП/Чибіряк Я.І. 7

Изображение слайда

Слайд 8

Приклад 1. Програма, що містить елементи обчислень. # include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int arge, _TCHAR* argv[]) { int a, b, с ; // об ’ явлен ня змінних цілого типу а = 5; b = 10 ; // визначення змінних а і b с = а+ b ; // присвоєння змінній с суми а і b cout << "Value с = "<<c<<'\n'; _ getch (); // підключається за допомогою заголовного // файлу conio.h, return 0 ; // зупиняє виконання програми до натиснення // будь-якої клавіші } Маніпулятор endl переводить курсор на новий рядок, виконує очищення буфера рядка. СумДУ/Секція ІТП/Чибіряк Я.І. 8

Изображение слайда

Слайд 9

Приклад 2. # include "stdafx.h" # include <iostream> # include <conio.h> using namespace std; int _tmain(int arge, _TCHAR* argv[]) { double m, p, q; cout<<"lnput p and q :"; cin>>p>>q; m=p/q; cout<<"m = "<<m<<endl; _getch(); return 0; } СумДУ/Секція ІТП/Чибіряк Я.І. 9

Изображение слайда

Слайд 10: Висновки:

будь-яка програма містить заголовні файли, підключені директивою #include; програма завжди починається словом main(); перед використанням змінної її необхідно об ’ явити і в казати її тип. СумДУ/Секція ІТП/Чибіряк Я.І. 10

Изображение слайда

Слайд 11

Чи усе вірно в тексті програмі ? # include <iostream> using namespace std; int main() { int m, k; m = k+2; cout>>m ; } Виправити помилки, якщо вони є. # include <iostream> using namespace std; int main() {float r; соut<<"Введіть значення a"; cin>>a; соut<<"Введіть значення b"; cin>>b; r=a*b; cout<<"r = "<<r<<endl; return 0; } СумДУ/Секція ІТП/Чибіряк Я.І. 11

Изображение слайда

Слайд 12

Що буде виведено на екран в результаті роботи програми, якщо m= 13 і l= 4? # include <iostream> using namespace std; int main() { int p, I, m; со ut <<" Введіть значення m "; cin>>m; cout <<" Введіть значення I "; cin>>l; I = 2; m = 9; p = m + I; cout<<"p = "<<p<<endl; return 0 ; } СумДУ/Секція ІТП/Чибіряк Я.І. 12

Изображение слайда

Слайд 13: Стандартні типи даних

І м'я змінної пов'язане з областю пам'яті, яка відведена для зберігання значення цієї змінної. Змінні цілого типу СумДУ/Секція ІТП/Чибіряк Я.І. 13 Тип даних Розмір, байт Нижня межа діапазону Верхня межа діапазону [signed] char 1 -128 127 unsigned char 1 0 255 [signed] short 2 -32 768 32 767 unsigned short 2 0 65 535 [ signed ] int 2 -32 768 32 767 4 -2 147 483 648 2 147 483 647 unsigned int 2 0 65 535 4 0 4 294 967 295 [signed] long 4 -2 147 483 648 2 147 483 647 unsigned long 4 0 4 294 967 295

Изображение слайда

Слайд 14: Стандартні типи даних

Дійсні типи даних Змінні логічного типу Тип bool може мати два значення: false (лож) і true (істина). Ці змінні фактично займають 1 біт, але транслятори виділяють під них по 1 байту пам'яті. Константи const int intVal = 25; const float floatVal = 2.531; const char sym = '*'; СумДУ/Секція ІТП/Чибіряк Я.І. 14 Стандартні типи даних Тип даних Розмір, байт Точність Нижня межа діапазону Верхня межа діапазону float 4 1 3.4Е-38 3.4Е+38 double 8 15 1.7Е-308 1.7Е+308 long double 10 15 3.4Е-4932 1.1Е+4932

Изображение слайда

Слайд 15

Приклад. const long int LI = 1257L; // зберігається як long int const unsigned int Ul = 5317U ; // зберігається як unsigned int const unsigned long int ULI = 2UL; // зберігається як unsigned long intconst float PI = 3.14159F ; // зберігається як float const float PI = 3.14159f; // зберігається як float const long double M = 2.58316L ; // зберігається як long double const long double M = 2.583161 ; // зберігається як long double Визначення константи за допомогою директиви # define : # define PI 3.14159 Вирази Вирази - об'єднання операцій і операндів. Приклад. int b, а = 10; b = а + 25 ; Знак "=" - це знак присвоєння, а не знак рівності. СумДУ/Секція ІТП/Чибіряк Я.І. 15

Изображение слайда

Слайд 16

Типи операцій : арифметичні; відношень; логічні і порозрядні; інкремента і декремента; присвоєння. Арифметичні операції : * - множення; / - ділення; + - додавання ; − - віднімання; % - ділення по модулю (узяття залишку від цілочисельного ділення ). Операції відношень : < - менше; <= - менше або рівно; > - більше; >= - більше або рівно; == - рівно; ! = - не рівно. СумДУ/Секція ІТП/Чибіряк Я.І. 16

Изображение слайда

Слайд 17

Логічні операції && - логічне «І»; || - логічне «АБО»; ! - логічне заперечення. Властивості логічних операцій Властивості порозрядних операцій СумДУ/Секція ІТП/Чибіряк Я.І. 17 v1 v2 !v2 v1 && v2 v1 || v2 false false true false false false true false false true true false false true true true true true x y ~y x & y х|у х^у 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0

Изображение слайда

Слайд 18

Операція інкремент і декремент : ++ − інкремент; -- − декремент. оператор j = i++; (постфіксна форма запису) еквівалентний j = i; i++; оператор j = ++i; (префіксна форма запису) еквівалентний i++; j = i. Приклад. # include "stdafx.h" #include <stdlib.h> #include <iostream> #include <conio.h> using namespace std; int _tmain(int arge, _TCHAR* argv[]) { int sum, a=2, b=5; sum = a + b++; cout<<a<<' '<<b<<' '<<sum<<endl ; // 2 6 7 a=2; b=5; sum = a+++b; cout<<a<<' '<<b<<' '<<sum<<endl ; // 3 5 7 a=2; b=5; sum = (a++)+ b ; СумДУ/Секція ІТП/Чибіряк Я.І. 18

Изображение слайда

Слайд 19

Приклад (продовження). cout <<a<<' '<<b<<' '<<sum<<endl ; // 3 5 7 a=2; b=5; sum = a+(++b); cout<<a<<' '<<b<<' '<<sum<< endl ; // 2 6 8 _getch(); } Операції з присвоєнням : *=, /=, +=, - =, %=, <<=, >>=, &=, ^=, |=. Приклад. cnt+=50; // cnt=cnt+50; cnt%=2; // cnt=cnt%2; СумДУ/Секція ІТП/Чибіряк Я.І. 19

Изображение слайда

Слайд 20: Перетворення типів

Правила приведення типів: 1. Автоматично здійснюються тільки ті перетворення, які перетворюють операнди з меншим діапазоном значень в операнди з більшим діапазоном значень, наприклад: int i_var = 5; float f_var = 2.5, summa; … summa = i_var + f_var; 2. Вирази, що не мають змісту (наприклад, число з плаваючою комою в ролі індексу), не пропускаються компілятором ще на етапі трансляції: float f; … mas [f]=25; // викликає помилку трансляції (Error) 3. Вирази, в яких могла б втрачатися інформація (наприклад, при присвоєнні довгих цілих коротшим або дійсних цілим), можуть викликати попередження (Warning), але вони допустимі: int i; float f=3.2; i=f; // попередження (Warning) при трансляції СумДУ/Секція ІТП/Чибіряк Я.І. 20

Изображение слайда

Слайд 21: Маніпулятор setw

Маніпулятор setw дозволяє задати ширину поля виведення даних. Ширина визначає кількість знакомісць (символів), які відводяться під дані, що виводяться. Для його підключення потрібний заголовний файл < iomanip >. Приклад. # include "stdafx.h" #include <stdlib.h> #include <iostream> #include <conio.h> #include <iomanip> using namespace std; int _tmain(int arge, _TCHAR* argv[]) { long IVar = 5312647; int iVar = 536; char cVar = '*'; cout << setw(10) << IVar << setw(5) << iVar << setw(3) << cVar << endl; _ getch (); } СумДУ/Секція ІТП/Чибіряк Я.І. 21

Изображение слайда

Слайд 22: Л І Н І Й НІ І РОЗГАЛУЖЕНІ АЛГОРИТМИ

Лінійні алгоритми Лінійними називаються програми, в яких оператори виконуються один за одним від першого до останнього, не повторюючись і не змінюючи порядку свого виконання. Основні математичні функції мови С++ СумДУ/Секція ІТП/Чибіряк Я.І. 22 Функція Позначення функції Tun Ім'я файлу опису значення функції, що повертається аргумент Абсолютне значення abs(x) int int <stdlib.h> cabs(x) double double <math.h> fabs(x) float float <math.h> Арккосинус acos(x) double double <math.h> Арксинус asin(x) double double <math.h> Арктангенс atan(x) double double <math.h> Косинус cos(x) double double <math.h> Синус sin(x) double double <math.h> Експонента е х exp(x) double double <mafh.h> Статечна функція х у pow(x, y) double double <mafh.h> Логарифм натуральний log(x) double double <math.h> Логарифм десятковий loglO(x) double double <math.h> Корінь квадратний sqrt(x) double double <math.h> Тангенс tan(x) double double <math.h>

Изображение слайда

Слайд 23

Приклад 3.3. Зм інити місцями значення змінних х і у. # include "stdafx.h" #include <iostream> #include <math.h> #include <conio.h> using namespace std; int _tmain(int arge, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); int x, y, wrk; // wrk - робоча змінна cout << "Введите x и у ->"; ein >> x >> у; cout <<"x = " << x << " у = " << у << endl; wrk = x; // запам'ятати в wrk значення змінної х х = у; // поместить в х значение у у = wrk; // помістити в у значення х, що зберігається в wrk cout <<"x = " << х << " у = " << у << endl; _getch(); return 0 ; } СумДУ/Секція ІТП/Чибіряк Я.І. 23

Изображение слайда

Слайд 24: Функції форматного введення-виведення даних

printf ( " управляючий_рядок ", [список_аргументів]) Список аргументів - це послідовність констант, змінних або виразів, значення яких виводяться на екран дисплея відповідно до формату управляючого рядка. Список аргументів у функції printf() може бути відсутнім. Управляючий рядок визначає кількість і тип аргументів. Містить об'єкти трьох типів : звичайні символи, що виводяться на екран без змін, специфікації перетворення, кожна з яких викликає виведення на екран значення чергового аргументу з і списку аргументів, і символьні управляючі константи. Кожна специфікація перетворення починається з символу % і закінчується символом перетворення. Між ними можуть записуватися: знак мінус (-), що вказує на те, що текст, який виводиться, вирівнюється по лівому краю; за замовчуванням вирівнювання відбувається по правому краю; рядок цифр, що задаэ мінімальний розмір поля виведення; крапка, що є роздільником; рядок цифр, що задає точність виведення; символ l, вказує на те, що відповідний аргумент має тип long. СумДУ/Секція ІТП/Чибіряк Я.І. 24

Изображение слайда

Слайд 25

Символи перетворення : d - аргумент перетвор ю є ться в десяткове представлення; о - аргумент перетвор ю є ться у вісімкове представлення; х - аргумент перетвор ю є ться в шістнадцятиричне представлення; с - значенням аргументу є символ; s - значенням аргументу є рядок символів; е - значенням аргументу є величина типу float або double в експоненціальній формі запису; f - значенням аргументу є величина типу float або double у формі запису з десятковою точкою; g - один з форматів f або е; u - значенням аргументу є ціле беззнакове число; р – значенням аргументу є покажчик ( адреса). Функціїя scanf (): scanf (" управляю ч а строка ", список_аргументів); Список аргументів є обов'язковим. Аргументи функції scanf () повинні бути покажчиками на відповідні значення, для цього перед ім'ям змінної записується символ &. Управляючий, рядок містить специфікації перетворення і використовується для визначення кількості і типів аргументів. СумДУ/Секція ІТП/Чибіряк Я.І. 25

Изображение слайда

Слайд 26

Приклад: printf ("i=%d,\n j=%d,a=%6.2f.\n",i,j,a); Якщо i= 1234, j=127, a=86.531, то на экрані маємо: i =1234, j =127, а = 86.53. Допустиме використання символів заповнення: printf ("i =%06d,\n j=%d, a=%6.2f.\n", i, j, a); Значення i виглядає так: i =001234 scanf ("%d %f %c %s", &i,&a,&ch, r); СумДУ/Секція ІТП/Чибіряк Я.І. 26

Изображение слайда

Слайд 27: Розгалужені алгоритми

Передбачають вибір маршруту виконання програми залежно від істинності або помилковості деяких умов. Конструкції прийняття рішення : if if - else switch. Умовний оператор if if ( вира з ){оператор 1 оператор2; операторN; } // end if СумДУ/Секція ІТП/Чибіряк Я.І. 27

Изображение слайда

Слайд 28

if ( выраз = = значення) оператор; if ( выраз!=значення) оператор; if ( выраз>значення) оператор; if ( выраз !=0) оператор ; if ( выраз) оператор ; if ( вираз = значення ) оператор ; // ПОМИЛКА Приклад. #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); int у, c; cout << " Введіть рік:"; cin >> у; с = у/100; if (у%100 != 0)с+=1; cout << «Цей рік належить століттю"<< с << endl; _getch(); return 0; } СумДУ/Секція ІТП/Чибіряк Я.І. 28

Изображение слайда

Слайд 29

Оператор if- else if ( вира з ){ оператор 1 ; оператор2 } else {операторЗ; оператор4 ;} Вкладені галуження: if ( выра з1 ) оператор 1 ; else if ( выра з 2 ) оператор2 ; else if ( выра з З ) операторЗ ; else if ( выра з N ) операторN ; else // необов'язкова частина оператор_за замовчуванням ; СумДУ/Секція ІТП/Чибіряк Я.І. 29

Изображение слайда

Слайд 30

Умовн ий опера тор : змінна = вираз? значення1: значення2; Умовн ий вираз : if (вира з ) змінна = значен я1 ; else змінна = значен ня 2; Оператор множинного вибору switch ( вира з ) { case значення1 : оператор1 ; break; case значен ня 2 : оператор2 ; break; case значен ня З : операторЗ ; break; default: // необов'язковий компонент оператор_по_непорівнянню; // якщо не було жодного // співпадання. } //end switch ( вираз ) СумДУ/Секція ІТП/Чибіряк Я.І. 30 if (test = = 'Y') TestValue = 100; else TestValue = 0; … TestValue = (test = = 'Y')?100:0; …

Изображение слайда

Слайд 31

Приклад. # include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int_tmain(int arge, TCHAR* argv[]) { setlocale(LC_ALL, "Russian"); char sym; int op1, op2, res; cout << "Введите символ арифметической операции "; cin >> sym; switch (sym) {case '+': cout << "Сложение" << endl; cout << "1 слагаемое:"; cin >> op1; cout << "2 слагаемое:"; cin >> op2; res = op1 + op2; cout << op1 << '+' << op2 << '=' << res << endl; break; СумДУ/Секція ІТП/Чибіряк Я.І. 31

Изображение слайда

Слайд 32

case '-': cout << "Вычитание" << endl; cout <<"Уменьшаемое:"; c in >> op1; cout << "Вычитаемое:"; c in >> op2; res = op1 - op2; cout << op1 << '-' << op2 << '=' << res << endl; break ; case '*': cout << "Умножение" << endl; cout << "Множимое:"; cin >> op1; cout <<"Множитель:"; cin >> op2; res = op1 * op2; cout << op1 << '*' << op2 << '=' << res << endl; break; case ' / ': cout << "Деление" << endl; cout <<"Делимое:"; cin >> op1; cout <<"Делитель:"; cin >> op2; СумДУ/Секція ІТП/Чибіряк Я.І. 32

Изображение слайда

Слайд 33

if (op2 != 0) { res = op1 / op2; cout << op1 << '/' << op2 << '=‘ << res << endl; } else cout <<"Деление на 0 запрещено" << endl; break ; default:cout<<"He арифметическая операция"<< endl; } // end switch (sym) _getch(); return 0 ; } Визначити значення змінної w після виконання наступних операторів : w = 100 ; u = 30; switch (u/7) { case 0: w = 0; break; case 1: w = 1; break; case 2: w = 2; break; case 3: w = 3; break; default: w = 7; } СумДУ/Секція ІТП/Чибіряк Я.І. 33

Изображение слайда

Последний слайд презентации: Дисципліна “ Об ’ єктно-орієнтоване програмування”

Визначити значення змінної m після виконання наступних операторів : m =5; if ( x>0 ) { if (y>0)m = 10;} else m = 20; а) при x = -5, у = 7; б) при х = 2, у = -3; в) прих = 9, у = 3. СумДУ/Секція ІТП/Чибіряк Я.І. 34

Изображение слайда

Похожие презентации