Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Інформаційні моделі і алгоритми.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
123.39 Кб
Скачать

Програми-посередники

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

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

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

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

В наш час машинні коди не використовуються, а кожна програма записується мовою програмування. Існує багато мов програмування, але всі вони, як правило, містять засоби описування даних, арифметичні оператори (подібні с = а + b), засоби керування і організації циклів (подібні if), засоби введення і виведення інформації. Мови програмування подібні принципами організації програм, але різні за синтаксисом. Наприклад, алгоритм пошуку максимального числа, записаний різними мовами:

BASIC PASCAL С

m=0 m=0, m=0;

FOR i=l TO n for i=l to n for(i=0;i<n;i++)

IF a(i)>m THEN if a(i)>m then {if(a[i]>m m=a[i];;}

m=a(i) m:=a(i);

NEXT і

Приклад показує, що принципи запису програм схожі ( оператори, організація циклів, перевірка умов), але є різниця в синтаксисі. Наприклад, індекс масиву пишеться в різних дужках () і [], в програмі С (читається «сі») багато розділових знаків тощо.

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

Слова і синтаксис мов програмування придумуються штучно. Наприклад, програміст володіє мовою С і знає, що складені оператори виділяти треба дужками {...}. В Pascal, наприклад,

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

Всі мови програмування можна поділити на:

  • алгоритмічні (Basic, Pascal, С та ін.);

  • логічні (Prolog);

  • об'єктно-орієнтовані (Smalltalk та ін.).

Особливе місце займають мови високого рівня (COBOL, Ada, Smalltalk, Prolog ін.). Кожній команді мови високого рівня відповідають або декілька команд в машинних кодах, або ціла підпрограма в машинних кодах. Раніше вважалося, що та чи інша мова повинна використовуватися в тій галузі, для якої вона була створена (наприклад, FORTRAN - для математичних розрахунків, COBOL - для комерційних розрахунків, С - для системного програ­мування і т. д.). Бурхливий розвиток комп'ютерних технологій призвів до того, що ці мови стали універсальними.

Наприклад, мова програмування BASIC створювалася як універсальна мова для початківців. Перші версії мали невелику кількість найнеобхідніших команд і передбачали лише режим інтерпретації. Але сучасні варіанти мови BASIC не лише не посту­паються можливостями «грандам» (типу С), а й інколи перевер­шують їх. Наприклад, Visual Basic використовується в суперсу­часних системах, які базуються на технології «клієнт-сервер».

Фірма Microsoft використовує Visual Basic® для розширення функцій своїх програмних продуктів. В Microsoft Office передбачена універсальна мова програмування Visual Basic for Applications (VBA - Visual Basic для додатків). За допомогою VBA можна створювати власні програмні модулі та власні програмні інтерфейси для офісних програм Word, Excel, Access.

Середовище програмування

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

Є мова програмування BASIC і є середовище програмування QuickBASIC (на базі мови BASIC); є мова Pascal і є середовище Turbo Pascal. Системи програмування мають, як правило, по декілька версій.

Сучасне програмування

Для створення сучасних програм широко використовуються об'єктно-орієнтовані мови четвертого покоління (4GL - forth-generation language). На відміну від класичних мов третього покоління (Pascal, С), які мають певних авторів і реалізуються в різних системах програмування, мова 4GL невід'ємна від середовища розробки і фірми, яка випускає інструментальні засоби на основі даної мови.

Мови Pascal і С в оригіналі є процедурними мовами. Мова 4GL працює з об'єктами (вікно, командна кнопка, перемикач тощо) і базується на понятті «подія-повідомлення». Об'єкт «чекає» повідомлення; отримавши повідомлення, реагує на нього. Тому мову 4GL ще називають непроцедурною мовою.

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

  • використання об'єктно-орієнтованих мов;

  • візуальне програмування (тобто побудова екранної форми за допомогою миші із готових напівфабрикатів);

  • швидка розробка додатків (RAD - Rapid Applications Development);

  • бази даних для одночасної роботи багатьох користувачів;

  • програмування з використанням функцій API Windows (Applications Programming Interface - інтерфейс прикладного програмування) тощо.