Базові поняття програмування

Про матеріал
1. Класифікація мов програмування. 2. Технологія створення програми. 3. Перетворення програми і система програмування.
Перегляд файлу

Тема:  Базові поняття програмування

План

  1. Класифікація мов програмування.
  2. Технологія створення програми.
  3. Перетворення програми і система програмування.

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

Існує безліч класифікацій мов програмування за різними критеріями. Найпростіший розподіл - на мови високого і низького рівня.

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

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

Інша класифікація ділить мови на обчислювальні і мови символьної обробки. До першого типу відносять ФОРТРАН, ПАСКАЛЬ, АЛГОЛ, БЕЙСІК, С, до другого - ЛИСП, ПРОЛОГ, Снобол і ін.

Класифікація мов програмування по типам завдань наведена в табл.1

 

Таблиця 1. Класифікація мов програмування за типами задач

Тип завдання

Мови програмування

Завдання штучного інтелекту

ЛИСП, ПРОЛОГ, Common Lisp, РЕФАЛ, Planner, QLisp

паралельні обчислення

Fun, Apl, ML, SML, Occam, Actus, паралельний КОБОЛ, ОВС-АЛГОЛ, ОВС-ФОРТРАН

Завдання обчислювальної математики і фізики

Occam, Actus, паралельний КОБОЛ, ОВС-АЛГОЛ, ОВС-ФОРТРАН

Розробка інтерфейсу, програм-оболонок, систем

Forth, С, C ++, Асемблер, макроассемблер, СИМУЛА-67,0 А К, Smalltalk, Java, РПГ

Завдання обчислювального характеру

АЛГОЛ, ФОРТРАН, КОБОЛ, Ada, PL / 1, БЕЙСІК, ПАСКАЛЬ

Оформлення документів, обробка великих текстових файлів, організація віртуальних тривимірних інтерфейсів в Інтернеті, розробка БД

HTML, Perl, SQL, Informix 4GL, Natural, DDL, DSDL, SEQUEL

data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22720%22%20height%3D%22405%22%3E%3C%2Fsvg%3E

Ще одна поширена класифікація мов програмування коли, мови ділять на процедурні , об'єктно-орієнтовані, функціональні і логічні.

У процедурних мовах програма явно описує дії, які необхідно виконати, а результат задається тільки способом отримання його за допомогою деякої процедури, яка представляє собою певну послідовність дій. В цю велику групу входять, наприклад, ПАСКАЛЬ, С, АДА, ПЛ / 1, ФОРТРАН і БЕЙСІК.

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

У функціональних мовах програма описує обчислення деякої функції. Зазвичай ця функція задається як композиція інших, більш простих, ті в свою чергу розкладаються на ще більш прості і т.д. Один з основних елементів в функціональних мовах - рекурсія, тобто обчислення значення функції через значення цієї ж функції від інших елементів. Присвоювання і циклів в класичних функціональних мовах немає. Представниками цієї групи є ЛИСП, ML і Haskell.

У логічних мовах програма взагалі не описує дій. Вона задає дані і співвідношення між ними. Після цього системі можна задавати питання. Машина перебирає відомі і задані в програмі дані і знаходить відповідь на питання.

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

Кодування і документування програми

Робота кодувальника полягає в перекладі алгоритму в програму. Для створення повної, точної та зрозумілої програми необхідні відповідні методи запису програм. Наприклад, кулінарні рецепти зазвичай записуються на природних мовах, таких, як англійська, французька, російська або японська. Програми ж пишуться на мовах програмування. В даний час жодну з природних мов не можна використовувати в якості мови програмування, так як вони занадто складні, щоб їх могли «розуміти» машини. На відміну від природних, мови програмування створені спеціально для такого подання рішення завдання, яке може бути виконано комп'ютером.

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

Структурний підхід до програмування

Структурне програмування - підхід, при якому для передачі управління у програмі використовуються тільки три конструкції, що допускають послідовну, умовну й ітеративну передачі управління. При цьому безумовна передача управління, наприклад, оператором go to забороняється.

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

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

Структурний підхід до програмування являє собою методологію створення програм. Його впровадження забезпечує:

- підвищення продуктивності праці програмістів при написанні та контролі програм;

- отримання програм, які більш придатні для супроводу, оскільки складаються з окремих модулів;

- створення програм колективом розробників;

- закінчення створення програм у заданий термін.

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

  1. Перетворення програми і система програмування.

Інтерпретатори і компілятори

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

Існують спеціальні програми, що грають роль перекладача між програмою користувача і комп'ютером. Такі програми називаються трансляторами. Вони перекладають початковий код програми, написаної на конкретній мові програмування у зрозумілі машині інструкції, а імена змінних в адреси елементів пам'яті.

 

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

 

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

 

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

 

 

 

 

docx
Додано
13 листопада 2022
Переглядів
1139
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку