Основні концепції мов програмування
Особливість машинно-орієнтованих та машинно-незалежних мов. Характеристика стилю символічного кодування. Аналіз розширеного введення макрокоманд. Методика розстановки і генерування автокоду. Призначення макросу для скорочення запису вихідної програми.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 05.03.2015 |
Размер файла | 19,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
1. Машинно-орієнтовані мови
Машинно-орієнтовані мови - це мови, набори операторів і образотворчі засоби яких істотно залежать від особливостей ЕОМ (внутрішнього мови, структури пам'яті і т.д.). Машинно-орієнтовані мови дозволяють використовувати всі можливості та особливості машинно-залежних мов:
1. висока якість створюваних програм (компактність і швидкість виконання);
2. можливість використання конкретних апаратних ресурсів;
3. передбачуваність об'єктного коду та замовлень пам'яті;
4. для складання ефективних програм необхідно знати систему команд та особливості функціонування даної ЕОМ;
5. трудомісткість процесу складання програм (особливо на машинних мовах і МСК), погано захищеного від появи помилок;
6. низька швидкість програмування;
7. неможливість безпосереднього використання програм, складених на цих мовах, на ЕОМ інших типів.
Машинно-орієнтовані мови за ступенем автоматичного програмування поділяються на класи.
1.1 Машинні мови
Як я вже згадував, у введенні, окремий комп'ютер має свою певну машинну мову (далі МВ), йому наказують виконання згаданих операцій над обумовленими ними операндами, тому машинна мова є командною, тобто дає команди. Однак, деякі сімейства ЕОМ (наприклад, ЄС ЕОМ, IBM/370 / та ін.) мають єдину машинну мову для ЕОМ різної потужності. У команді будь-якого з них повідомляється інформація про місцезнаходження операндів і тип виконуваної операції.
У нових моделях ЕОМ намічається тенденція до підвищення внутрішніх мов машинно-апаратним шляхом реалізовувати більш складні команди, що наближаються за своїми функціональними дій до операторів алгоритмічних мов програмування.
1.2 Мови символічного кодування
Продовжимо розповідь про командні мовах, Мови Символічного Кодування (далі МСК), так само, як і машинну мову, є командними. Однак коди операцій та адреси в машинних командах, що представляють собою послідовність двійкових (у внутрішньому коді) або вісімкових (часто використовуваних при написанні програм) цифр, в МСК замінені на символи (ідентифікатори), форма написання яких допомагає програмісту легше запам'ятовувати смисловий зміст операції. Це забезпечує суттєве зменшення кількості помилок при складанні програм.
Використання символічних адрес - перший крок до створення МСК. Команди ЕОМ замість істинних (фізичних) адрес містять символічні адреси. За результатами складеної програми визначається необхідна кількість сейфів для зберігання вихідних проміжних і результуючих значень. Призначення адрес, що виконується окремо від складання програми в символічних адресах, може проводитися менш кваліфікованим програмістом або спеціальною програмою, що в значній мірі полегшує працю програміста.
1.3 Автокод
Є також мови, що включають в себе всі можливості МСК, за допомогою розширеного введення макрокоманд - вони називаються автокодом.
У різних програмах зустрічаються деякі досить часто використовуються командні послідовності, які відповідають певним процедурам перетворення інформації. Ефективна реалізація таких процедур забезпечується оформленням їх у вигляді спеціальних макрокоманд і включенням останніх у мову програмування, доступний програмісту. Дії переводяться в машинні команди двома шляхами - розстановкою і генеруванням.У постановочної системі містяться «кістяки» - серії команд, що реалізують необхідну функцію, позначену дії. Дії забезпечують передачу фактичних параметрів, які в процесі трансляції вставляються в «кістяк» програми, перетворюючи її в реальну машинну програму.
В системі з генерацією є спеціальні програми, що аналізують дії, які визначають, яку функцію необхідно виконати і формують необхідну послідовність команд, що реалізують цю функцію.
Обидві зазначених системи використовують транслятори з МСК і набір макросів, які також є операторами автокодом.
Розвинені автокодом отримали назву Асемблер. Сервісні програми тощо, як правило, складені на мовах типу Асемблер. Мова Асемблера - це символічне подання машинної мови. Він полегшує процес програмування в порівнянні з програмуванням в машинних кодах.
Програмісту не обов'язково вживати справжні адреси комірок пам'яті з розміщеними в них даними, беруть участь в операції, і обчислювані результати, а також адреси тих команд, до яких програма не звертається.
Деякі завдання, наприклад, обмін з нестандартними пристроями обробки даних складних структур неможливо вирішити за допомогою мов програмування високого рівня. Це під силу асемблеру.
В принципі, мова Асемблер є машинною мовою. І програміст реалізує будь-яку задачу на мовах високого рівня, за допомогою Асемблера може визначити осмислено чи рішення даного завдання, з точки зору використання ЕОМ.
Вміння розібратися в роздруківці мови асемблера, дає можливість полегшити пошук помилок в програмах.
1.4 Макроси
Мова, що є засобом для заміни послідовності символів описують виконання необхідних дій ЕОМ на більш стислу форму - називається макрос (засіб заміни). машинний мова кодування макрос
В основному, макрос призначений для того, щоб скоротити запис вихідної програми. Компонент програмного забезпечення, що забезпечує функціонування макросів, називається макропроцесором. На макропроцесори надходить макровизначаючий і початковий текст. Реакція макропроцесора на виклик - видача вихідного тексту. Макрос однаково може працювати, як з програмами, так і з даними.
2. Машинно-незалежні мови
Машинно-незалежні мови - це засіб опису алгоритмів вирішення завдань та інформації, що підлягає обробці. Вони зручні у використанні для широкого кола користувачів і не вимагають від них знання особливостей організації функціонування ЕОМ.
Подібні мови отримали назву високорівневі мови програмування. Програми, що складаються на таких мовах, являють собою послідовності операторів, структуровані відповідно до правил розглядання мови (завдання, сегменти, блоки і т.д.). Оператори мови описують дії, які повинна виконувати система після трансляції програми на машинну мову.
Тобто, командні послідовності (процедури, підпрограми), часто використовувані в машинних програмах, представлені в високорівневих мовах окремими операторами. Програміст отримав можливість не розписувати в деталях обчислювальний процес на рівні машинних команд, а зосередитися на основних особливостях алгоритму.
2.1 Проблемно-орієнтовані мови
З розширенням областей застосування обчислювальної техніки виникла необхідність формалізувати уявлення постановки і рішення нових класів задач. Необхідно було створити такі мови програмування, які, використовуючи в даній області позначення та термінологію, дозволили б описувати необхідні алгоритми рішення для поставлених завдань, ними стали проблемно-орієнтовані мови. Ці мови орієнтовані на вирішення певних проблем, повинні забезпечити програміста засобами, що дозволяють коротко і чітко формулювати завдання і отримувати результати у необхідній формі.
Проблемних мов дуже багато, наприклад:
1. Фортран, Алгол - мови, створені для вирішення математичних завдань;
2. Simula, сленг - для моделювання;
3. Лісп, Снобол - для роботи з обліковим структурами.
2.2 Універсальні мови
Універсальні мови були створені для широкого кола завдань: комерційних, наукових, моделювання і т.д. Перший універсальна мова був розроблений фірмою IBM, що став в послідовності мов PL/1. Другий за потужністю універсальна мова називається Алгол-68. Він дозволяє працювати з символами, розрядами, числами з фіксованою і плаваючою комою. PL/1 має розвинену систему операторів для управління форматами, для роботи з полями змінної довжини, з даними організованими в складні структури, і для ефективного використання каналів зв'язку. Мова враховує включені в багато машини можливості переривання і має відповідні оператори. Передбачена можливість паралельного виконання ділянок програм.
Програми в PL/1 компілюються за допомогою автоматичних процедур. Мова використовує багато властивості Фортран, Алгол, Кобол. Проте він допускає не тільки динамічний, але і керований та статистичний розподіл пам'яті.
2.3 Діалогові мови
Поява нових технічних можливостей поставило завдання перед системними програмістами - створити програмні засоби, що забезпечують оперативну взаємодію людини з ЕОМ їх назвали діалоговими мовами.
Ці роботи велися в двох напрямках:
1) Створювалися спеціальні керуючі мови для забезпечення оперативного впливу на проходження завдань, які складалися на будь-яких ранніх неопрацьованих (не діалогових) мовами.
2) Розроблялися також мови, які крім цілей управління забезпечували б опис алгоритмів вирішення завдань.
Необхідність забезпечення оперативної взаємодії з користувачем зажадала збереження в пам'яті ЕОМ копії вихідної програми навіть після отримання об'єктної програми в машинних кодах. При внесенні змін до програми з використанням діалогового мови система програмування за допомогою спеціальних таблиць встановлює взаємозв'язок структур вихідної та об'єктної програм. Це дозволяє здійснити необхідні редакційні зміни до об'єктної програмі. Одним із прикладів діалогових мов є Basic.
Basic використовує позначення подібні звичайним математичним виразами. Багато операторів є спрощеними варіантами операторів мови Фортран. Тому ця мова дозволяє вирішувати досить широке коло завдань.
2.4 Непроцедурні мови
Непроцедурні мови складають групу мов, що описують організацію даних, що обробляються за фіксованими алгоритмам (табличні мови і генератори звітів), і мов зв'язку з операційними системами.
Дозволяючи чітко описувати як завдання, так і необхідні для її вирішення дії, таблиці рішень дають змогу в наочній формі визначити, які умови повинні бути виконані перш ніж переходити до якого-небудь дії. Одна таблиця рішень, що описує деяку ситуацію, містить всі можливі блок-схеми реалізацій алгоритмів рішення.
Табличні методи легко освоюються фахівцями будь-яких професій.
Програми, складені на табличному мовою, зручно описують складні ситуації, що виникають при системному аналізі.
Список використаної літератури
1. Роберт У. Себеста. Основные концепции языков программирования Concepts of Programming Languages /Пер. с англ. -- 5-е изд. -- М.: 2001.
2. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. -- М.: Центр ЮрИнфоР, 2001.
3. Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов -- это очень просто!. -- М.: Дело, 2001.
4. Давидов М. И., Антонов В. Г. LEX - генератор программ лексического анализа / М. - 1985;
5. Ваулин А.С. / Языки программирования, кн. 5, 1993.
6. Терренс П. / Языки программирования: разработка и реализация. 1979.
7. Хротко Г. / Языки программирования высокого уровня. 1982.
8. Малютин Э.А., Малютина Л.В. / Языки программирования. 1982.
9. Ушкова В. / Новые языки программирования и тенденции их развития. 1982.
10. Янг С. / Алгоритмические языки реального времени 1985.
Размещено на Allbest.ru
...Подобные документы
Проектування архітектури гри "Тетріс". Аналіз вимог до неї. Вивчення особливостей реалізації, кодування та тестування програми. Алгоритм побудови робочого поля. Вибір мови програмування. Розробка і налагодження тексту програми. Інструкції з експлуатації.
курсовая работа [460,9 K], добавлен 04.03.2014Поняття процедури, її призначення, форма запису, складові частини. Звернення до процедури, формальні параметри та фактичні аргументи, відповідність. Модулі користувача, їх призначення, структура запису, складові частини, підключення модулів до програми.
контрольная работа [587,3 K], добавлен 21.04.2011Характеристики методів стискання інформації. Дворівневе кодування, алгоритм Лемпеля-Зіва. Блок-схема алгоритму кодування. Вибір мови, середовища програмування. Опис інтерфейсу, тестування програми. Бібліотеки, які використовуються при написанні програми.
курсовая работа [728,9 K], добавлен 17.01.2014Характеристика дослідження методу введення обмежених обсягів текстової інформації в ЕОМ. Аналіз механізму розробки програми, що передбачає можливість запису текстової інформації до файлу, а також завантаження тексту з файлу. Порядок роботи з програмою.
курсовая работа [74,1 K], добавлен 05.02.2010Опис алгоритму генерування підмножин заданої множини методом двійкової арифметики та бінарним кодом Грея. Аналіз програми генерування підмножини з заданої множини із визначеною кількістю елементів в лексикографічному та антилексикографічному порядку.
лабораторная работа [29,6 K], добавлен 12.05.2011Поняття мови програмування С++, її сутність та особливості, призначення та використання. Структура програми, її основні елементи та загальні правила роботи. Охорона праці при роботі з обчислювальною технікою. Апаратні вимоги для виконання програми.
курсовая работа [126,2 K], добавлен 29.03.2009Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.
лекция [445,0 K], добавлен 24.07.2014Типологія засобів проектування економічних інформаційних систем з використанням ЕОМ. Описання видів реєстраційних і класифікаційних систем кодування інформації. Операції автоматизованого введення паперових документів, етапи процесу їх сканування.
контрольная работа [114,7 K], добавлен 00.00.0000Типологія засобів проектування економічних інформаційних систем з використанням ЕОМ. Описання видів реєстраційних і класифікаційних систем кодування інформації. Операції автоматизованого введення паперових документів, етапи процесу їх сканування.
контрольная работа [114,7 K], добавлен 14.02.2011Розгляд оригінального візерунку, що складається із суперпозиції чотирьох кривих. Проект реалізації алгоритму побудови цих кривих у вигляді програми функціональною мовою програмування Lisp. Головна особливість кривої Серпінського. Створення програми Serp.
курсовая работа [200,9 K], добавлен 23.04.2010Аналіз предметної області, постановка задачі. Формулювання проблеми. Аналіз предметної області. Постановка задачі. Проект програми. Ієрархія об’єктів. Ієрархія наслідування. Діаграма станів гри. Специфікація. Кодування.
курсовая работа [217,2 K], добавлен 16.06.2007Об'єктно-орієнтоване програмування за допомогою Delphi. Основні види проекцій. Поняття контексту відображення та пристрою в бібліотеці OpenGL. Побудова сфери засобами OpenGL: лістинг програми. Алгоритм операції збільшення та зменшення зображення.
контрольная работа [268,6 K], добавлен 20.09.2009Модель в об’єктно-орієнтованих мовах програмування. Програмна модель створена на мові програмування С++, в середовищі програмування Borland С++ Builder 6.0. Вибір засобів реалізації програми. Види інструментів для об'єктно-орієнтованої розробки.
курсовая работа [116,9 K], добавлен 06.06.2010Розробка логічної гри "Тетріс" у складі набору об’єктно-орієнтованих моделей, програмного коду з використанням об’єктно-орієнтованної мови Java. Проектування архітектури гри, аналіз вимог до неї, опис реалізації, кодування та тестування програми.
курсовая работа [2,2 M], добавлен 24.10.2010Основні розрахунки резисторів мікросхеми. Розробка алгоритму рішення задачі методом блок-схем. Характеристика та розробка програми на мові С++ з використанням принципів модульного і структурного програмування. План тестування і налагоджування програми.
курсовая работа [2,9 M], добавлен 05.12.2012Концепції об'єктно-орієнтованого програмування. Конструктори та деструктори. Успадкування класів. Побудова об’єктної моделі. Визначення об'єктів та класів і зв’язків між ними. Реалізація програми в середовищі Visual Studio C++. Інтерфейс програми.
курсовая работа [743,7 K], добавлен 25.01.2016Теоретичні аспекти, організація та основні типи пам'яті з асоціативним доступом. Розробка програми "Віртуальна клавіатура" за допомогою мови програмування JavaScript. Основні способи запису інформації. Використання короткострокової пам’яті комп’ютера.
курсовая работа [1,2 M], добавлен 21.06.2015Програма на мові програмування С++. Аналіз стану технологій програмування та обґрунтування теми. Розробка програми виконання завдання, методу вирішення задачі. Робота з файлами, обробка числової інформації і робота з графікою. Розробка програми меню.
курсовая работа [41,0 K], добавлен 17.02.2009Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.
курсовая работа [991,4 K], добавлен 06.08.2013Аналіз розроблення та програмування обчислювального процесу лінійної структури, налагодження програм. Вивчення правил запису констант, числових і символьних змінних, типів даних. Побудова алгоритму розв’язування завдання та креслення його блок-схеми.
реферат [2,1 M], добавлен 22.04.2012