You are on page 1of 3

ЛЕКЦІЯ № 1

ВСТУП У МОВИ ПРОГРАМУВАННЯ

1.1 Алгоритм. Основні вимоги до алгоритму

Сучасний комп'ютер – це сукупність технічних і програмних засобів, які призначені для


автоматизованої обробки дискретних даних відповідно до заданого алгоритму.
Алгоритм – це основне поняття математики та обчислювальної техніки. Слово
«алгоритм» походить від назви латинського перекладу трактату арабського математика IX
століття Аль-Хорезмі («Трактат Аль-Хорезмі про арифметичне мистецтво індусів»). Аль-
Хорезмі описав десяткову систему числення і вперше сформулював правила виконання
арифметичних дій над цілими числами і простими дробами.
Існують різні визначення поняття «алгоритм»:
− «алгоритм» – припис, точний і зрозумілий, що визначає, які дії і в якому порядку
необхідно виконати для вирішення будь-якої задачі з даного класу однотипних задач;
− «алгоритм» – план майбутньої діяльності, записаний у заздалегідь обраній формальній
системі – системі програмування. Людина складає алгоритм, а ЕОМ виконує;
− «алгоритм» – це набір правил, дотримуючись яких, можна вирішити будь-яку задачу.
У відповідності зі стандартом ISO 2382/1-84 поняття «алгоритм» визначається, як «кінцевий
набір інструкцій, який описує процес виконання завдання з допомогою кінцевого числа
операцій».
До алгоритму пред'являються наступні вимоги:
− визначеність. Кожен крок алгоритму повинен інтерпретуватися виконавцем
однозначно;
− результативність. За кінцеве число кроків алгоритм повинен привести до вирішення
завдання або зупинитися через неможливість її вирішення;
− дискретність. Кроки обчислювального процесу повинні бути відокремлені один від
одного;
− ефективність. Під час виконання завдання може бути використаний тільки обмежений
обсяг комп'ютерних ресурсів;
− масовість. Алгоритм розробляється в загальному вигляді, тобто його можна
використовувати не тільки для окремого завдання, але й для деякого класу задач, які
відрізняються вхідними даними. Вхідні дані визначають область застосування алгоритму.
Існує декілька способів опису алгоритму:
− словесний опис послідовності дій;
− алгоритмічна мова;
− аналітичний опис у вигляді набору формул;
− графічний опис у вигляді блок-схем.
Якщо складено алгоритм розв'язання задачі, можна переходити до написання програми.
До засобів створення програм відносяться мови та системи програмування.

1.2 Класифікація мов програмування

Виділяють наступні покоління мов програмування:


І покоління. Машинна мова – це «рідна» мова комп'ютера, яка називається
програмуванням в числових кодах.
ІІ покоління. Мови програмування, в яких числове кодування команд замінено їх
символьним зображенням, називаються мовами символьного кодування, а системи
програмування – системами символьного кодування.
ІІІ покоління. Мови програмування високого рівня, які розроблені для прискорення
процесу програмування, максимально наближені до людських мов, використовують
загальноприйняту математичну запис виразів.
Одночасно з мовами високого рівня розроблялися транслятори (компілятори) –
програмні засоби, призначені для перекладу програм з мови високого рівня на машинну мову.
Крім класифікації мов програмування по поколінням, можна розглянути класифікацію за
напрямками, пов'язану з різними підходами до процесу програмування. Історично склалося
чотири напрямки:
− імперативне (або процедурне) (мови FORTRAN, COBOL, ALGOL, BASIC, PASCAL,
C, Ada та ін.). Традиційний підхід до програмування – запис послідовності команд на мові
програмування, що дозволяє виконати обробку даних необхідну для отримання результату;
− декларативне (мова Prolog та ін.). Основна проблема полягає в тому, щоб реалізувати
спільний алгоритм розв'язання завдань. Застосовується для моделювання систем, вирішення
завдань логічного програмування;
− функціональне (мови: LISP, ML, Scheme та ін.). Процес розробки програм
розглядається як конструювання їх з деяких функціональних блоків зі своїми вхідними і
вихідними даними. При цьому кожна функція може складатися із сукупності вкладених один в
одного більш простих функцій.
− об'єктно-орієнтоване (мови: Simula, C, Visual Basic, Java, С # та ін.). Елемент даних
розглядається як активний об'єкт з набором процедур для його обробки.

1.3 Програма. Програмування. Технологія створення програми

Програма – це формальне подання алгоритму. Виконати програму – виконати алгоритм,


