Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gmail / Лекция3.Дубль1.doc
Скачиваний:
56
Добавлен:
12.05.2015
Размер:
658.94 Кб
Скачать

Еволюція засобів програмування Мови програмування та їх класифікація

Мова — це система знаків (символів, жестів, положень перемикача і т. д.) для представлення таобміну інформацією.

Мови поділяються на природні (українська, російська, англійська тощо) та штучні (формальні). До штучних мов належать мови, створені людьми для розв’язання специфічних задач, зокрема, мова математичних формул, нотна грамота тощо. Формальні мови відіграють важливу рольі в інформатиці. Завдяки ним, інформацію можна представляти у вигляді, придатному для автоматичного аналізу та обробки на комп'ютері. Доформальнихмов належатьі мови програмування.

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

Мова програмування –це штучна мова, призначенадля опису алгоритму, який треба виконати за допомогою комп’ютера.

Мови програмування класифікують за такими критеріями:

  • Рівень абстракції 

  • мови програмування низькогорівня (машинно-орієнтовані);

  • мови програмування високого рівня .

  • Область застосування

  • універсальні;

  • спеціалізовані.

  • Підтримувані парадигми програмування 

  • об'єктно-орієнтовані,

  • логічні,

  • функціональні тощо.

Мови програмування низького рівня (машинно-орієнтовані) - такі, у яких принципи керування і структура даних безпосередньо відображають архітектуру ПК (орієнтовані на конкретний тип процесора і враховують його особливості).

Оператори таких мов програмування близькі до машинного коду і орієнтовані на конкретні команди мікропроцесора. Вони працюють на рівні регістрів мікропроцесора (оперують сутностями, ближчими ЕОМ: байти, адреси, інструкції) і тому дозволяють реалізовувати всі низькорівневі операції ПК.

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

Приклад 2. Фрагмент машинної програми на асемблері за умови прикладу 1 (позначення для звертання до певних комірок пам’яті вказані в таблиці 4).

Операція

Операнди

Примітка

MOV AX, WORDB

Записати значення, що міститься за адресою WORDB, до регістра AX

MOV BX, WORDC

Записати значення, що міститься за адресою WORDС, до регістра ВX

ADD AX, BX

Додати значення регістру BX до значення регістру AX, суму записати в регістр AX

MULL WORDD

Помножити значення регістру AX на значення, що міститься за адресою WORDD (результат - у регістрі AX)

MOV WORDА, AX

Записати значення регістру AX за адресою WORDА

Таблиця 4

Ідентифікатор змінної

Адреса комірки ОП

WORDA

100

WORDB

101

WORDC

102

WORDD

103

Оскільки системи команд різних моделей мікропроцесорів різняться, конкретній архітектурі ПК відповідає своя мова асемблера, і написана на ній програма може бути використана тільки на тих ПК, для яких вони розроблені. Тому асемблери і вважаються машинно-орієнтованими.

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

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

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

Мови програмування високого рівня (алгоритмічні) - такі, у яких засоби керування і роботи з даними відображають потреби програміста, а не можливості апаратних засобів.

Приклад 3. Фрагмент програми на Pascal за умови прикладів 1та 2.

а := (b + с)*d;{обчислення с }

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

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

Основні відмінності алгоритмічної мови програмування від машинно-орієнтованої :

  • алфавіт алгоритмічної мови значно ширше алфавіту машинно-орієнтованої, що істотно підвищує наочність тексту такої програми;

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

  • формат речень у алгоритмічній мові досить гнучкий, що дозволяє за допомогою одного речення задати досить змістовний етап обробки даних;

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

  • в алгоритмічній мові може бути передбачений значно більший набір типів даних у порівнянні з набором машинних типів даних.

Наочність і потужні можливості алгоритмічних мов обумовили саме їх використання для вирішення різноманітних прикладних задач.

Соседние файлы в папке Gmail