- •1. Проблемы автоматизации программирования. Уровни автоматизации и их эффективность (общая характеристика).
- •2. Уровни автоматизации программирования (общая характеристика) и их использование при разработке программного обеспечения автоматизированных систем.
- •3. Автоматизация программирования. Машинный код.
- •4. Автоматизация программирования. Язык ассемблера.
- •5. Автоматизация программирования. Язык программирования.
- •6. Трансляция как способ реализация языка программирования. Виды трансляторов.
- •7. Интерпретация как способ реализации языка программирования. Типовой алгоритм работы интерпретатора.
- •8. Процессы трансляции и интерпретации. Сравнительная характеристика.
- •Основные различия
- •1. Транслятор
- •2. Интерпретатор
- •9. Процесс трансляции и его этапы. Типовая структура транслятора (общая характеристика).
- •10. Процесс трансляции. Лексический анализ исходной программы.
- •11. Процесс трансляции. Синтаксический анализ исходной программы.
- •12. Процесс трансляции. Семантический анализ исходной программы.
- •13. Процесс трансляции. Этап синтеза выполняемой программы.
- •14. Понятие уровня языка программирования. Способы реализации языков программирования (общая характеристика).
- •15. Объекты данных и их виды. Основные понятия. Время жизни и область видимости.
- •16. Атрибуты объектов данных. Понятие типа данных. Связывание объектов данных с атрибутами.
- •17. Понятие связывания. Время связывания и атрибуты объектов данных.
- •18. Структуры данных. Основные понятия и атрибуты.
- •19. Массив как механизм структуризации данных.
- •Недостатки
- •20. Строка как механизм структуризации данных.
- •21. Запись как механизм структуризации данных.
- •22. Сравнительный анализ основных языковых механизмов структуризации данных.
- •23. Множество как механизм структуризации данных, объявления множеств и операции с множествами.
- •24. Файловые структуры данных, особенности работы с файлами различного типа.
- •25. Модули как библиотеки ресурсов и особенности работы с ними.
- •26. Понятия вычислительной модели языка программирования. Императивная и объектно-ориентированная модели.
- •27. Базовые идеи структурного и объектно-ориентированного подхода к разработке программных продуктов.
- •28. Понятие визуального проектирования и визуальные компоненты системы программирования.
- •29. Особенности функционирования приложений в современных ос.
- •30. Событийная модель взаимодействия и событийно-управляемое программирование. Обработчик событий.
14. Понятие уровня языка программирования. Способы реализации языков программирования (общая характеристика).
Программирования как процесс представляет собой отображение в программах объектов, понятий, явлений предметной области рассматриваемых задач.
Чем ближе язык к жизненным задачам, тем выше его уровень. Т.е. чем более адекватно можно выполнить отображение предметной области при использовании ЯП, тем выше его уровень, т.к. выше уровень абстракции.
Обычно считается, что МЯ – язык низкого уровня. Действительно, на практике в качестве МЯ используют языки низшего уровня.
Причины:
Экономическая причина (процессор не разбирает сложные конструкции ЯВУ). Стоить компьютер будет дороже.
Работа будет выполняться медленнее, т.к. команды ЯВУ сложнее.
Компилятор ЯВУ менее гибкий, ориентируется под те задачи, на которые ориентирован ЯВУ.
Из одного языка сложно переориентироваться на другой (перекодировать из одного ЯВУ в другой сложнее).
2 способа реализации ЯП:
1) Трансляция.
2) Интерпретация (программная имитация).
Реализовать язык – это значит не только обеспечить совокупность технических средств, но и гарантировать корректность выполнения программы.
Трансляция – процесс работы специальной программы, выполняющей перевод с 1 языка (в т.ч. высокого уровня) на другой язык.
Транслятор – языковой процессор, воспринимающий программу на некотором языке в качестве входных данных и формирующий в результате работы функциональные эквивалентные программы на другом языке.
Интерпретация – процесс моделирование некоторой виртуальной ЭВМ.
Алгоритм интерпретация.
(начало) ---(A)->|выбор следующего по порядку оператора|-->|его расшифровка – определение операции и операнда|--> |выбор операндов|--> <остановить операцию?> -да->|остановка|-->(конец) -нет-> |выполнение операции|--> (A)
Простой интерпретатор, Интерпретатор компилирующего типа.
15. Объекты данных и их виды. Основные понятия. Время жизни и область видимости.
Объект данных - единичный элемент данных или несколько элементов, рассматриваемых при выполнении программы как единое целое.
Элемент данных – фрагмент формализованной информации.
Объект данных:
Статический (глоб. перем.) – существует с самого начала выполнения программы и до конца.
Динамический (лок. переменные): автоматический, явные динамические (создаются спец. языковыми средствами).
Переменная – объект данных, связывание которого с его значением может изменяться в течение времени жизни.
Константа – объект данных, связывание которого с его значение в течение его времени жизни неизменно.
У каждого объекта данных имеется определенное время жизни, в течение которого он мб использован для хранения значений данных.
Объект данных называется элементарным, если содержащееся в нем значение всегда фигурирует как единое целое.
Если объект представляет совокупность некоторых других объектов, то он называется структурой данных.
Объект данных представляет собой контейнер для хранения значений данных – те то место, где эти значения хранятся и откуда затем извлекаются.
Область видимости –область программного кода, где может использоваться объект данных:
Глобальная - самая внешняя часть области видимости, имя «видно во всей программе»
Локальная – это часть исходного текста программы, содержащаяся в определении функции (или в блоке); имя «видно» внутри данный структуры – подпрограммы, файла, оператора.
Область видимости пространства имен - часть исходного текста программы, созданного для группировки уникальных идентификаторов (имен). Один и тот же идентификатор может быть независимо определён в нескольких пространствах. Таким образом, значение, связанное с идентификатором, определённым в одном пространстве имён, может иметь (или не иметь) такое же значение, как и такой же идентификатор, определённый в другом пространстве. Изнутри видно все, что снаружи; снаружи не видно, что внутри.
