Мови програмування - студопедія

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

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

поки перше число не дорівнює другому

інакше визначити більше з двох чисел;

з Амен більше число на різницю більшого і меншого чисел

взяти перше число в якості відповіді

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

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

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

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

В даний час налічується кілька сотень мов програмування, розрахованих на різні сфери застосування ЕОМ, т. Е. На різні класи розв'язуваних за допомогою ЕОМ задач. Ці мови класифікують за різними рівнями, враховуючи ступінь залежності мови від конкретної ЕОМ.

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

Командні мови баз даних

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

Універсальні мови високого рівня забезпечують створення різних програм (завдань), наприклад Алгол, Сі, ПЛ / 1 і т.д ..

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

Об'єктно-орієнтовані мови четвертого покоління (4GL - forth-generation language) і програмування засновані на створенні моделі системи, як сукупності об'єктів і використовує такі базові поняття: клас, об'єкт, подія, властивості об'єкта, метод обробки. Першою мовою програмування цієї групи був - Симула-67. В даний час до цих мов відносяться - С ++, Visual Basic, Java Script і динамічний HTML і інші сучасні мови програмування.

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

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

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

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

Програма-інтерпретатор завжди працює спільно з вихідним текстом. Вона розбирає кожну інструкцію вихідного тексту (інтерпретує її) і негайно виконує (т. Е. Файл на машинній мові не створюється). Програма в режимі інтерпретації працює набагато повільніше, ніж така ж програма в машинному коді. Це пов'язано з тим, що кожну інструкцію доводиться розбирати під час виконання (а не заздалегідь, як при компіляції). Багато інструкції в програмі виконуються багаторазово, - і при кожному виконанні інтерпретуються заново. Тому всюди, де можливо, прагнуть замінити режим інтерпретації режимом компіляції. Правда, інтерпретація має і свої переваги: ​​з її допомогою простіше налагоджувати програму. Іноді користуються режимом «псевдокомпіляції»: прискорюють інтерпретацію за рахунок попереднього запам'ятовування тих чи інших елементів розібраних команд в пам'яті машини.

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

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

Ø візуальне програмування (т. Е. Складання екранної форми за допомогою миші з готових «напівфабрикатів» -об'єктів);

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

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

Ø бази даних і розраховані на багато користувачів додатка (т. Е. Додатки, з якими одночасно працює кілька користувачів) і багато інших.

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