
- •Передмова
- •1 Програмування: термінологічний словник
- •1.1 Алгоритм, програма, мови програмування
- •1.2 Елементи мови програмування
- •1.3 Основи об’єктно-орієнтованого програмування
- •1.4 Сучасні об’єктно-орієнтовані технології
- •2.1 Найпростіша програма
- •2.2 Директиви препроцесора
- •2.4 Граничні значення і розмір змінних різних типів
- •2.5 Приведення (перетворення) типів
- •2.7 Стандартні математичні функції
- •2.8 Команди потокового вводу-виводу
- •2.9 Стандартні функції вводу-виводу мови с
- •2.20 Масиви
- •2.21 Динамічні масиви
- •2.22 Перерахований тип enum
- •2.24 Глобальні, локальні і статичні змінні
- •2.25 Масив як параметр функції
- •2.26 Рядки і функції обробки рядків
- •2.27 Структури
- •2.28 Обробка виключних ситуацій
- •3.6 Конструктор копіювання
- •3.7 Динамічне створення об’єктів типу класу
- •3.8 Вкладені класи (1)
- •3.9 Вкладені класи (2)
- •3.10 Вкладені класи (3)
- •3.11 Вкладені класи (4)
- •3.12 Вкладені класи (5)
- •3.13 Дружні функції (1)
- •3.14 Дружні функції (2)
- •3.15 Успадкування
- •3.16 Статичний поліморфізм, перевантаження методів
- •3.17 Перевантаження операторів
- •3.18 Динамічний поліморфізм, віртуальні функції (1)
- •3.19 Динамічний поліморфізм, віртуальні функції (2)
- •3.20 Успадкування множинне
- •3.21 Діамантове успадкування
- •3.22 Діамантове віртуальне успадкування
- •3.23 Динамічне приведення і ідентифікація типів (dynamic_cast і typeid)
- •3.24 Шаблони функцій (1)
- •3.25 Шаблони функцій (2)
- •3.26 Шаблони класів
- •3.27 Шаблони класів і віртуальні методи
- •3.28 Застосування флагів форматування при потоковому вводу-виводі
- •3.29 Установка флагів за допомогою функцій-маніпуляторів
- •3.30 Створення функції-маніпулятора
- •3.31 Перевантаження операторів потокового вводу-виводу
- •3.32 Клас рядкових потоків
- •3.33 Бінарні файли
- •3.34 Бінарні файли прямого доступу
- •3.35 Шаблон структури "пара" бібліотеки stl
- •3.36 Використання бібліотеки stl
- •4 Приклади використання компонентів vcl
- •4.1 Поради для вивчення компонентів:
- •Код програми
- •4.3 Класи AnsiString (String) – тип рядків
- •TApplication - додаток (див. Також tApplicationEvents)
- •TScreen – стан екрану
- •TList – список вказівників, tObject – базовий клас vcl
- •TComponent – базовий клас компонентів, tControl – базовий клас візуальних компонентів
- •TWinControl – базовий клас віконних компонентів, tGraphicControl – базовий клас графічних компонентів
- •TStrings – базовий клас списку рядків, tStringList – список рядків
- •TStream – базовий клас потокових об’єктів, tMemoryStream – потік в динамічній пам’яті
- •TThread – потік керування
- •TForm - форма Створення модальних форм
- •Створення модальних форм розміщених у dll
- •Створення mdi форм
- •Створення mdi форм розміщених у dll
- •4.4 Компоненти Standard tFrame – кадр, контейнер компонентів
- •TMainMenu – головне меню, tPopupMenu – контекстне меню, tActionList – список дій
- •TLabel – мітка, надпис
- •TButton - кнопка
- •TRadioButton - перемикач
- •TCheckBox - прапорець
- •TEdit – поле редагування
- •TMemo – багаторядкове поле редагування
- •TListBox – список рядків
- •TComboBox – випадаючий список рядків
- •TScrollBar – смуга прокручування
- •TPanel - панель
- •4.5 Компоненти Additional tBitBtn – кнопка з піктограмою
- •TSpeedButton – кнопка з піктограмою і фіксацією
- •TMaskEdit – поле редагування з шаблонами
- •TStringGrid - таблиця
- •TDrawGrid – таблиця зображень
- •TImage – контейнер графічних зображень, tPicture – графічне зображення
- •TShape – геометрична форма, tBrush - пензель, tPen - перо
- •TScrollBox – контейнер прокручування
- •TCheckListBox – список рядків з індикаторами
- •TSplitter - розділювач
- •TControlBar – контейнер інструментальних панелей
- •TApplicationEvents – перехоплювач подій додатку
- •TValueListEditor – компонент редагування списків, які містять пару ім’я/значення
- •TLabeledEdit – поле редагування з надписом
- •TColorBox – вікно вибору кольору, tColor - колір
- •TChart - діаграма
- •4.6 Компоненти Win32 tTabControl - вкладки
- •TPageControl - сторінки
- •TImageList – список зображень, tBitmap – зображення, бітова матриця
- •TRichEdit – багаторядкове поле редагування з розширеним форматуванням
- •TTrackBar - повзунок
- •TProgressBar – індикатор прогресу
- •TUpDown – спарені кнопки вверх-вниз, лічильник
- •THotKey – клавіша гарячого виклику
- •TAnimate – анімація відеозаписів
- •TDateTimePicker – вибір дати/часу, tDateTime – дата/час
- •TMonthCalendar - календар, tDate - дата
- •TTreeView – деревовидний список
- •TListView – табличний список елементів
- •THeaderControl - заголовки
- •TStatusBar – рядок стану
- •TToolBar – панель інструментів
- •TCoolBar – панель зі шторками
- •TPageScroller – панель з прокручуванням
- •TComboBoxEx – комбінований список зі значками
- •4.7 Компоненти System tTimer - таймер
- •TPaintBox – область рисування, tCanvas - канва, tBrush - пензель, tPen - перо
- •TMediaPlayer – мультимедіа плейер
- •TOleContainer – контейнер ole
- •TDdeServerConv, tDdeServerItem, tDdeClientConv, tDdeClientItem – компоненти для динамічного обміну даними
- •4.8 Діалогові вікна tOpenDialog – відкриття файлу, tSaveDialog – збереження файлу
- •4.9 Робота з базами даних
- •Інший варіант доступу до бази даних (за допомогою tDatabase)
- •4.10 Компоненти Indy для роботи з мережею
- •5 Створення компонентів vcl
- •Код компоненту tButtonEx Файл ButtonEx.H
- •Файл ButtonEx.Cpp
- •6 Створення dll
- •7 Створення і використання компонентів com
- •Використання створеного ActiveX компоненту ButtonX
- •Відміна реєстрації ActiveX серверу ButtonX
- •9 Створення активної форми (Active Form)
- •Використання створеної форми ActiveFormX
- •10 Робота з компонентами-серверами com ms Word і ms Excel
- •11 Створення компонентів corba
- •Створення сервера corba
- •Створення клієнта corba
- •12 Бібліотека основних класів Microsoft mfc cEdit - поле редагування (1)
- •CListBox - список
- •CComboBox - комбінований список
- •CString - рядок
- •CImage - рисунок, cdc - контекст пристрою
- •CClientDc - контекст пристрою, cPoint - точка
- •Створення додатків Win32 з графічним інтерфейсом
- •Код програми
- •Код програми
- •14 Задачі
- •Задачі 3 Сучасні об’єктно-орієнтовані технології
- •Перелік рекомендованих джерел
- •Об’єктно-орієнтоване програмування
- •Технологія com
- •Програмування на c# .Net
Міністерство освіти і науки України
Івано-Франківський національний технічний
університет нафти і газу
Кафедра програмного забезпечення автоматизованих систем
Кафедра технології нафтогазового машинобудування
Відкритий міжнародний університет розвитку людини "Україна"
Івано-Франківська філія
Кафедра інформаційних технологій та програмування
Р.В.Скальський
Програмування на С++.
Приклади програм з коментаріями
Навчальний посібник
Для студентів спеціальностей
"Програмне забезпечення автоматизованих систем"
"Технологія машинобудування"
Івано-Франківськ
2008
МВ 02070855-2071-2008
Копей В.Б., Лютак І.З., Сторож Я.Б. Програмування на С++. Приклади програм з коментаріями: Навчальний посібник. – Івано-Франківськ: Факел, 2008. – 170 с.
Навчальний посібник містить довідкові матеріали по мові програмування С++: термінологічний словник термінів програмування та приклади програм на мові С++ з детальними коментаріями. Пропонується для самостійного опрацювання студентами спеціальностей "Програмне забезпечення автоматизованих систем" та "Технологія машинобудування". Може бути корисним усім, хто вивчає та програмує на С++.
Рецензенти:
Канд. техн. наук, доцент кафедри комп’ютеризованого машинобудівного виробництва ІФНТУНГ О.Р. Онисько
Доктор техн. наук, зав. кафедри програмного забезпечення автоматизованих систем ІФНТУНГ В.М. Юрчишин
Канд. техн. наук, проректор з наукової роботи Відкритого міжнародного університету розвитку людини "Україна" К.О. Кольченко
Канд. техн. наук, доцент кафедри комп’ютерних інформаційних технологій Тернопільського національного економічного університету М.Я. Шпінталь
Канд. техн. наук, доцент кафедри інформатики Прикарпатського національного університету ім. Василя Стефаника В.О. Горелов
Дане видання – власність ІФНТУНГ. Забороняється тиражування та розповсюдження без відома автора.
Зміст
с.
Передмова 10
1 Програмування: термінологічний словник 11
1.1 Алгоритм, програма, мови програмування 11
1.2 Елементи мови програмування 13
1.3 Основи об’єктно-орієнтованого програмування 22
1.4 Сучасні об’єктно-орієнтовані технології 27
2 Основи програмування мовою C++ 33
2.1 Найпростіша програма 33
2.2 Директиви препроцесора 33
2.3 Основні типи даних С++ 34
2.4 Граничні значення і розмір змінних різних типів 35
2.5 Приведення (перетворення) типів 35
2.6 Арифметичні оператори С++ 35
2.7 Стандартні математичні функції 36
2.8 Команди потокового вводу-виводу 36
2.9 Стандартні функції вводу-виводу мови С 37
2.10 Оператор безумовного переходу goto 38
2.11 Оператор умовного переходу if-else 38
2.12 Оператор switch 38
2.13 Тернарний оператор ?: 39
2.14 Цикл з лічильником for 39
2.15 Оператор циклу з передумовою while 39
2.16 Оператор циклу з післяумовою do-while 40
2.17 Оператори break і continue 40
2.18 Вказівники і адреси даних 41
2.19 Оператори динамічного розподілу пам’яті new і delete 41
2.20 Масиви 41
2.21 Динамічні масиви 42
2.22 Перерахований тип enum 43
2.23 Створення функцій С++ 43
2.24 Глобальні, локальні і статичні змінні 44
2.25 Масив як параметр функції 45
2.26 Рядки і функції обробки рядків 45
2.27 Структури 46
2.28 Обробка виключних ситуацій 47
3 Об’єктно-орієнтоване програмування мовою C++ 48
3.1 Простий клас 48
3.2 Структура 49
3.3 Об’єднання 49
3.4 Конструктор 49
3.5 Деструктор 50
3.6 Конструктор копіювання 51
3.7 Динамічне створення об’єктів типу класу 51
3.8 Вкладені класи (1) 52
3.9 Вкладені класи (2) 53
3.10 Вкладені класи (3) 53
3.11 Вкладені класи (4) 54
3.12 Вкладені класи (5) 55
3.13 Дружні функції (1) 55
3.14 Дружні функції (2) 56
3.15 Успадкування 56
3.16 Статичний поліморфізм, перевантаження методів 57
3.17 Перевантаження операторів 58
3.18 Динамічний поліморфізм, віртуальні функції (1) 58
3.19 Динамічний поліморфізм, віртуальні функції (2) 60
3.20 Успадкування множинне 60
3.21 Діамантове успадкування 61
3.22 Діамантове віртуальне успадкування 62
3.23 Динамічне приведення і ідентифікація типів (dynamic_cast і typeid) 63
3.24 Шаблони функцій (1) 64
3.25 Шаблони функцій (2) 64
3.26 Шаблони класів 65
3.27 Шаблони класів і віртуальні методи 66
3.28 Застосування флагів форматування при потоковому вводу-виводі 66
3.29 Установка флагів за допомогою функцій-маніпуляторів 67
3.30 Створення функції-маніпулятора 67
3.31 Перевантаження операторів потокового вводу-виводу 68
3.32 Клас рядкових потоків 69
3.33 Бінарні файли 69
3.34 Бінарні файли прямого доступу 70
3.35 Шаблон структури "пара" бібліотеки STL 71
3.36 Використання бібліотеки STL 72
4 Приклади використання компонентів VCL 75
4.1 Поради для вивчення компонентів: 75
4.2 Простий проект типу Win32 Application у C++ Builder 75
4.3 Класи 78
AnsiString (String) – тип рядків 78
TApplication - додаток 79
TScreen – стан екрану 81
Set – шаблон класу множина 81
TList – список вказівників, TObject – базовий клас VCL 82
TComponent – базовий клас компонентів, TControl – базовий клас візуальних компонентів 82
TWinControl – базовий клас віконних компонентів, TGraphicControl – базовий клас графічних компонентів 83
TStrings – базовий клас списку рядків, TStringList – список рядків 84
TStream – базовий клас потокових об’єктів, TMemoryStream – потік в динамічній пам’яті 84
TThread – потік керування 85
TForm - форма 86
4.4 Компоненти Standard 90
TFrame – кадр, контейнер компонентів 90
TMainMenu – головне меню, TPopupMenu – контекстне меню, TActionList – список дій 90
TLabel – мітка, надпис 91
TButton - кнопка 91
TRadioButton - перемикач 92
TCheckBox - прапорець 92
TEdit – поле редагування 93
TMemo – багаторядкове поле редагування 93
TListBox – список рядків 93
TComboBox – випадаючий список рядків 94
TScrollBar – смуга прокручування 94
TPanel - панель 94
4.5 Компоненти Additional 95
TBitBtn – кнопка з піктограмою 95
TSpeedButton – кнопка з піктограмою і фіксацією 96
TMaskEdit – поле редагування з шаблонами 96
TStringGrid - таблиця 96
TDrawGrid – таблиця зображень 97
TImage – контейнер графічних зображень, TPicture – графічне зображення 97
TShape – геометрична форма, TBrush - пензель, TPen - перо 98
TScrollBox – контейнер прокручування 98
TCheckListBox – список рядків з індикаторами 98
TSplitter - розділювач 99
TControlBar – контейнер інструментальних панелей 99
TApplicationEvents – перехоплювач подій додатку 99
TValueListEditor – компонент редагування списків, які містять пару ім’я/значення 100
TLabeledEdit – поле редагування з надписом 101
TColorBox – вікно вибору кольору, TColor - колір 101
TChart - діаграма 101
4.6 Компоненти Win32 102
TTabControl - вкладки 102
TPageControl - сторінки 102
TImageList – список зображень, TBitmap – зображення, бітова матриця 102
TRichEdit – багаторядкове поле редагування з розширеним форматуванням 103
TTrackBar - повзунок 104
TProgressBar – індикатор прогресу 104
TUpDown – спарені кнопки вверх-вниз, лічильник 104
THotKey – клавіша гарячого виклику 105
TAnimate – анімація відеозаписів 105
TDateTimePicker – вибір дати/часу, TDateTime – дата/час 106
TMonthCalendar - календар, TDate - дата 106
TTreeView – деревовидний список 107
TListView – табличний список елементів 107
THeaderControl - заголовки 108
TStatusBar – рядок стану 109
TToolBar – панель інструментів 110
TCoolBar – панель зі шторками 111
TPageScroller – панель з прокручуванням 111
TComboBoxEx – комбінований список зі значками 111
4.7 Компоненти System 111
TTimer - таймер 112
TPaintBox – область рисування, TCanvas - канва, TBrush - пензель, TPen - перо 112
TMediaPlayer – мультимедіа плейер 113
TOleContainer – контейнер OLE 114
TDdeServerConv, TDdeServerItem, TDdeClientConv, TDdeClientItem – компоненти для динамічного обміну даними 115
4.8 Діалогові вікна 117
TOpenDialog – відкриття файлу, TSaveDialog – збереження файлу 117
4.9 Робота з базами даних 118
Робота з базами даних у C++ Builder за допомогою BDE 118
Інший варіант доступу до бази даних (за допомогою TDatabase) 124
Робота з базами даних у C++ Builder за допомогою ADO 125
4.10 Компоненти Indy для роботи з мережею 126
5 Створення компонентів VCL 128
6 Створення DLL 132
7 Створення і використання компонентів COM 133
8 Створення компоненту ActiveX у C++ Builder 134
9 Створення активної форми (Active Form) 135
10 Робота з компонентами-серверами COM MS Word і MS Excel 136
11 Створення компонентів CORBA 138
12 Бібліотека основних класів Microsoft MFC 142
CEdit - поле редагування (1) 142
CEdit - поле редагування (2) 143
CButton - прапорець 143
CButton - кнопка (1) 143
CButton - кнопка (2) 144
CButton - перемикач 144
CListBox - список 145
CComboBox - комбінований список 146
CString - рядок 146
CImage - рисунок, CDC - контекст пристрою 147
CClientDC - контекст пристрою, CPoint - точка 148
Створення додатків Win32 з графічним інтерфейсом 148
13 Створення додатків Win32 за допомогою Visual C++ .NET 152
14 Задачі 156
Задачі 1 Основи програмування мовою С++ 156
Задачі 2 Об’єктно-орієнтоване програмування мовою С++ 157
Задачі 3 Сучасні об’єктно-орієнтовані технології 162
Перелік рекомендованих джерел 165
Мова програмування С++ для початківців 165
Об’єктно-орієнтоване програмування 165
Мова програмування С++ 166
Стандартна бібліотека С++ 168
Програмування на Borland C++ Builder 169
Технологія COM 170
Програмування на Visual C++ MFC та .NET 170
Програмування на C# .NET 171
Передмова
Термінологічний словник містить основні терміни програмування на алгоритмічній і об’єктно-орієнтованій мові С++, а також терміни сучасних об’єктно-орієнтованих технологій у програмуванні. Приклади програм підібрані прості, загальні і завершені, які охоплюють усі основні сторони програмування на С++: імперативне, об’єктно-орієнтоване і узагальнене програмування на С++, використання стандартних бібліотек С++, використання бібліотеки VCL Borland C++ Builder 6, основи технологій DLL, COM, CORBA, MFC, .NET. Вихідні коди програм містять детальні і чіткі коментарії без будь-яких додаткових зовнішніх пояснень. Тому, посібник має довідковий характер, і бажано його використовувати паралельно з рекомендованою авторами літературою по мові С++ (с.165). Порядок подання термінів і прикладів програм відповідає класичному порядку вивчення мови С++ та сучасних об’єктно-орієнтованих технологій у програмуванні. Приклади опрацьовані в середовищі Borland C++ Builder 6 (для програмування прикладів MFC і .NET використовували Microsoft Visual C++ 8).
Пропонується для самостійного опрацювання студентами спеціальності "Програмне забезпечення автоматизованих систем" при вивченні навчальної дисципліни "Об’єктно-орієнтоване програмування" та студентами спеціальності "Технологія машинобудування" при вивченні навчальних дисциплін: "Сучасні мови програмування" (для спеціалізації "Комп’ютеризоване машинобудівне виробництво"), "Основи наукових досліджень", "Засоби програмного керування технологічними системами", "Моделювання виробничих систем в машинобудуванні" при виконанні курсового і дипломного проектування.
Може бути корисним усім, хто вивчає та програмує на С++.
1 Програмування: термінологічний словник
1.1 Алгоритм, програма, мови програмування
Комп’ютер (електронна обчислювальна машина (ЕОМ)) – цифрова обчислювальна машина, побудована на електронних компонентах, призначена для автоматизації процесу обробки інформації і обчислень, які виконуються у відповідності з заданим алгоритмом. Складається з центрального процесору, пристроїв оперативної і зовнішньої пам’яті, пристроїв вводу-виводу.
Центральний процесор ЕОМ - центральний пристрій (або комплекс пристроїв) ЕОМ, який виконує арифметичні і логічні операції, задані програмою перетворення інформації, управляє обчислювальним процесом і координує роботу периферійних пристроїв системи. Процесор виконує команди на машинній мові, які зберігаються в оперативній пам’яті. Складається з пристрою керування, арифметико-логічного пристрою і набору регістрів (комірок швидкодіючої пам'яті). Процесору характерна певна система команд.
Пам’ять ЕОМ - частина ЕОМ, призначена для запису, зберігання і видачі інформації, представленій в кодовій формі; утворюється з одного або декількох запам’ятовуючих пристроїв (ЗП). Поділяється на оперативну (або основну), зовнішню (допоміжну) і буферну.
Оперативна пам’ять ЕОМ призначена для тимчасового збереження команд і даних. Кожен елемент пам'яті, називається словом пам'яті, має унікальну адресу, а кожне слово складається з фіксованого числа бітів, зазвичай з 16, 32 або 64 бітів.
Команда ЕОМ (процесора) - вказівка, що записана на машинній мові конкретної обчислювальної машини і визначає її дії при виконанні окремої операції або частини обчислювального процесу.
Програма обчислювальної машини, опис алгоритму рішення задачі, заданий на мові програмування (на машинну мову конкретної ЕОМ переводиться автоматично за допомогою транслятора). Процес складання програм називають програмуванням.
Програмне забезпечення ЕОМ (математичне забезпечення ЕОМ) - комплекс програм, описів і інструкцій, що забезпечують автоматичне функціонування ЕОМ. Розрізняють загальне програмне забезпечення (для організації обчислювального процесу на даній ЕОМ) і спеціальне програмне забезпечення (для вирішення конкретних завдань).
Програмування - процес підготовки завдань для вирішення їх на ЕОМ, що складається з наступних етапів: складання алгоритму; складання програми на мові програмування; трансляція програми з мови програмування на машинну мову.
Системне програмування – програмування базового (загального) програмного забезпечення ЕОМ (операційних систем, трансляторів, сервісних засобів і т.д.)
Прикладне програмування – програмування спеціального програмного забезпечення прикладного характеру, яке призначене для рішення конкретних задач з різних областей (наука, техніка, виробництво, сфера обслуговування, навчання і т.д.)
Алгоритм - спосіб (програма) розв'язування обчислювальних і інших задач, який точно описує, як і в якій послідовності отримати результат, який однозначно визначається початковими даними. Алгоритм - одне з основних понять математики і кібернетики. У обчислювальній техніці для опису алгоритму використовуються мови програмування. Основними властивостями алгоритму є: зрозумілість для виконавця, дискретність, визначеність, результативність і масовість. Алгоритм може бути представлений словесно, графічно і програмно.
Мови програмування - формальні мови для опису даних (інформації) і алгоритму (програми) їх обробки на ЕОМ. Мови програмування можна розділяти на машинні, низького рівня (мови асемблера) і високого рівня (наприклад, алгоритмічні мови). За рівнем спеціалізації розрізняють спеціальні, спеціалізовані і універсальні мови програмування.
Машинна мова - мова програмування, призначена для представлення програм у формі, яка дозволяє виконувати їх на конкретній ЕОМ. Машинною мовою, також, називають систему команд ЕОМ. Наприклад, система команд процесорів Intel 8086, 386, Pentium.
Асемблер - допоміжна програма у складі операційної системи для автоматичного перекладу програми, що підлягає виконанню на ЕОМ, на машинну мову.. Один з видів транслятора.
Середовище програмування - набір програм-інструментів, які використовуються для створення програм. Може містити редактор, компілятор або інтерпретатор, бібліотекар, компонувач, завантажувач, налагоджувач, засоби тестування та ін.
Транслятор - в інформатиці, програма ЕОМ, призначена для автоматичного перекладу опису алгоритму з однієї мови програмування на іншу, зокрема на машинну мову. Процес перекладу називається трансляцією. Транслятори поділяються на компілятори і інтерпретатори.
Компілятор – транслятор, який перекладає вихідний код програми на машинну (або іншу) мову у вигляді об’єктного коду. Компілятор також знаходить в програмі помилки компіляції і оптимізує команди машинної мови, тому скомпільовані програми працюють швидше інтерпретованих.
Інтерпретатор – транслятор, який почергово виконує команди інтерпретованої програми. Як інтерпретатори працюють мови Basic, LISP, Perl, Python.
Мови високого рівня – машинно-незалежні мови, які імітують природні, використовуючи зручні для сприйняття конструкції, деякі слова розмовної мови і загальноприйняті математичні символи. Поділяються на алгоритмічні (наприклад, Pascal), логічні (наприклад, Prolog) та об’єктно-орієнтовані (наприклад, С++).
Алгоритмічна мова – формалізована мова високого рівня для однозначного запису алгоритмів. Складається з набору символів (алфавіт), синтаксичних правил і семантичних визначень. Є основою мов програмування. Наприклад: Basic, C, Pascal, Fortran, C++, Java.
Еволюція мов програмування відбувалась в такому напрямку: машинні мови і асемблери; непроцедурні алгоритмічні мови; процедурні алгоритмічні мови для структурованого програмування; мови об’єктного і об’єктно-орієнтованого програмування.