Інформація про новину
  • Переглядів: 975
  • Дата: 15-10-2021, 10:31
15-10-2021, 10:31

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

Категорія: Інформатика





Попередня сторінка:  9.1. Етапи розв'язування задач із викор...
Наступна сторінка:   9.3. Середовище програмування Python

З якими мовами програмування ви ознайомилися в попередніх класах?

Початок розвитку історії мов програмування припадає на XIX ст., коли англійський учений Чарльз Беббідж розробив механічну обчислювальну машину, програму для якої написала Ада Лавлейс. Мови програмування в сучасному розумінні почали розвиватися фактично з появою ЕОМ.

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

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

Як і будь яка інша мова, мова програмування містить такі складові: алфавіт, синтаксис і семантику (рис. 9.1).

Нині розповсюдженою мовою низького рівня є Асемблер.

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

Нині існують десятки тисяч різних мов програмування, які умовно класифікуються за кількома основними ознаками (рис. 9.2, с. 181).

Однією з перших мов високого рівня, що набула широкого визнання серед програмістів світу, була мова Fortran.

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

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

Мови програмування високого рівня (машинно-незалежні) — мови, на яких програми можуть використовуватися на комп’ютерах різних типів і які є більш зрозумілими людині, ніж мови низького рівня. У мовах високого рівня команди не залежать від апаратних особливостей.

Програми, написані цими мовами, можуть виконуватися на будь-якому комп’ютері.

Мови надвисокого рівня мають механізми абстрактного описування задачі та вбудовані засоби їх розв’язування. Такими мовами є, наприклад, Prolog, APL.

• За принципами програмування мови поділяються на процедурні, непроцедурні та мови об’єктно-орієнтованого програмування.

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

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

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

Найпопулярнішою мовою скриптів нині є javascript, яка використовується для створення динамічних компонентів на вебсторінках.

• За орієнтацією на клас задач мови програмування поділяють на універсальні та спеціалізовані.

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

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

Матеріал нашого підручника зорієнтовано на роботу з мовою програмування Python, яка підтримує об’єктно-орієнтова-ний і процедурний методи програмування.

HTML є мовою розмітки гіпертексту, її часто помилково називають мовою програмування.

Наведемо її стислу характеристику.

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

• Мова Python має потужну стандартну бібліотеку, яку користувач може розширювати власними бібліотеками й бібліотеками інших користувачів. Наприклад, розширення .NumPy містить реалізацію різноманітних математичних обчислень, модуль tkinter дає змогу реалізувати графічний інтерфейс користувача.

• Програми можуть розроблятися в консольному режимі (такі програми мають розширення .ру) і з графічним інтерфейсом (програми мають розширення .pyw).

• Python має алфавіт, який складається із символів, розташованих на клавіатурі, ключові (зарезервовані) слова, наприклад and, break, літерали (константи), оператори, вбудовані функції та інші елементи. Однакові ідентифікатори на різних регістрах сприймаються як різні імена. Так, Delta і delta є різними ідентифікаторами.

• Програму мовою Python можна створювати й редагувати за допомогою будь-якого редактора, наприклад Notepad++, Eclipse, PythonWin та ін.

Запитання для перевірки знань

Назвіть основні ознаки класифікації мов програмування.

Як мови поділяються за принципом програмування?

Назвіть найсучасніші універсальні мови програмування.

Які спеціалізовані мови програмування нині є найпоширенішими?

Чому процедурні мови були витіснені об'єк-тно-орієнтовананими мовами?

Які переваги та недоліки мають мови низького і високого рівнів?

 

Це матеріал з підручника Інформатика 8 клас Руденко (2021)

 




Попередня сторінка:  9.1. Етапи розв'язування задач із викор...
Наступна сторінка:   9.3. Середовище програмування Python



^