Мови програмування
Псевдокод являє собою систему позначень і правил, призначену для однакової запису алгоритмів. Він займає проміжне місце між природним і формальною мовою.
У псевдокоді не прийняті строгі синтаксичні правила для запису команд, властиві формальним мовам, що полегшує запис алгоритму на стадії його проектування і дає можливість використовувати більш широкий набір команд, розрахований на абстрактного виконавця. При цьому в псевдокоді зазвичай є деякі конструкції, властиві формальним мовам, що полегшує перехід від запису на псевдокоді до запису алгоритму на формальному мові. Зокрема, в псевдокоді, так само як і в формальних мовах, є службові слова, зміст яких определ ?? ен раз і НАВС ?? егда. Οʜᴎ виділяються в друкованому тексті жирним шрифтом, а в рукописному тексті підкреслюються. Єдиного або формального определ ?? ення псевдокоду не існує, в зв'язку з цим можливі різні псевдокоду, що відрізняються набором службових слів і базових (базових) конструкцій. Як приклад наведемо запис на одному з Псевдокод алгоритму:
поки перше число не дорівнює другому
інакше визначити більше з двох чисел;
з Амен більше число на різницю більшого і меншого чисел
взяти перше число в якості відповіді
Цей алгоритм можна записати простіше, але для демонстрації базових можливих конструкцій псевдокоду приведена саме такий запис. В силу своїх особливостей псевдокоду, як і інші описані вище засоби запису алгоритмів, орієнтовані на людину.
Вище зазначалося, що під час запису алгоритму в словесній формі, у вигляді схеми або на псевдокоді допускається определ ?? енний свавілля при зображенні команд. Разом з тим такий запис настільки точна, що дозволяє людині зрозуміти суть справи і виконати алгоритм.
При цьому на практиці в якості исполнител ?? їй алгоритмів використовуються спеціальні автомати - електронні обчислювальні машини (ЕОМ). З цієї причини алгоритм, призначений для виконання на ЕОМ, повинен бути записаний на мові,''понятном'' ЕОМ. І тут на перший план висувається вкрай важливо сть точної записи команд, яка не залишає місця для довільного тлумачення їх исполнител ?? їм. Отже, мова для запису алгоритму повинен бути формалізований. Така мова прийнято називати мовою програмування, а запис алгоритму на цій мові - програмою дляЕВМ.
Мова програмування - це формалізований мову, який являє собою сукупність алфавіта͵ правил написання конструкцій (синтаксис) і правил тлумачення конструкцій (семантика).
Сьогодні налічується кілька сотень мов програмування, розрахованих на різні сфери застосування ЕОМ, т. Е. На різні класи розв'язуваних за допомогою ЕОМ задач. Ці мови класифікують за різними рівнями, враховуючи ступінь залежності мови від конкретної ЕОМ.
Загальноприйнятою і суворої класифікації мов програмування не існує. З цієї причини в курсі подано класифікацію найбільш поширених мов, що склалася історично:
Командні мови баз даних
На самому нижньому рівні класифікації знаходиться машинний мову, т. Е. Внутрішній мову ЕОМ, на якому в кінцевому підсумку буде і виповнюється програма. При цьому безпосередній запис алгоритму на машинній мові вимагає від розробника надмірної деталізації алгоритму, завдяки чому запис виходить не наочної і важкою для розуміння. З цієї причини розробники алгоритмів використовують, як правило, мови програмування більш високого рівня, в яких прийнята символічна форма запису, близька до загальноприйнятої математичної.
Універсальні мови високого рівня забезпечують створення різних програм (завдань), наприклад Алгол, Сі, ПЛ / 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 - інтерфейс прикладного програмування);
Ø бази даних і розраховані на багато користувачів додатка (т. Е. Додатки, з якими одночасно працює кілька користувачів ?? їй) і багато інших.
Детально мови програмування не будуть розглянуті в даному курсі.