Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование4172 / Лекции / Лекция 25. Примеры решения экзаменационных задач..doc
Скачиваний:
48
Добавлен:
12.03.2015
Размер:
111.62 Кб
Скачать

Лекция 25. Примеры решения экзаменационных задач

После изучения методов программирования студенты должны знать способы эффективной pеализации абстpактных стpуктуp данных и комбинаторные алгоритмы, уметь описывать их на базовом языке.

Экзамен проводится в письменном виде "с открытой книгой" (т. е. разрешается пользоваться любой литературой). От студентов требуется знание основных разделов курса и, главное, умение понимать и разрабатывать небольшие программы, фрагменты программ и подпрограммы обработки числовой и символьной информации с использованием структурного программирования, типовых структур данных и комбинаторных алгоритмов.

В отличие от программы, подпрограмма и фрагмент программы не должны содержать ввод и вывод данных (если это явно не оговорено в задаче) .

В экзаменационных билетах не требуется пересказывать теоретический материал, все вопросы сформулированы в виде задач. Изучение предмета должно ориентироваться не на запоминание, а на понимание и умение использовать рассматриваемые методы.

Содержание лекционного курса полностью изложено в разработанных на кафедре АСОИУ пособиях [2, 8, 4, 5]. В пособиях [4, 8] рассматриваются многочисленные примеры решения типовых задач, приводятся образцы билетов с решением для зачета и экзамена, даются упражнения и задачи для самостоятельного решения. В пособиях [3, 7] даются подробные рекомендации по изучению программирования.

В экзаменационных билетах для студентов заочной и очно-заочной форм обучения по 3 вопроса. Далее приводятся примеры решения экзаменационных задач разных типов.

Примеры решения задач

Пример 1. Дан вектор, содержащий очередь и значения указателей начала очереди UN = 4 конца очереди UK =1.

индекс

0

1

2

3

4

5

6

7

значение

10

8

11

17

13

5

12

0

Перечислить значения элементов очереди в порядке их поступления. Как изменятся значения вектора и указателей после включения числа 25 в очередь?

Описать эту очередь на языке С.

Решение. Если UK показывает на первую свободную позицию за концом очереди, очередь содержит: 13, 5, 12, 0, 10, новое число 25 попадет во 2-ю позицию вектора.

Если UK - индекс конечного элемента (что менее удобно), очередь содержит: 13, 5, 12, 0, 10, 8. Число 15 попадет в 3-ю позицию.

В любом случае UK=2. Остальные значения вектора и UN не изменятся.

Описание на С:

int Och [8]; /* вектор, содержащий очередь */

int UN, UK; /* указатели начала и конца */

Пример 2. Дан список с указателем P, представленный ссылочными данными, и целочисленная переменная K. Элемент списка содержит пару вещественных значений. Составить подпрограмму, которая присваивает переменной X информацию K-го по порядку элемента списка (пару вещественных чисел).

Привести пример вызова подпрограммы.