- •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. Событийная модель взаимодействия и событийно-управляемое программирование. Обработчик событий.
Недостатки
для статического массива — отсутствие динамики, невозможность удаления или добавления элемента без сдвига других
для динамического и/или гетерогенного массива — более низкое (по сравнению с обычным статическим) быстродействие и дополнительные накладные расходы на поддержку динамических свойств и/или гетерогенности.
20. Строка как механизм структуризации данных.
В Borland Pascal существует специальный тип данных - строковый, который приспособлен для обработки символьной информации.
Строки представляются массивом символов.
В стандартном Паскале строка выглядит как массив из 256 байтов; первый байт хранит длину строки, в остальных хранится её тело. (255 символов – max, индексы от нуля).
Простейшие операции со строками:
получение символа по номеру позиции (индексу).
Обращение к символам строки выполняется как к элементам массива символов, т. е. с указанием имени строки и номера элемента, например st[l] или s[i].
конкатенация (соединение) строк. Операция конкатенации позволяет сцепить строки с другими строками или символами.
Присваивание строк. Можно присвоить строке значение строки и значение символа.
Отношения. Над строками допускается выполнять операции отношения: = , >, <, >=, <=. Сравнение строк при этом выполняется последовательно слева направо с учетом внутренней кодировки символов до первого несовпадающего символа.
21. Запись как механизм структуризации данных.
Запись - это структура данных, состоящая из фиксированного числа разнотипных компонент, называемых полями записи. Записи используются для представления разнородной, но логически связанной информации. Каждое поле записи имеет имя, которое дается ему при объявлении записи.
Над записями возможно выполнение следующих операций.
Доступ к полям записи.
Присваивание записей. Операция возможна при совпадении типов записей
22. Сравнительный анализ основных языковых механизмов структуризации данных.
23. Множество как механизм структуризации данных, объявления множеств и операции с множествами.
Множество – неупорядоченная совокупность неповторяющихся объектов. Прямой доступ.
Содержит признак того, что элемент там находится – отличие от массива.
Данные множественного типа в Pascal представляют собой совокупности однотипных элементов, каким-либо образом связанных друг с другом. Допускается объявлять только конечные множества (более 256 не может быть).
Порядок расположения элементов во множестве никак не фиксируется.
Объявление множественного типа: set of <базовый тип>
Конкретные значения переменных и констант множественного типа определяются с помощью конструктора множества, представляющего собой заключенный в квадратные скобки список элементов множества, перечисленных через запятую.
For ex.
[]- пустое
[228,1488]-множество, включающее несколько целых чисел
Для работы со значениями множественного типа предусмотрены специальные операции, в основном соответствующие операциям, определенным в теории множеств: объединение, пересечение и дополнение множеств.
A+B; A*B; A-B – множество, состоящие из тех элементов множества A, которые не принадлежат множеству B;
Операции отношения. Наряду с рассмотренными выше операциями над значениями множественного типа определены и операции отношения.
A=B; A<>B – множества не совпадают – True; A<=B - все элементы множества A принадлежат B; A>=B – все элементы множества B принадлежат A;
Операция проверки вхождения элемента во множество. Особое место занимает операция проверки вхождения элемента во множество, обозначаемая служебным словом in.
<Выражение> in <множество>.