представлений цією програмою.
Програмування – це теоретична та практична діяльність з забезпечення програмного
управління обробкою даних, що включає створення програм, а також вибір структури і
кодування даних.
Розробка програми складається з декількох етапів:
− постановка задачі (виконується замовником);
− аналіз та уточнення постановки задачі з метою побудови формальної моделі задачі –
точного та однозначного опису;
− побудова алгоритму. На цьому етапі можливе виділення декількох підзадач, у цьому
випадку алгоритм складається з пов'язаних та узгоджених між собою частин;
− кодування – запис програми однією з мов програмування, отримання вихідного тексту
програми;
− трансляція (компіляція) програми. Програма перекладається на машинну мову за
допомогою спеціальної програми – транслятора. Створюється об'єктний код;
− обробка об'єктного коду редактором зв'язків або компонувальником, який збирає
(компонує) повний код програми і записує його в оперативну пам'ять або на диск у вигляді
файлу готового до виконання.

1.4 Процес налагодження програми. Синтаксис і семантика мови програмування. Види


помилок

Під час розробки програми програміст може допускати помилки. Процес пошуку і
виправлення помилок називається налагодженням програми. Налагодження програми – це
процес багаторазового виконання програми з різними початковими даними, які вона повинна
обробляти.
Помилки при створенні програми можуть бути різних типів:
а) помилки, що пов'язані з порушенням правил граматики в тексті програми
(синтаксичні). Їх можна виявити в процесі трансляції, тому їх ще називають помилками
трансляції (compiler error);
Синтаксис мови програмування (МП) – це набір правил, який визначає спосіб побудови
правильних програм із символів алфавіту. Знаючи синтаксис мови, можна побудувати алгоритм
перевірки тексту програми. Цю задачу вирішують програми транслятори (невірний
ідентифікатор, знак операції, зайва дужка, знак поділу тощо);
б) помилки виконання програми (семантичні). Виявляються під час виконання програми
(переповнення розрядної сітки, спроба поділу на нуль, тощо).
Семантика МП – набір правил, за якими виконуються програми на даній
мові. Користуючись семантикою мови, можна однозначно визначити результат виконання
програми із заданими вхідними даними;
в) змістовні (логічні) помилки. Не виявляються на етапах трансляції і виконання,
пов'язані з некоректністю логічних умов, неправильним використанням розрахункових формул
тощо;
г) помилки вхідних даних.
Процес цілеспрямованої перевірки працездатності програми називається тестуванням.
Дані спеціально підбирають таким чином, щоб можна було виявити як можна більше помилок в
роботі програми.
Після налагодження програма надходить у виробничу експлуатацію з супровідними
документами: «Керівництво розробника програм», «Керівництво користувача». Перший
документ дає можливість виправляти помилки під час експлуатації програми і розвивати її далі,
другий – пояснює, як використовувати програму.

1.5 Система програмування. Поняття інтегрованого середовища програмування

Розглянемо програмні засоби, що використовуються в процесі розробки програми:


− текстовий редактор – це спеціальна програма для підготовки вихідного тексту
програми (файли з розширенням *.с, *.срр);
− транслятор – спеціальна програма для перетворення вихідного тексту в машинний –
об'єктний код (файл з розширенням *.obj);
− компонувальник (редактор зв'язків) – спеціальна програма перетворення об'єктного
коду у завантажувальний, готовий до виконання (файл з розширенням *.exe);
− інтерпретатор – спеціальний програмний засіб, який не створює проміжних кодів,
працює з вихідним текстом програми та вихідними даними. Дії, що задані програмою відразу ж
виконуються. Дозволяє почати виконання не повністю закінченої програми. Витрачає більше
часу, так як деякі частини програми переводяться на машинну мову багато разів;
− відладчик – програмний засіб, що використовується в режимі інтерпретації. Дозволяє
обробляти вихідний код невеликими частками, дає можливість побачити результат виконання
кожного кроку.
Описані програмні та мовні засоби (текстовий редактор, транслятор, компонувальник,
інтерпретатор, відладчик) разом з бібліотеками стандартних програм утворюють систему
програмування або інтегроване середовище розробки (Integrated Development Environment –
IDE). Наприклад, Borland C, Code::Blocks та ін. Стандартна поставка середовища дозволяє
виконувати установку IDE, включає різні версії компілятора (для різних ОС), містить бібліотеку
стандартних підпрограм, файли довідкової інформації, графічні драйвери та ін.
Контрольні питання:
1. Визначте поняття «алгоритм», «програма», «програмування».
2. Дайте класифікацію мов програмування по поколінням та напрямкам.
3. Перелічити основні етапи розробки програми.
4. Визначте поняття «синтаксис» та «семантика» мови програмування.
5. Які види помилок виникають при налагодженні програми?
6. Визначте склад інтегрованого програмного середовища.

You might also like