Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






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

Засоби створення програм

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

 

У прикладі 1.1 використовувалися числові коди операцій і числові значення адрес комірок пам'яті. Такий спосіб написання програм називається програмуванням у числових кодах, а мова, якою записуються такі програми, — машинною. Машинна мова — це «природна мова» певного комп'ютера, яка визначається під час проектування його апаратних засобів. Машинні мови важкі для людського сприйняття. Тому природним виявилося прагнення автоматизувати процес написання програм, для того щоб полегшити працю програміста, частково поклавши його роботу на саму машину. Програмісти почали використовувати більш звичну для людини символьну форму опису обчислень, а перетворення програм у машинні коди здійснювали за допомогою програм трансляції (від англ. translation- переклад), які називаються асемблерами (від англ. to assemble — збирати).

Мови програмування, у яких числове кодування команд було замінено їх символьним зображенням, називалися мовами символічного кодування, а системи програмування — системами символічного кодування (ССК). Нині такі мови перетворилися в досить потужні засоби програмування, названі асемблерами.

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

Приклад 1.12______________________________________________________

Припустимо, що комірки оперативної пам'яті з адресами 100, 101, 102 і 103 позначено відповідно як WORDA, WORDB, WORDC, WORDD. Для виконання операцій необхідні регістри процесора, які позначено як АХ і ВХ. Команди «прочитати» й «записати» позначено як MOV, «додати» і «помножити» - як ADD та MUL. Тоді послідовність команд із прикладу 1.1 матиме такий вигляд (після крапки з комою в кожному рядку наведено коментарі до заданої дії):

MOV AX, WORDB :прочитати число за адресою WORDB і записати його до регістра АХ

MOV BX, WORDC :прочитати число за адресою WORDC і записати його до регістра ВХ

ADD AX, BX :додати числа з регістрів АХ і ВХ. суму записати в АХ

MUL WORDD :помножити вміст регістру АХ на число, записане за адресою WORDD

MOV WORDC, AX :записати число з регістра АХ за адресою WORDC

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

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

Для прискорення процесу програмування були розроблені мови програмування високого рівня, які дозволяли писати програми, за формою близькі до людської мови, та використовували загальноприйняту математичну нотацію. Перша з них з'явилася наприкінці 1950-х років і називалася Fortran. Назва була скороченням від слів FORmula TRANsIation, що у перекладі означає трансляція формул. Опис мовою високого рівня програми, наведеної у прикладі 1.12, може виглядати так:

r =Ь+с

a=r*d

Нагадаємо, що обчислюється вираз за формулою a = (b + с) × d. У тексті програми іменами a, b, c, d, r позначені комірки пам'яті, в які записуються числа.

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


Читайте також:

  1. II. Класифікація видатків та кредитування бюджету.
  2. V. Класифікація і внесення поправок
  3. V. Класифікація рахунків
  4. А. Структурно-функціональна класифікація нирок залежно від ступеню злиття окремих нирочок у компактний орган.
  5. Адміністративні провадження: поняття, класифікація, стадії
  6. Аналітичні процедури внутрішнього аудиту та їх класифікація.
  7. Банківська платіжна картка як засіб розрахунків. Класифікація платіжних карток
  8. Банківський кредит та його класифікація.
  9. Банківські ресурси, їх види та класифікація
  10. Безпосереднє програмування відеопам'яті
  11. Будівельна класифікація ґрунтів
  12. Будівельні домкрати, їх призначення, класифікація та конструкція.




Переглядів: 657

<== попередня сторінка | наступна сторінка ==>
Тема: Програмне забезпечення | Ефір для наркозу

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.006 сек.