Тема 8. Основи систем управління базами даних 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема 8. Основи систем управління базами даних



1. Призначення СУБД. Типи запитів. Правила введення параметрів у бланку запиту.(4 год)

Тема 9. Основи програмування. (14 год)

1. Мови програмування. Iнтерпретацiя та компiляцiя. Класифікація мов програмування. (4 год)

Мо́ва програмува́ння (англ. Programming language) — це штучна мова, створена для передачі команд машинам, зокрема комп'ютерам. Мови програмування використовуються для створення програм, котрі контролюють поведінку машин, та запису алгоритмів.

Більш строге визначення: мова програмування — це система позначень для опису алгоритмів та структур даних[1], певна штучна формальна система, засобами якої можна виражати алгоритми[2]. Мову програмування визначає набір лексичних, синтаксичних і семантичних правил, що задають зовнішній вигляд програми і дії, які виконує виконавець (комп'ютер) під її управлінням.[ Джерело? ]

З часу створення перших програмованих машин було створено понад дві з половиною тисячі мов програмування.[3] Щороку їх кількість поповнюється новими. Деякими мовами вміє користуватись тільки невелике число їх власних розробників, інші стають відомі мільйонам людей. Професійні програмісти зазвичай застосовують в своїй роботі декілька мов програмування.

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

Мови класифікують за такими критеріями[ Джерело? ]:

Рівень абстракції

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

Область застосування

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

Підтримувані парадигми програмування

Об'єктно-орієнтовані, логічні, функційні, структурні…

Імперативні мови базуються на ідеї змінної, значення якої змінюється присвоєнням. Вони називаються імперативними (лат. imperative - наказовий), оскільки складаються із послідовностей команд, які звичайно містять присвоєння змінних <назва_змінної> = <вираз>, де вираз може посилатися на значення змінних присвоєних попередніми командами.

Способи реалізації мов

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

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

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

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

Для будь-якої інтерпритуючої мови можна створити компілятор - наприклад, мова Лісп, початково інтерпретована, може компілюватися без обмежень. Створюваний під час виконання програми код може так само динамічно компілюватися під час виконання.

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

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

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

Деякі мови, наприклад, Java та C #, перебувають між компільованими і інтерпретованими. А саме, програма компілюється не в машинну мову, а в машинно-незалежний код низького рівня, байт-код. Далі байт-код виконується віртуальною машиною. Для виконання байт-коду зазвичай використовується інтерпретація, хоча окремі його частини для прискорення роботи програми можуть бути трансльовані в машинний код безпосередньо під час виконання програми за технологією компіляції «на льоту» (Just-in-time compilation, JIT). Для Java байт-код виповнюється віртуальною машиною Java (Java Virtual Machine, JVM), для C # - Common Language Runtime.

Подібний підхід у деякому сенсі дозволяє використовувати плюси як інтерпретаторів, так і компіляторів. Слід згадати, що є мови, які мають і інтерпретатор, і компілятор (Форт (Forth)).

 

2. Декларативні мови програмування. Порівняння з процедурними мовами. (4 год)

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

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

Ця парадигма мов програмування відмінна від імперативних мов програмування, таких як, наприклад, Фортран, C, і Java, які вимагають від розробника детального описання алгоритма отримання результатів.

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

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

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

 

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

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

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

Найбільш поширеним мовою логічного програмування є мова Пролог.

 

3. Мова програмування Паскаль. Основнi поняття мови. Паскаль-програми. Основнi типи даних. Вирази. Оператори мови.(4 год)

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

Проте, спочатку мова мала ряд обмежень: неможливість передачі функцій масивів змінної довжини, відсутність нормальних засобів роботи з динамічною пам'яттю, обмежена бібліотека вводу-виводу, відсутність засобів для підключення функцій написаних на інших мовах, відсутність коштів роздільної компіляції і т. п. Докладний розбір недоліків мови Паскаль того часу був виконаний Брайаном Керніганом у статті "Чому Паскаль не є моїм улюбленим мовою програмування" [9] (ця стаття вийшла на початку 1980-х, коли вже існував мову Модула-2, нащадок Паскаля, позбавлений від більшості його пороків, а також більш розвинені діалекти Паскаля). Деякі недоліки Паскаля були виправлені в ISO-стандарті 1982 року, зокрема, в мові з'явилися відкриті масиви, що дали можливість використовувати одні і ті ж процедури для обробки одновимірних масивів різних розмірів.

Необхідно зауважити, що багато недоліків мови не виявляються або навіть стають достоїнствами при навчанні програмуванню. Крім того, порівняно з основною мовою програмування в академічному середовищі 1970-х (яким був Фортран, що володів набагато більш істотними недоліками), Паскаль представляв собою значний крок вперед. На початку 1980-х років в СРСР для навчання школярів основам інформатики та обчислювальної техніки академік А. П. Єршов розробив Алгол-паскалеподобний " навчальний алгоритмічну мову ".

Найбільш відомою реалізацією Паскаля, що забезпечила широке поширення і розвиток мови, є Turbo Pascal фірми Borland, що виросла потім у об'єктний Паскаль для DOS (починаючи з версії 5.5) і Windows і далі в Delphi, в якій були впроваджені значні розширення мови.

Діалекти Паскаля, застосовувані в Turbo Pascal для DOS і Delphi для Windows, стали популярні з-за відсутності інших успішних комерційних реалізацій.



Поделиться:


Последнее изменение этой страницы: 2017-02-10; просмотров: 158; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.61.16 (0.01 с.)