Програмування мовою С/C++

Содержание

Слайд 2

http://www.tiobe.com/tiobe-index/

Сучасний стан рейтингу застосування мов згідно TIOBE

http://www.tiobe.com/tiobe-index/ Сучасний стан рейтингу застосування мов згідно TIOBE

Слайд 3

TIOBE Index for October 2016/2017

TIOBE Index for October 2016/2017

Слайд 4

Історичні етапи розвитку мови С

Поточний стан застосування С

Ядро Unix, Linux, Android, …

Історичні етапи розвитку мови С Поточний стан застосування С Ядро Unix, Linux,
реалізовані мовою С.

Слайд 5

Історичні етапи розвитку мови С++

Історичні етапи розвитку мови С++

Слайд 6

Перша програма мовою С

#include
#include
int main()
{
printf("Hello, world!\n");
getch();
return 0;
}

Перша програма мовою С #include #include int main() { printf("Hello, world!\n"); getch(); return 0; }

Слайд 7

Перша програма мовою С++

#include
int main()
{
std::cout<<"Hello, world!\n";
std::cin.get();
return 0;
}

Перша програма мовою С++ #include int main() { std::cout std::cin.get(); return 0; }

Слайд 8

#include
int main()
{
setlocale(LC_ALL, "Ukr");
double x= 2.5;
std::cout<<"Значення змiнної/об'єкту = "<

#include int main() { setlocale(LC_ALL, "Ukr"); double x= 2.5; std::cout std::cout std::cin.get();
std::cout<<"Адреса змiнної/об'єкту = "<<&x< std::cin.get();
return 0;
}

Налаштування виводу кирилиці

Слайд 9

Застосування iostream.h

Сучасні компілятори не підтримують застарілу бібліотеку С++
Ви отримаєте наступну помилку

Застосування iostream.h Сучасні компілятори не підтримують застарілу бібліотеку С++ Ви отримаєте наступну
при спробі підключення
# include

Слайд 10

Щоб запустити приклад (наприклад, з деякого підручника), який застосовує цю бібліотеку, необхідно:
Замінити

Щоб запустити приклад (наприклад, з деякого підручника), який застосовує цю бібліотеку, необхідно:
на нову бібліотеку
Добавити підключення «Простору імен» std наступною конструкцією: using namespace std;
Наприклад, попередня програма набуде наступного вигляду:
#include
using namespace std;
int main()
{
cout<<"Help me "< cin.get();
return 0;
}

Запустивши цю програму (кнопка F5), отримаємо наступний результат:

Примітка: Не слід зловживати конструкцією using namespace std;
Оскільки вона «вбиває» усю ідеологію застосування «Простору імен».
Детальніше в лекції «Створення/Застосування namespace (Простір імен)»

Слайд 12

Запуск програми на виконання

Існує два основних методи виконати програму
Створити файл (*.exe),

Запуск програми на виконання Існує два основних методи виконати програму Створити файл
який виконується (executable). Для цього застосовують компілятор.
За допомогою транслятора порядково виконувати програму без створення executable файла.
Примітка: мови програмування поділяють на ті, які компілюються (Сі, С++,…), інтерпретовані мови (perl, python, Matlab,....) та змішані.

Слайд 13

Транслятор
Компілятор
Інтерпретатор

Транслятор Компілятор Інтерпретатор

Слайд 14

Трансляція

Транслятор - програма або технічний засіб, що виконує трансляцію програми.
Трансляція програми –

Трансляція Транслятор - програма або технічний засіб, що виконує трансляцію програми. Трансляція
перетворення (переклад) програми, представленої на одній із мов програмування, в іншу мову програмування (у тому числі в машину мову).
Наприклад, мова С++ набула швидкої популярності тому, що Б’ярн Страуструп створив і підтримував транслятор мови С++ в С, в той час, коли ще компіляторів для С++ не існувало.

Слайд 15

