Лекції >> Програмування, комп’ютери і кібернетика >> ЕОМ як виконавець алгоритму. Мови програмування

Щоб виконати алгоритм розв’язку задачі за прийнятний час, від виконавця вимагається достатньо велика швидкодія. Необхідність у таких виконавцях призвела до появи ЕОМ в середині 40-х років ХХ ст. Комп’ютери – автоматичні виконавці алгоритму. Кожна ЕОМ виконує задану їй програму а томатично без втручання людини.

ЕОМ – універсальний засіб обробки інформації. Це означає, що на одному і тому ж комп’ютері можна розв’язувати задачі різних класів. Для цього необхідно сформулювати відповідний алгоритм і подати його в термінах системи команд даної ЕОМ, тобто задати програму роботи на ЕОМ. Зміна програми призводить до зміни задачі, що розв’язується, але не вимагає зміни складу або конфігурації апаратного забезпечення комп’ютера.

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

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

За підходами до розв’язку задач мови високого рівня поділяються на:

  • процедурні (алгоритмічні) мови. Наприклад, Basic, Pascal, C, НАМ (навчальна алгоритмічна мова).  Характерною ознакою таких мов є  добра пристосованість до розв’язування тих задач, що підлягають алгоритмізації;
  • мови функціонального пр символічних записів машинних команд, та мови програмування високого рівня. Останні не мають машинної орієнтації, практично не залежать від конкретної ЕОМ, тому програми, що написані на таких мовах, можна виконувати на будь-яких машинах. 

    За підходами до розв’язку задач мови високого рівня поділяються на:

    • процедурні (алгоритмічні) мови. Наприклад, Basic, Pascal, C, НАМ (навчальна алгоритмічна мова).  Характерною ознакою таких мов є  добра пристосованість до розв’язування тих задач, що підлягають алгоритмізації;
    • мови функціонального програмування. Наприклад, Lisp;
    • мови логічного програмування. Наприклад, Prolog. Характерною ознакою таких мов є те, що для них відсутнє традиційне поняття алгоритму – вони містять автоматичний розв’язувач задач і розв’язання задачі в основному зводиться до описання умови задачі, а не процедури розв’язку;
    •  мови об’єктно-орієнтованого, модульного програмування тощо. 

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

    • процедурні (алгоритмічні) мови. Наприклад, Basic, Pascal, C, НАМ (навчальна алгоритмічна мова).  Характерною ознакою таких мов є  добра пристосованість до розв’язування тих задач, що підлягають алгоритмізації;
    • мови функціонального програмування. Наприклад, Lisp;
    • мови логічного програмування. Наприклад, Prolog. Характерною ознакою таких мов є те, що для них відсутнє традиційне поняття алгоритму – вони містять автоматичний розв’язувач задач і розв’язання задачі в основному зводиться до описання умови задачі, а не процедури розв’язку;
    •  мови об’єктно-орієнтованого, модульного програмування тощо. 

    Слід зазначити, що при розв’язування реальних практичних задач алгоритми та програми є досить складними. Раніше згадувалось про структурний підхід до розробки алгоритмів (див. стор. 8), який дозволяє полегшити роботу з вказаними задачами. Але існує узагальнення такого підходу, яке полягає у використанні принципів структурного програмування.

    Структурне програмування – це процес побудови алгоритмів та програм, що виконується у такій послідовності:

     

    1.  Попередній аналіз задачі з метою розбиття її на окремі прості частини (модулі). Для цього спочатку складають загальну схему алгоритму, а потім її деталізують.
    2.  Послідовна (зверху до низу) деталізація частин та складання програм для кожного з модулів. Виділяють основну частину та частини нижнього рівня. Кожну частину розробляють окремо: спочатку частини верхнього рівня, а потім – нижнього. У кінці частини з’єднують між собою.

    Для структурного програмування характерно:

    1.  Використання трьох базових структур алгоритмів (див. стор. 8) при роботі з кожним модулем.
    2.  Коментування текстів програм.
    3.  Мінімальне використання вказівок переходу (операторів типу goto).
    4.  Передбачення і використання системи перевірки правильності програм. 

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

     

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

     

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

    •  компіляція (весь текст програми одразу переводиться у машинний код і перевіряється синтаксис всієї програми);
    •  інтерпретація (у машинний код текст програми переводиться послідовними фрагментами і для кожного фрагменту окремо перевіряється синтаксис).
