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