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

Щоб виконати алгоритм розв’язку задачі за прийнятний час, від виконавця вимагається достатньо велика швидкодія. Необхідність у таких виконавцях призвела до появи ЕОМ в середині 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).

     

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

     

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

    •  компіляція (весь текст програми одразу переводиться у машинний код і перевіряється синтаксис всієї програми);
    •  інтерпретація (у машинний код текст програми переводиться послідовними фрагментами і для кожного фрагменту окремо перевіряється синтаксис).
Схожі матеріали
05.10.2012 Введення та виведення даних, розробки та опису лінійних програм.
20.12.2011 Pascal - лабораторні роботи - для студентів III-го курсу (лекції Ляшенко Б.М.)
12.12.2010 Робота з підпрограмами
12.12.2010 Робота з рядковими та символьними величинами.
12.12.2010 Робота з циклічними програмами
12.12.2010 Робота з масивами даних.
12.12.2010 Розробка та описання програм з розгалуженнями
12.12.2010 Початки програмування
12.12.2010 Етапи розв’язання задач з використанням ЕОМ
12.12.2010 Поняття про алгоритм

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

Останні створені тести
28.03.2016 Ахметов Р. Ф. Основи наукових досліджень. Тести. 500 питань
16.11.2015 Олімпійські ігри Стародавньої Греції. Відродження олімпійських ігор. Олімпійський рух сучасності.
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
22.10.2012 Цивільний захист
28.09.2012 Питання для поточного контролю
26.09.2012 Мовнокомунікативна компетентність. Орфографічна складова
Рекомендовані лекції
09.03.2016 ОС та СП. Тема 3. Керування пам'яттю. Тези
23.09.2014 Котлова Л.О. Психологія конфлікту : курс лекцій
12.12.2010 Переборні задачі
28.09.2014 Лекції з курсу "Малюнок в практиці психодіагностики"
19.05.2012 Теми лекцій з основ геометрії
22.03.2016 ОС та СП. Тема 5. Безпека. Слайди
12.12.2010 РЕДАКТОР TURBO PASCAL 5.5
12.12.2010 Рекурсія
12.12.2010 Етапи розв’язання задач з використанням ЕОМ
12.12.2010 Структурний підхід до алгоритмізації