Схожі матеріали
07.10.2025 Матеріали лекційного курсу обов'язкової освітньої компоненти "Математичне моделювання динамічних систем і процесів" для підготовки здобувачів другого (магістерського) рівня вищої освіти спеціальності 122 Комп’ютерні науки
07.10.2025 Інструктивно-методичні матеріали для лабораторних занять та самостійної роботи обов'язкової освітньої компоненти "Математичне моделювання динамічних систем і процесів" для підготовки здобувачів другого (магістерського) рівня вищої освіти спеціальності 122 Комп’ютерні науки
14.10.2024 ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ДО ОРГАНІЗАЦІЇ САМОСТІЙНОЇ РОБОТИ OK "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
14.10.2024 Матеріали лекційного курсу ОК "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
14.10.2024 Інструктивно-методичні матеріали до лабораторних занять ОК "Розподілені бази даних та знань"
14.10.2024 Інструктивно-методичні матеріали до лекційних занять ОК "Розподілені бази даних та знань"
14.10.2024 Інструктивно-методичні матеріали до самостійної роботи ОК "Розподілені бази даних та знань"
14.10.2024 Інструктивно-методичні матеріали до лабораторних занять OK "АРХІТЕКТУРА ТА РОЗРОБКА ІНФОРМАЦІЙНИХ СИСТЕМ"
14.10.2024 Інструктивно-методичні матеріали до лабораторних занять ОК "ВЕРИФІКАЦІЯ, ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ"
13.10.2024 Методичні рекомендації до викoнaння квaліфікaційних (диплoмних) рoбіт здoбувaчaми вищoї oсвіти другoгo (мaгістерськoгo) рівня oсвітньo-прoфесійнoї прoгрaми «Кoмп’ютерні нaуки»

Тести даної категорії
12.12.2010 ПОЧАТКИ АЛГОРИТМІЗАЦІЇ. ВСТУП ДО ПРОГРАМУВАННЯ

Останні створені тести
30.09.2021 Інтерпретація тексту. Доперекладацький аналіз і редагування письмових текстів.
28.10.2015 British Writers. Тест для студентів 4 курсу ННІ педагогіки
27.10.2015 The Passive Voice. Тест для студентів 2 курсу ННІ педагогіки
27.10.2015 Articles. Тест для студентів 1 курсу неспеціальних факультетів
27.10.2015 The Active Voice. Тест для студентів 2 курсу ННІ педагогіки
08.10.2014 INTEL
26.09.2012 Мовнокомунікативна компетентність. Орфографічна складова
31.05.2012 Lexikalisch-grammatischer Test. Тест для студентів 1 курсу неспеціальних факультетів.
30.05.2012 Landeskunde (Schweiz,Österreich,Deutschland) Тест для студентів 2 курсу неспеціальних факультетів
12.12.2010 ПОЧАТКИ АЛГОРИТМІЗАЦІЇ. ВСТУП ДО ПРОГРАМУВАННЯ
Рекомендовані лекції
27.02.2023 Матеріали лекційного курсу з ОК "Порівняльна стилістика"
12.12.2010 Різні способи задання циклічних процесів
07.10.2024 Інструктивно-методичні матеріали до лекційного курсу "Методика навчання фізики в профільній школі та закладах фахової передвищої освіти"
11.12.2025 МАТЕРІАЛИ ЛЕКЦІЙНОГО КУРСУ ОБОВ’ЯЗКОВОЇ ОСВІТНЬОЇ КОМПОНЕНТИ «МАРКЕТИНГ ТУРИЗМУ І РЕКРЕАЦІЇ»
01.03.2023 лекція 1
16.02.2026 Матеріали лекційного курсу з ОК «Епістемологія та методологія наукового пізнання» для ОП «Теорія та методика навчання (фізична культура)»
22.02.2016 ОС та СП. Тема 2. Процеси та потоки. Слайди
18.02.2026 Матеріали лекційного курсу. Освітня компонента "Методика викладання у закладах фахової передвищої освіти" (для підготовки здобувачів першого (бакалаврського) рівня вищої освіти. Предметна спеціальність 014.10 Середня освіта (Трудове навчання та технології)
02.03.2026 Лекція 9_ТПБЗВП_ Тактична медицина
07.03.2023 ІНСТРУКТИВНО-МЕТОДИЧНІ МАТЕРІАЛИ ДО ЛЕКЦІЙНИХ ЗАНЯТЬ: "Інженерна та комп`ютерна графіка"