В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев


Download 0.87 Mb.
bet4/40
Sana23.04.2023
Hajmi0.87 Mb.
#1387407
TuriКнига
1   2   3   4   5   6   7   8   9   ...   40
Bog'liq
Боши Лекция Парадигма и методы программирование

Сведения об авторах


• Сысоева Марина Вячеславовна — кандидат физико-математических наук, ассистент кафедры «Радиоэлектроника и телекоммуникации» Саратовского государственного технического университета имени Гагарина Ю.А. • Сысоев Илья Вячеславович — кандидат физико-математических наук, доцент кафедры динамического моделирования и биомедицинской инженерии Предисловие
Саратовского национального исследовательского государственного университета имени Н.Г. Чернышевского.

Сведения о рецензентах


  • ведущий научный сотрудник Саратовского филиала ИнститутаПономаренко Владимир Иванович — доктор физико-математических наук,радиотехники и электроники имени В.А. Котельникова РАН.

  • Огнева Марина Валентиновна — кандидат физико-математических наук,заведующая кафедрою информатики и программирования Саратовского национального исследовательского государственного университета имени Н. Г. Чернышевского.

  • Курячий Георгий Владимирович — преподаватель факультета ВМК Мос-ковского Государственного Университета им. М. В. Ломоносова, автор курсов по Python для ВУЗов и Вечерней математической Школы, разработчик компании «Базальт СПО».

Глава 1 Введение

1.1 Языки программирования


Первый проект вычислительной машины был разработан Чарльзом Бэббиджем в 1833 году в Великобритании. Описание проекта сделала Августа Ада Кинг (единственная дочь знаменитого поэта лорда Байрона), она же ввела такие фундаментальные понятия, как «цикл», «рабочая ячейка», и потому считается первым в мире программистом; язык программирования Ада назван в её честь.
Машина Бэббиджа никогда не была реализована полностью, хотя на её реализацию ушло 17 тысяч фунтов стерлингов и 9 лет времени. Основная проблема, с которою столкнулся Бэббидж, — низкий уровень элементной базы: промышленность того времени не была готова производить детали нужного качества и в требуемые сроки. Тем не менее, его последователь Георг Шутц в 1850-ых построил несколько работающих «разностных машин».
Первая реальная электрическая вычислительная машина была построена немецким инженером-исследователем К. Цузе в 1938 году, аналогичные работы велись независимо от него в США Д. Штибитцем и Г. Айкеном. Базовые принципы архитектуры современных ЭВМ были сформулированы Джоном фон Нейманом в 1946 году в США, а в 1948 году в Англии была построена первая ЭВМ, основанная на этих принципах.
В СССР первая машина БЭСМ была спроектирована в 1951 году и уже в следующем году началась её практическая эксплуатация. Элементная база для первых ЭВМ 40-50-ых годов представляла собою вакуумные лампы. Переход на полупроводниковую элементную базу в 1960-ых позволил существенно повысить быстродействие, уменьшить размер и энергопотребление ЭВМ. Следующим этапом стал переход от отдельных транзисторов к интегральным логическим схемам.
Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы. Одну из первых попыток со-
здать полноценный язык программирования предпринял немецкий учёный Конрад Цузе, который в период с 1943 по 1945 год разработал язык Plankalku¨l (Планкалкюль). В переводе на русский язык это название соответствует выражению «планирующее исчисление». Это был очень перспективный язык, фактически являвшийся языком высокого уровня, однако из-за военных действий он не был доведён до практической реализации.
Неизвестно, насколько бы ускорилось развитие программирования, если бы наработки Цузе стали доступны другим учёным в конце 40-х годов, но на практике с развитием компьютерной техники сначала получил распространение машинный язык. Запись программы на нём состояла из единиц и нулей. Машинный язык принято считать языком программирования первого поколения (при этом разные машины разных производителей использовали различные коды, что требовало переписывать программу при переходе на другую ЭВМ).
Программа «Hello, world!» для процессора архитектуры x86 (ОС MS DOS, вывод при помощи BIOS прерывания int10h) выглядит следующим образом (в шестнадцатеричном представлении):
BB 11 01 B9 0D 00 B4 0E 8A 07 43 CD 10 E2 F9
CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21
Вскоре на смену такому методу программирования пришло применение языков второго поколения, также ограниченных спецификациями конкретных машин, но более простых для использования человеком за счет использования мнемоник (символьных обозначений машинных команд) и возможности сопоставления имен адресам в машинной памяти. Они традиционно известны под наименованием языков ассемблера (транслируемые языки). Эти языки относятся к языкам низкого уровня, то есть близким к программированию непосредственно в машинных кодах.
Однако при использовании ассемблера становился необходимым процесс перевода программы на язык машинных двоичных кодов перед её выполнением, для чего были разработаны специальные программы, также получившие название ассемблеров (трансляторов). Сохранялись и проблемы с переносимостью программы с ЭВМ одной архитектуры на другую, и необходимость для программиста при решении задачи мыслить терминами «низкого уровня»: ячейка, адрес, команда.
Классическая программа на одном из диалектов Ассемблера:
.386 // тип процессора
.MODEL SMALL // модель памяти
.DATA // инициализированные данные:
msg DB ’Hello,ЂWorld’, 13, 10, ’$’ .CODE // исполняемый код:
START:
mov ax, @DATA // Загрузка адреса сегмента в регистр ds mov ds, ax

Download 0.87 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   40




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling