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