(курс 68 ч.) Понятие случайного числа | Дополнительный материал к главе II (§§ 8 - 21). Работа компилятора

Планирование уроков на учебный год


Уроки 52 - 54
Понятие случайного числа
Датчик случайных чисел в Паскале
Поиск чисел в массиве
(§ 19. Одна задача обработки массива)
Разработка программы поиска числа в случайно сформированном массиве



Содержание урока

Понятие случайного числа

Программа поиска числа в массиве

Дополнительный материал к главе II (§§ 8 - 21). Системы программирования

Дополнительный материал к главе II (§§ 8 - 21). Работа компилятора

Компьютерный практикум ЦОР. Одна задача обработки массива (Задание 1 - 6)

Компьютерный практикум ЦОР. Одна задача обработки массива (Задание 7 - 13)


Дополнительный материал к главе II (§§ 8 - 21)
Работа компилятора


При компиляции в память компьютера загружается програм- ма-компилятор. Она воспринимает текст программы на ЯПВУ как исходную информацию. Компилятор производит синтаксический контроль программы и при обнаружении ошибок выводит диагностические сообщения. Если ошибок нет, то результатом компиляции является программа на языке машинных команд.

Затем компилятор удаляется из оперативной памяти. В памяти остается только программа на ЯМК, которая выполняется для получения результатов.

На рисунке 2.19 схематически показан процесс выполнения программы на ЯПВУ с использованием компиляции. Прямоугольниками изображены программы в машинных кодах, овалами — обрабатываемая и конечная информация.

image

Конечно, компиляция с автокода (ассемблера) много проще, чем с языков высокого уровня. Для этой процедуры часто применяют специальный термин — ассемблирование. А под словом «ассемблер» понимается не только язык программирования, но и транслятор с него.

Работа интерпретатора


Интерпретатор в течение всего времени работы программы находится во внутренней памяти (иногда для этого используется ПЗУ). В ОЗУ помещается программа на ЯПВУ. Интерпретатор «читает» ее первый оператор, переводит его в машинные команды и тут же организует выполнение этих команд. Затем переходит к переводу и выполнению следующего оператора, и так до конца программы. При этом результаты предыдущих переводов в памяти не сохраняются. При повторном выполнении одного и того же оператора в цикле он снова будет транслироваться. Перед трансляцией каждого оператора происходит его синтаксический анализ.

На рисунке 2.20 схематически показан процесс выполнения программы на ЯПВУ с использованием интерпретатора.

image

Таким образом, при компиляции трансляция и исполнение программы идут последовательно друг за другом. При интерпретации — параллельно.

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

Из-за указанных причин использование компиляторов удобнее для больших программ, требующих быстрого счета и большого объема памяти. Программы на Паскале, Си, Фортране всегда компилируются. Язык Бейсик часто реализуется через интерпретатор.

Коротко о главном


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

Язык программирования, с которым позволяет работать данная СП, называется ее входным языком.

Язык процессора компьютера — это язык машинных команд — ЯМК.

Уровень языка программирования определяется степенью его удаленности от ЯМК (чем дальше, тем выше уровень).

Автокод (ассемблер) — это машинно-ориентированный язык символического программирования.

Наиболее удобным средством программирования являются языки высокого уровня (ЯПВУ). Сегодня с ними работает большинство программистов.

Трансляция — это процесс перевода текста программы на язык машинных команд. Программа-переводчик называется транслятором.

Существуют два способа трансляции: компиляция и интерпретация. При компиляции сначала весь текст программы переводится на ЯМК, затем производится ее исполнение. При интерпретации перевод и исполнение происходят параллельно.

Вопросы и задания


1. Что такое язык программирования?

2. Что обозначает понятие «уровень языка программирования»?

3. К какому уровню относятся языки типа автокод (ассемблер)?

4. Почему языки программирования высокого уровня называют машинно-независимыми языками?

5. Какие из языков программирования высокого уровня вы знаете?

6. Что такое трансляция? Что такое транслятор?

7. В чем различие между компиляцией и интерпретацией?




Следующая страница Компьютерный практикум ЦОР. Одна задача обработки массива (Задание 1 - 6)







Наверх