ВОПРОСЫ К ЭКЗАМЕНУ ПО ДИСЦИПЛИНЕ «Языки программирования и методы трансляций» для студентов направления «Прикладная математика и информатика» за 1 семестр 1 курса, 2012-2013 учебный год 1. Основные подходы программирования. Процедурный, структурный, объектноориентированный. Преимущества и недостатки каждого подхода. 2. Алфавит, синтаксис и семантика языка Turbo Pascal. 3. Структура программы на языке Turbo Pascal. Характеристика процедурных языков программирования. 4. Типы данных. Описание констант и переменных стандартных типов. Приведение типов. Локальные и глобальные переменные. 5. Типы данных. Структурированные типы. Множества. 6. Полная и неполная форма ветвления. Оператор безусловного перехода goto. 7. Структура множественного выбора Case. 8. Структуры повторения (цикл с предусловием, цикл с постусловием, структура повторения for). Операторы break и continue. 9. Подпрограммы. Описание процедур. Формальные и фактические параметры. Директива forward. 10. Подпрограммы. Описание функций. Формальные и фактические параметры. Директива forward. 11. Статические массивы в Turbo Pascal. Примеры работы с одномерными массивами. 12. Статические массивы в Turbo Pascal. Примеры работы с двумерными массивами. 13. Символьный тип в Turbo Pascal. Примеры использования функций Chr и Ord. 14. Строковый тип в Turbo Pascal. Процедуры и функции работы со строками. 15. Текстовый вывод на экран. Модуль CRT. 16. Рекурсивные подпрограммы. 17. Указатели. Ссылочные типы данных. Примеры работы. 18. Динамические массивы. Создание и уничтожение массива. 19. Динамические структуры. Списки. Стеки. Очереди. 20. Тип Record (запись) в Turbo Pascal. Описание полей и вариантная часть. 21. Файловый ввод-вывод в Turbo Pascal. Типизированные файлы. Назначение процедур Seek, Truncate, Filepos, FileSize. Примеры. 22. Файловый ввод-вывод в Turbo Pascal. Текстовые файлы. Специфика текстовых файлов. Назначение процедуры Append. Примеры. 23. Файловый ввод-вывод в Turbo Pascal. Нетипизированные файлы. Назначение процедур BlockRead, BlockWrite. Примеры. 24. Графика в Turbo Pascal. Инициализация графического режима. Основные процедуры графического режима. 25. Графика в Turbo Pascal. Инициализация графического режима. Основные функции графического режима. 26. Понятие объектно-ориентированного программирования. Определение объекта. Поля и методы. 27. Инкапсуляция в объектно-ориентированном программировании. Спецификаторы доступа public и private. 28. Инициализация объектов: конструкторы. Использование деструкторов. Составитель: Дмитриев В.Л. ЗАДАЧИ К ЭКЗАМЕНУ ПО ДИСЦИПЛИНЕ «Языки программирования и методы трансляций» для студентов направления «Прикладная математика и информатика» за 1 семестр 1 курса, 2012-2013 учебный год 1. В трехмерном пространстве заданы две точки своими координатами. Определить, во сколько раз расстояние между ними отличается от модуля суммы произведений их соответствующих координат. 2. Вычислить длины сторон треугольника по заданным координатам его вершин в трехмерном пространстве. 3. Для параллелограмма с заданными сторонами и острым углом между ними определить его площадь, высоты и длины диагоналей. 4. Проверить, есть ли среди введенных трех целых чисел одинаковые. 5. Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму. 6. Решить линейное уравнение Ax + B = 0, заданное своими коэффициентами A и B (коэффициент A не равен 0). 7. Заданы три целых положительных числа. Проверить, является ли третье из введенных чисел делителем какого-либо из первых двух. 8. Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + … + 1/N. 9. Найти значение факториала заданного числа N. 10. Найти все простые числа в диапазоне от a до b (вводятся с клавиатуры), или сообщить, что в указанном диапазоне таких чисел нет. 11. Число, сумма всех делителей которого (исключая его само) равна этому числу, называется совершенным. Например: 6=1+2+3, 28=1+2+4+7+14. Найти все совершенные числа в диапазоне от a до b (вводятся с клавиатуры). 12. Дано целое число N (> 0). Найти сумму 12 + 22 + 32 + … + N2. Чтобы избежать целочисленного переполнения, вычислять слагаемые этой суммы с помощью вещественной переменной и выводить результат как вещественное число. 13. Дано целое число N (> 0). Найти наименьшее целое положительное число K, квадрат которого превосходит N: K2 > N. Функцию извлечения квадратного корня не использовать. 14. Задана последовательность целых чисел. Сформировать на основе нее массив, содержащий номера отрицательных элементов последовательности. Если таких элементов нет, – вывести сообщение об этом. 15. Задана последовательность действительных чисел. Подсчитать количество чисел последовательности, расположенных на отрезке, концами которого являются два последних элемента массива. 16. Задан одномерный массив вещественных чисел. Найти в нем максимальный и минимальный элементы, и вывести их с указанием их индексов. 17. Задана последовательность, содержащая натуральные числа. Найти сумму максимального элемента (среди четных чисел) и минимального элемента (среди нечетных чисел) заданной последовательности. 18. В двумерном массиве найти позиции всех максимальных элементов, если таких элементов несколько. Если максимальный элемент только один, - вывести его значение. 19. Даны матрица A размером N х N и вектор B размером N. Записать на главную диагональ элементы вектора, а в вектор – элементы главной диагонали. 20. В трехмерном пространстве заданы координаты N точек. Составить программу, определяющую пару точек, расстояние между которыми максимально. 21. Задан массив символов. Вывести на печать те из них, которые являются цифрами. 22. Задана строка текста. Определить, сколько раз встречается в ней заданный символ. 23. Во введенной строке символов найти пары, состоящие из одинаковых символов и заменить второй из них цифрой «1». 24. Составить программу, которая из заданной строки символов выводит буквы по алфавиту. Например: строка – «программирование», результат – «аавгеииммноопррр». 25. Имеются данные о квартирах в новом строящемся доме: номер квартиры, этаж, общая площадь, количество комнат, стоимость квадратного метра жилья каждой из квартир. Составить программу, которая сортирует квартиры по возрастанию общей стоимости, а также позволяет по указанной сумме денег у покупателя вывести список квартир, которые он мог бы приобрести. 26. На складе медикаментов решили провести проверку лекарственных препаратов на истечение срока годности. Информация о препаратах заносится в запись, состоящую из следующих полей: название лекарства, производитель, дата выпуска, срок годности, стоимость. Организовать ввод сведений о лекарственных препаратах, а также сформировать список препаратов с истекающим сроком годности. Предусмотреть поиск по названию лекарственного препарата и по годам выпуска. 27. Задан текстовый файл, среди символов которого могут быть цифры. Подсчитать общую сумму всех цифр, содержащихся в файле. 28. Записать в типизированный файл массив целых чисел, после чего считать данные из файла и найти максимальный элемент. Составитель: Дмитриев В.Л.