- •Лекция №1. Понятие информации.
- •Представление информации.
- •Передача информации.
- •Канал связи
- •Измерение информации.
- •Архитектура компьютера.
- •Процессор
- •В нутренняя структура процессора.
- •Счётчик команд регистр команд
- •Модели решения задач.
- •Виды моделей.
- •Лекция №4 Информационно-логические модели
- •Порядок выполнения алгоритма
- •Действие 1
- •Алгоритмы разветвлённой структуры
- •Лекция №5 Языки программирования высокого уровня
- •Способы перевода программ в машинные коды.
- •I. Интерпретация строк программ
- •II. Трансляция программы Интерпретаторы
- •Компилятор
- •Машино-ориентированные языки
- •Языки высокого уровня
- •Лекция №6 Базы данных
Лекция №5 Языки программирования высокого уровня
Языки программирования служат для того чтобы составить программу для работы на компьютере. Язык программирования позволяет перевести алгоритм для решения какой-либо задачи в машинный код. Язык предоставляет собой набор операторов, которые затем переводятся (интерпретируются или транслируются) в машинные коды, то есть язык программирования - это инструмент программиста для составления программы. Программу можно написать и на машинном языке, то есть в кодах, но это чрезвычайно сложно.
Способы перевода программ в машинные коды.
Созданную на некотором языке программу можно перевести в машинный код с помощью специальных программ двумя способами:
I. Интерпретация строк программ
II. Трансляция программы Интерпретаторы
Под интерпретаторами понимаются специальные программы, которые позволяют строку написанную на языке программирования вводить в компьютер и сразу же её исполнять. Вот эти действия ввод и исполнение называются интерпретацией.
Интерпретаторы позволяют программистам быстро получать результат, поскольку операторы программирования выполняются после построчного ввода. В качестве примера программы интерпретатора можно назвать интерпретатор языка Basic. К недостаткам интерпретатора следует отнести то что они работают довольно медленно и система должна и при работе компилятора необходима держать в памяти полную версию этого интерпретатора.
Компилятор
Компилятор – это транслятор текста программы в машинный язык, то есть в коды команд. Компилятор считывает программу написанную на языке программирования и в соответствии с синтаксическими правилами этого языка переводить программы этого языка в машинные коды. Здесь учитываются особенности компьютера и применённые в данном случае способы адресации.
К од оператора Адрес I АдресII
MOV R1 R5
Если мы напишем строку программы следующего вида:
MOV R1 R5
01 11 15
0 001 001 001 001 101
То транслятор увидит, что сочетанию символов MOV производится операция по пересылке данных от операнта и источника I в опреант приёмник II. При переводе такой команды в машинные коды транслятор найдёт в таблице код операции 01 это в восьмеричном виде и поставит его в команду. По форме записи R1, R5 транслятор узнаёт, что применяется регистровая адресация при которой оперант находится в указанном регистре. По таблице адресации будет найдено, что регистровая адресация кодируется цифрой 1 в восьмеричной и к этому коду адресации будет добавлен номер регистра источника и номер регистра приёмника. Регистр источника – это R1, а регистр приёмника – R5. Таким образом мы получили 6 разрядный восьмеричный код команды, который перенесёт данные из R1 в R5. Чтобы получить двоичный код команды необходимо перейти от восьмеричного изображения чисел в двоичную. Для предоставления каждой восьмеричной цифры необходимо использовать 3 двоичных разряда. В данном случае мы получили двоичный код команды.
Пусть содержимое регистров:
|
ДО ВЫПОЛНЕНИЯ |
ПОСЛЕ ВЫПОЛНЕНИЯ |
R0 |
000000 |
000000 |
R1 |
0 00001 |
000001 |
R2 |
000002 |
000002 |
R3 |
177777 |
177777 |
R4 |
166667 |
166667 |
R5 |
123456 |
000001 |
R6 |
013460 |
013460 |
Содержимое регистра источника R1 не меняется и данные содержащиеся в R1 будет перенесена в R5.