Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab20.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
930.82 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Національний університет водного господарства і природокористування

Кафедра автоматизації та комп’ютерно-інтегрованих технологій

Методичні вказівки

до виконання лабораторної роботи №20

з навчальної дисципліни

Комп’ютерні технології та програмування

для напряму підготовки 6.050202

Автоматизація та комп’ютерно-інтегровані технології”

Рівне – 2012

Методичні вказівки до виконання лабораторної роботи №20 з навчальної дисципліни “Комп’ютерні технології та програмування“ для напряму підготовки 6.050202 „Автоматизація та комп’ютерно-інтегровані технології”

А.П.Сафоник, С.В. Шатний - Рівне: НУВГП, 2012. - 24с.

Розробник: А.П. Сафоник, кандидат техн. наук, доцент кафедри автоматизації та комп’ютерно-інтегрованих технологій НУВГП.

С.В. Шатний, асистент кафедри автоматизації та комп’ютерно-інтегрованих технологій НУВГП.

Відповідальний за випуск - зав. кафедри автоматизації та комп’ютерно-інтегрованих технологій, професор, академік УЕАН Б.О. Баховець

Затверджені методичною комісією

факультету прикладної математики та комп’ютерно інтегрованих систем.

Протокол № 6

від “ 14 ” січня 2013 р.

Лабораторна робота №20

Вивчення інструментального середовища GCC.

Розробка програм лінійної структури.

20.1. Мета роботи

Вивчити основні прийоми для роботи з компілятором GCC MinGW та середовища розробки прикладних програм в середовищі CodeBlocks.

20.2. Теоретичні відомості

Мова С, створена Денісом Рітчі на початку 70-х років у Веll Labоratory американської корпорації АТ&Т, є однією з універсальних мов програмування. Мова С вважається мовою системного програмування. Вірніше сказати, що вона найбільше ефективна при рішенні задач системного програмування, хоча вона, безумовно, зручна і при написанні прикладних програм. Серед переваг мови С можна відзначити можливість перенесення програм, написаних на мові С, на комп'ютери різної архітектури і з однієї операційної системи в іншу, лаконічність запису алгоритмів, логічну стрункість і зручність читання програм, можливість одержати ефективний код програм, порівнянних по швидкості з програмами, написаними на асемблері. Зручність мови С заснована на тому, що вона є одночасно і мовою високого рівня, що має повний набір конструкцій структурного програмування, що підтримує модульність, блокову структуру програм, можливість роздільної компіляції модулів. У той же час мова С має набір низькорівневих засобів, що дозволяють мати зручний доступ до апаратних засобів комп'ютера, що зокрема дозволяють добратися до кожного біта пам'яті. Гнучкість і універсальність мови С забезпечує її широке поширення.

Перший опис мови було дано в книзі Б. Кернігана і Д. Рітчі, що була переведена на російську мову. Довгий час цей опис був стандартом, однак ряд моментів допускали неоднозначне тлумачення, що породило множину трактувань мови С. Для виправлення цієї ситуації при Американському національному інституті стандартів (АNSI) були утворені комітет по стандартизації мови С і в 1983 році були затверджені стандарт мови С, що одержав назву АNSI С.

На початку 80-х років у тієї ж Веll Lаbоratory Б’єрном Строуструпом (Уjагnе Stroustrup) у результаті доповнення і розширення мови С була створена нова по суті мова, що одержала назву "С з класами". У 1983 році ця назва була замінена на С++.

Автор мови створював її з метою поліпшити мову С, підтримати абстракції даних і об'єктно-орієнтоване програмування. Мова С++ є мовою об'єктно-орієнтованого програмування. Концепція об'єктно-орієнтованого програмування виникнула не раптом. Ідея використання програмних об'єктів розвивалася різними дослідниками протягом багатьох років. Одним із представників мов такого типу є Simula 67. Більш докладно ми розповімо про особливості об'єктно-орієнтованого програмування нижче, а зараз коротко зупинимося на його якостях.

Об'єктно-орієнтована мова - мова програмування, на якій програма задається описом поводження сукупності взаємозалежних об'єктів. Об'єкти обмінюються запитами; реагуючи на отриманий запит, об'єкт надсилає запит іншим об'єктам, одержує відповіді, змінює значення своїх внутрішніх перемінних і видає відповідь на отриманий запит. Механізм запитів в об'єктно-орієнтованих мовах відрізняється від механізму процедур у процедурних мовах тим, що при виконанні запиту об'єктом безпосередньо можуть бути змінені тільки значення перемінних цього об'єкта.

Об'єктно-орієнтоване програмування має справу з об'єктами, містить у собі створення об'єктів, що об'єднують дані і правила опрацювання цих даних. Об'єкти можуть містити у собі приватні, закриті (рrivate) дані і правила їхнього опрацювання, доступні тільки об'єкту і його спадкоємцям, а також загальні (рublic) дані і правила, що доступні об'єктам і модулям в інших частинах програми. Важливою рисою об'єктно-орієнтованого програмування є спадкування, тобто можливість створювати ієрархічну послідовність об'єктів від більш загальних до більш специфічних. У цій ієрархії кожен об'єкт успадковує характерні риси об'єктів-прабатьків, об'єктів, що передують йому.

Таким чином, мови об'єктно-орієнтованого програмування містять у собі наступні основні риси: наявність об'єктів і інкапсуляцію даних, спадкування, поліморфізм, абстракцію даних. Надалі ми більш докладно зупинимося на цих поняттях і проілюструємо їхнє використання в мові С++.

При створенні мови С++ були створені або використані поняття, що потім стали застосовуватися в мові С і ввійшли в стандарт АNSI С. Таким чином, мови С і С++ робили взаємний вплив одна на одну.

Існує два підходи до мови С++. При першому підході вважається, що мова С є складовою частиною мови С++. Прикладом такого підходу є, наприклад, опис мови С++ у документації до систем програмування, наприклад до Воrlаnd С++ 3.1. При другому підході передбачається, що мова С++ є надбудовою над мовою С, як це і було історично. Ми будемо використовувати другий підхід.

Практично всі сучасні транслятори з мов С і С++ використовують стандарт АN51 мови С, тобто всі можливості і правила, передбачені цим стандартам, присутні. У той же час, кожна із систем програмування на мовах С і С++ містить додаткові можливості, зв'язані з конкретною операційною системою та архітектурою комп'ютера.

Написання програми передбачає виконання визначеного числа дій, що із більшою або меншою деталізацією можна розділити на наступні найважливіші етапи:

• постановка задачі;

• вибір методу рішення задачі;

• написання вихідного тексту програми на мовах С і С++;

• введення вихідного тексту програми за допомогою текстового редактора; текст може бути розбитий на декілька файлів (модулів); на цьому етапі ми одержуємо файли вихідного тексту з розширенням .с або .срр;

• компіляція модулів (кожного модуля окремо або всіх модулів разом); на цьому етапі ми одержуємо об'єктний файл, тобто файл із розширенням .оbj;

• налагодження синтаксису програми;

• об'єднання відкомпільованих модулів у програму (це часто називають компонуванням або лінкуванням програми); на цьому етапі до програми приєднуються необхідні стандартні бібліотеки і ми одержуємо виконуваний файл із розширенням .оbj);

• запуск програми на виконання;

. налагодження програми (тестування програми і налагодження алгоритму);

• остаточне оформлення програми.

При виконанні кожного із зазначених етапів програмування виникає необхідність повернення на попередні етапи, іноді аж до зміни постановки задачі.

Сучасні системи програмування дозволяють зручно переходити від одного етапу до іншого. Це здійснюється наявністю так званого інтегрованого середовища програмування, що містить у собі текстовий редактор, компілятор, компоновщик, вбудований відладник і, в залежності від системи або її версії, дає програмісту додаткові зручності для написання і налагодження програм.

Компілятор GCC MinGW та інтегроване середовище розробки Codeblocks

Встановлення та первинне налаштування компілятора GCC MinGW

Процес встановлення компілятора складається з наступних етапів:

Після запуску програми-інсталятора зявиться опис програмного продукту, який необхідно встановити

Далі необхідно задати директорію встановлення компілятора, цей етап є досить важливим, оскільки після встановлення необхідно в деяких випадках вручну прописати директорії компілятора та відлагоджувача. В іншому випадку компілятор працюватиме некоректно

На наступному кроці необхідно вибрати які саме інтерпретатори мов програмування нам потрібно встановити. Варто запамятати, що встановлення відбувається тільки при прямому зєднані з мережею інтернет, тому чим більше мов ми виберемо тим довше буде відбуватися процес встановлення

Після проходження всіх пунктів запустится процес завантаження необхідних модулів та іх встановлення

Після завершення встановлення компілятора, необхідно встановити середовище розробки та ваідлагодження програм. Для цього запускаємо файл інсталяції CodeBlocks. Вибираємо необхідний тип встановлення та набір плагинів.

Далі вибираємо директорію для встановлення

Після встановлення необхідного програмного забезпечення можна перейти до самого процесу написання та відлагодження програми. Компілятор GCC вже містить у своєму складі всі необхідні засоби для цього. Створимо першу програму та спробуємо її запустити за допомогою командної строки Windows. Для цього відкриваємо текстовий редактор Notepad та пишемо код програми згідно свого варіанту.

Зберігаємо текстовий файл у папку де встановлений компілятор (напр. С:\MinGW\dev\main.c

Далі в командній строці пишемо наступні команди:

В результаті отримаємо наступний результат:

Оскільки процес компіляції та відлагодження засобами компілятора є досить складним, можемо скористатися середовищем розробки CodeBlocks

Для створення нового проекту виконаємо наступні дії:

Далі можна вибрати тип проекту, в нашому завданні використовуємо консольні додатки

Після цього вибираємо мову програмування із списку який встановлений на нашому ПК

Далі вводимо назву проекту та вказуємо каталоги розміщення файлів проекту

Після того як проект створений, можна писати програми та запускати їх на виконання.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]