Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Краткая характеристика языков программирвоания




При классификации языков программирования выделяли ранее:

· машинные языки

· машинно-ориентированные (ассемблерные) языки

· алгоритмические языки

· процедурно- и проблемно-ориентированные языки

· интегрированные системы программирования

Самый нижний уровень - машинные языки.

Рассмотрим на примере проблему кодирования на машинном языке.

Машинный язык - это коды, которые пишутся под конкретный вычислитель, а не серию, класс компьютеров.

При составлении программы на машинном языке необходимо решить следующие вопросы:

· распределить память для данных, обрабатываемых программой, то есть сформировать так называемую таблицу символов - ТС; например, в начале памяти.

· необходимо распределить память для команд программы, например, начиная с адреса 01000, соответствующего вводу слова в ОЗУ с устройства ввода для символа с адресом 00000, то есть, символа А с кодом операции - КО - 07. Машинные команды можно также свести в таблицу для кодов операций.

· Составить программу, для чего записать коды машинных команд с указанием места их размещения в ОЗУ, то есть программу можно представить в виде таблицы.

При этом в ОЗУ между ячейками размещение данных и команд будут свободные так называемые пустые ячейки от 00002 до 00999, так как команды начинаются с адреса 01000. Для оптимального использования ОЗУ эти ячейки нужно заполнить.

При отладке программы, то есть корректировке, размеры памяти меняются, поэтому приведенные выше шаги с первого по третий необходимо повторять.

Недостатки программирования на машинных кодах:

· неэффективное использование памяти

· действие шагов первого и второго - формальные, не творческие; вызывают много ошибок при программировании; их целесообразно автоматизировать.

· реальные системы команд компьютера достаточно громоздкие; это сотни различных команд, которые трудно воспринимаются, запись кодов является трудоемким процессом.

Достоинства программирования в кодах:

· высокое быстродействие

· минимальные затраты памяти

Однако, при переходе от машинных даже к ассемблерным языкам эти недостатки устраняются; впрочем, в языках высокого уровня достаточно своих проблем.

Ассемблерные языки имеют следующие особенности:

· вместо 2-х, 8-х и 16-ричных кодов операций и адресов используется их наглядная символическая запись.

· перевод из символической записи в двоичные коды выполняется автоматически

· размещение в ОЗУ данных и команд выполняется автоматически программой-транслятором (компилятором); соответственно первый и второй шаги. Перевод выполняется без пустых ячеек, оптимально используется память.

· Сохраняется оптимальность по быстродействию и занятой памяти; при этом потери не превышают 5-10%.

Поэтому ассемблерные языки и им подобные, чуть более высокого уровня (Си) являются основными для системных программистов.

Перекодировка ассемблерной программы выполняется транслятором в следующей последовательности:

· первый проход: составляется таблица символов

· второй проход - с использованием таблицы символов и таблицы кодов операций выполняется перекодировка команд в двоичные коды

Макроассемблерные языки обладают мощным аппаратом макровызовов и макроопределений.

Поэтому макроассемблер также используется системными программистами как основной язык.

При этом потери по быстродействию и памяти порядка 10-15%

Алгоритмические языки - языки программирования высокого уровня, которые иногда называют процедурными.

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

Однако эффективность программ на языках высокого уровня снижается в два-четыре раза.

Для программ на языках Си и C++ снижение эффективности в полтора раза, так как этот язык включает многие средства ассемблерных языков.

3.1 Язык программирования C++

Язык Си разработан в 1972 году Ритчи в США в связи с созданием операционной системы Unix как универсальный язык системного программирования.

Эта ОС была в основном написана на этом языке, что обеспечивало ее легкую переносимость на различные ЭВМ.

Для каждой архитектуры компьютера писался транслятор с языка Си и с его помощью Unix переносилась на другой ПК соответствующей архитектуры.

Реализация языка Си основана на компромиссе между низким уровнем языка Ассемблера и языками высокого уровня Fortran, Pascal и т.д.

Значительная часть операций языка Си: ввода-вывода, манипулирования строками и др. - вынесены из языка и реализованы в виде подпрограмм, которые вызываются из основных Си-программ. Это обеспечивало высокую эффективность языка Си (высокое быстродействие) и малые затраты памяти.

Си - современный и актуальный язык, включающий конструкции, рекомендуемые теоретическим и практическим программированием: следования, ветвления, циклы, модули (функции), в частности на Си реализуется нисходящее проектирование, структурное программирование, пошаговая разработка модулей.

C++ является развитием языка Си и содержит средства объектно-ориентированного программирования.





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 321 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Наглость – это ругаться с преподавателем по поводу четверки, хотя перед экзаменом уверен, что не знаешь даже на два. © Неизвестно
==> читать все изречения...

4612 - | 4177 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.