ОБРОБКА І ПЕРЕДАЧА ІНФОРМАЦІЇ. СУЧАСНІ КОМП'ЮТЕРНІ ТЕХНОЛОГІЇ - Золота колекція рефератів - 2018

КЛАСИФІКАЦІЯ МОВ ПРОГРАМУВАННЯ

Машинно-орієнтовані мови

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

— висока якість створюваних програм (компактність і швидкість виконання);

— можливість використання конкретних апаратних ресурсів;

— передбачуваність об’єктного коду й замовлень пам’яті;

— для складання ефективних програм необхідно знати систему команд і особливості функціонування цієї ЕОМ;

— трудомісткість процесу складання програм (особливо на машинних мовах і МСК), погано захищеного від появи помилок;

— низька швидкість програмування;

— неможливість безпосереднього використання програм, складених цими мовами, на ЕОМ інших типів.

Машинно-орієнтовані мови за ступенем автоматичного програмування поділяються на класи.

Машинна мова

Як уже згадувалося у вступі, окремий комп’ютер має свою певну машинну мову (далі ММ), йому пропонують виконання вказаних операцій над обумовленими ними операндами, тому ММ є командною. Однак деякі сімейства ЕОМ (наприклад, ЄС ЕОМ, ІВМ/370/ та ін.) мають єдину ММ для ЕОМ різної потужності. У команді кожної з них повідомляється інформація про місцезнаходження операндів і тип виконуваної операції.

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

Мови символічного кодування

Мови символічного кодування (далі МСК) так само, як і ММ, є командними. Однак коди операцій і адреси в машинних командах, що являють собою послідовність двійкових (у внутрішньому коді) або восьмеричних (часто використовуваних при написанні програм) цифр, у МСК замінені на символи (ідентифікатори), форма написання яких допомагає програмістові легше запам’ятовувати значеннєвий зміст операції. Це забезпечує істотне зменшення кількості помилок при складанні програм.

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

Автокоди

Є також мови, що включають у себе всі можливості МСК за допомогою розширеного введення макрокоманд — вони називаються автокоди.

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

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

Обидві вказані системи використовують транслятори з МСК і набір макрокоманд, які також є операторами автокоду.

Розвинені автокоди одержати назву асемблери. Сервісні програми та ін., як правило, складені мовами типу асемблер. Повнішу інформацію про цю мову дивіться далі.

Макрос

Мова, що є засобом для заміни послідовності символів, які описують виконання необхідних дій ЕОМ, називається макрос (засіб заміни).

В основному макрос призначений для того, щоб скоротити запис вихідної програми. Компонент програмного забезпечення, що забезпечує функціонування макросів, називається макропроцесором. На макропроцесор надходить макровизначальний і вихідний текст. Реакція макропроцесора на виклик — видача вихідного тексту.

Макрос однаково може працювати як із програмами, так і з даними.

Машинно-незалежні мови

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

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

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

Проблемно-орієнтовані мови

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

Проблемних мов дуже багато, наприклад:

> Фортран, Алгол — мови, створені для розв’язання математичних задач;

> Simula, Сленг — для моделювання;

> Лісп, Снобол — для роботи з обліковими структурами.

Універсальні мови

Універсальні мови були створені для широкого кола завдань: комерційних, наукових, моделювання тощо. Перша універсальна мова була розроблена фірмою IBM, що стала згодом мовою Пл/1. Друга за потужністю універсальна мова називається Алгол-68. Вона дозволяє працювати з символами, розрядами, числами з фіксованою й плаваючою комою. Пл/1 має розвинену систему операторів для управління форматами, для роботи з полями змінної довжини, з даними, організованими в складні структури, і для ефективного використання каналів зв’язку. Мова враховує наявні в багатьох машинах можливості переривання й має відповідних операторів. Передбачено можливість паралельного виконання ділянок програм.

Програми в Пл/1 компілюються за допомогою автоматичних процедур. Мова використовує багато властивостей Фортрана, Алгола, Кобола. Однак вона допускає не тільки динамічний, але й керований і статистичний розподіл пам’яті.

Діалогові мови

Поява нових технічних можливостей поставила завдання перед системними програмістами — створити програмні засоби, що забезпечують оперативну взаємодію людини з ЕОМ. Їх назвали діалоговими мовами.

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

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

Одним із прикладів діалогових мов є Бейсик.

Бейсик використовує позначення, подібні до звичайних математичних виразів. Багато операторів є спрощеними варіантами операторів мови Фортран. Тому ця мова дозволяє розв’язувати досить широке коло завдань.

Непроцедурні мови

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

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

Табличні методи легко освоюються фахівцями будь-яких професій.

Програми, складені табличною мовою, зручно описують складні ситуації, що виникають при системному аналізі.






Відвідайте наш новий сайт - Матеріали для Нової української школи - планування, розробки уроків, дидактичні та методичні матеріали, підручники та зошити