Компілятор (різновид транслятора) - програма або технічний засіб, що виконує компіляцію.
Компіляція (різновид

Компілятор (різновид транслятора) - програма або технічний засіб, що виконує компіляцію. Компіляція
трансляції) - трансляція програми, створеної мовою оригіналу високого рівня, в еквівалентну програму, близьку до машинного коду (абсолютний код, об'єктний модуль, іноді на мову асемблера).
Компілювати - проводити трансляцію машинної програми з предметно-орієнтованої мови на машинно-орієнтовану мову.
Мови які компілюються : C, C++, Objective-C, Fortran, Swift, Delphi, тощо.

Компіляція

Слайд 16

Інтерпретатор

Інтерпретатор (різновид транслятора) - програма або технічний засіб, що виконує інтерпретацію.
Інтерпретація -

Інтерпретатор Інтерпретатор (різновид транслятора) - програма або технічний засіб, що виконує інтерпретацію.
пооператорний (порядковий) аналіз, обробка та виконання програми або запиту (на відміну від компіляції, при якій програма транслюється без її виконання).
Примітка: якщо в програмі в 9-тому рядку буде синтаксична помилка, то перших 8 рядків буде виконано а потім програма зупиниться.
Інтерпретаторні мови: bash, perl, pyton, Matlab, тощо.

Слайд 17

Основні етапи створення executable в С/С++ (компіляція програми у загальному сенсі)

Основні етапи створення executable в С/С++ (компіляція програми у загальному сенсі)

Слайд 18

Де починається С++? («Невеличке» забігання наперед )

С++ починається, коли ми переходимо до

Де починається С++? («Невеличке» забігання наперед ) С++ починається, коли ми переходимо
класів (class), а значить переходимо до об'єктно-орієнтованого програмування (ООП), а відповідно до основних його постулатів:
Інкапсуляція
Наслідування
Поліморфізм
Клас є просто представлення типу об'єкта; його можна представити як план (креслення), що описує об'єкт.
Подібно до того, як один план (креслення) може бути використаний для побудови декількох будівель, окремий клас може бути використаний для створення необхідної кількості об'єктів.

Слайд 19

Інкапсуляція (encapsulation) - це механізм, який об'єднує дані з кодом, що обробляє

Інкапсуляція (encapsulation) - це механізм, який об'єднує дані з кодом, що обробляє
ці дані, а також захищає і те, і інше від зовнішнього втручання або неправильного використання. В об'єктно-орієнтованому програмуванні код і дані можуть бути об'єднані разом; в цьому випадку говорять, що створюється так званий «чорний ящик». Коли коди і дані об'єднуються таким способом, створюється об'єкт (object). Іншими словами, об'єкт - це те, що підтримує інкапсуляцію.
Засіб реалізації інкапсуляції в С++ це class.
Одне з визначень класу: Клас - це механізм, який об'єднує дані з кодом, який обробляє ці дані. Захист даних виконується за допомогою специфікаторів доступу public, protected, private (детальніше у наступних лекціях).
Приклад класу який зберігає дані цілого типу (детальне пояснення цього прикладу у наступних лекціях).

Інкапсуляція

#include
class Demo
{
int data;
public:
int getData() const {return data;}
void setData( int d) {data=d;}
};
int main()
{
Demo d;
d.setData(45);
std::cout< std::cin.get();
return 0;
}

Слайд 20

Наслідування (inheritance) - це процес, за допомогою якого один об'єкт може набувати

Наслідування (inheritance) - це процес, за допомогою якого один об'єкт може набувати
властивостей іншого з можливістю розширити або перевизначити властивості базового об'єкту.

Наслідування

Поліморфізм (від грецького polymorphos) - це властивість, яка дозволяє одне і те ж ім'я використовувати для вирішення двох або більше схожих, але технічно різних завдань. Метою поліморфізму, стосовно об'єктно-орієнтованого програмування, є використання одного імені для завдання загальних для класу дій.
У більш загальному сенсі, концепцією поліморфізму є ідея «один інтерфейс, безліч реалізацій методів». Це означає, що можна створити загальний інтерфейс для групи близьких за змістом дій.
Наприклад, навчившись керувати одним легковим автомобілем (тобто Ви освоїли інтерфейс автомобіля) Ви можете керувати також і іншими легковими автомобілями. І Вас «не цікавить», що, наприклад, коробка передач чи гальма у різних автомобілях технічно реалізовано по різному, Ви просто їх використовуєте.

Поліморфізм

Слайд 21

Приклад наслідування/поліморфізму (детальне пояснення прикладу у наступних лекціях)

#include
class Point
{
int x,y;
public:
int

Приклад наслідування/поліморфізму (детальне пояснення прикладу у наступних лекціях) #include class Point {
getX() const {return x;}
int getY() const {return y;}
void setXY( int _x, int _y) {x=_x; y=_y;}
virtual void print() const {std::cout<< "x="< printPoint(p1);
printPoint(p2);
std::cin.get();
return 0;
}
Имя файла: Програмування-мовою-С/C++.pptx
Количество просмотров: 27
Количество скачиваний: 0