|
Lec 1-2 Ускоренники. Лекция 1 Основы систем программирования. Основы vba. Вопросы лекции Тема Основы алгоритмизации и программирования. Тема Классификация языков программирования
Системы программирования. Язык программирования - это система символов и правил их сочетания, предназначенные для взаимодействия человека со сложными машинами. Параметры классификации языков программирования. - Особенности лексики и грамматики, уровень абстракции и степень удобства для человека.
- Базовая концепция и методология составления алгоритмов.
- Способ представления данных.
- Организация процесса взаимодействия с машиной, механизм исполнения программ.
- Область жизни, в которой применяется язык.
- Историческая эпоха.
Степень удобства для человека - Машинный код. Тоже язык программирования, на котором можно писать инструкции компьютеру.
- Низкий уровень. Языки ассемблера используют нативные машинные команды, используя мнемокод.
- Средний уровень. Могут считаться и низко- и высокоуровневыми, в зависимости от конкретных представлений о степень абстракции. C.
- Высокий уровень. Позволяют создавать сложные алгоритмы, требуют дополнительной обработки перед выполнением. Сгенерированный код менее эффективен и выполняется медленнее.
- Сверхвысокий уровень. Характеризуется появлением сверхмощных команд и операторов.
Машинный язык Машинный язык — единственный язык, понятный ЭВМ. Он реализуется аппаратно: каждую команду выполняет электронное устройство. Программа представляет собой последовательность команд и данных, заданных в цифровом виде. Вводится непосредственно в оперативную память. Недостатки: - Процесс программирования очень трудоемкий.
- Эффективность использования ЭВМ низкая.
Есть синтаксис записи программ - цифровой код операции заменен мнемоническим кодом. Достоинства: - высокую скорость и компактность программ;
- прямое взаимодействие с аппаратными ресурсами;
- полный контроль над памятью
Основные недостатки: - своя система команд для каждого
типа ЭВМ; - сложность и низкая скорость
- высокая вероятность появления
ошибок, сложность их исправления; Принципиальные отличия языков высокого от низкого уровня - использование переменных;
- возможность записи сложных выражений;
- расширяемость типов данных за счет конструирования новых типов из базовых;
- расширяемость набора операций за счет подключения библиотек подпрограмм;
- слабая зависимость от типа ЭВМ.
Средний уровень Промежуточное место между машинно-независимыми (высокого уровня) и машинно-зависимыми (низкого уровня) - язык Си. Он создавался как попытка объединения достоинств языков обоих классов. Особенности: - максимально использует возможности конкретной вычислительной архитектуры; из-за этого программы на Си компактны и работают эффективно;
- позволяет наилучшим образом использовать огромные выразительные средства современных языков высокого уровня.
Обработка программы машиной Чтобы выполнить сложную инструкцию нужно понизить ее абстрактность и перевести на машинный язык. Модель исполнения – способ, которым это делается. Выделяют две основных модели и одну гибридную: - Компиляция - единовременный перевод всей программы в машинный код.
- Интерпретация - последовательное выполнение каждого выражения.
- Транскомпиляция - перевод на язык более низкого уровня, например C или ассемблер, и его последующая компиляция.
Для перевода необходима специальная программа-транслятор - компилятор или интерпретатор Интерпретация Пооператорная трансляция и последующее выполнение оттранслированного оператора исходной программы. Присутствие интерпретатора необходимо от начала и до самого конца работы программы Два основных недостатка метода интерпретации: - постоянное нахождение транслятора в памяти ЭВМ – занимает некоторый установленный объем памяти;
- повторная обработка повторяющихся команд – процесс трансляции одного и того же оператора повторяется столько, сколько исполняется эта команда в программе. Это приводит к резкому снижению производительности работы программы.
Трансляторы-интерпретаторы являются достаточно распространенными, так как они поддерживают диалоговый режим. |
|
|