- •Методы программирования программа общего курса и описания лабораторных работ Учебное пособие
- •Введение
- •Программа общего курса "эвм и программирование"
- •1. Цели и задачи курса и его место в учебном процессе на факультете вмк
- •1.1. Цель преподавания курса
- •1.2. Задачи изучения курса
- •1.3. Дисциплины, освоение которых необходимо при изучении данного курса
- •Содержание курса
- •1. Структура действия и структуры данных.
- •1.1. Структуры данных.
- •1.2. Структуры хранения.
- •1.3. Динамические структуры.
- •1.4. Динамические структуры и структуры хранения.
- •1.5. Динамическое распределение памяти.
- •1.6. Распределение памяти для структур хранения, представляющих основные отношения с помощью адресных указателей.
- •2. Динамические структуры и конструирование математических моделей (алгебр: объекты и операции).
- •2.1. Пример 1: система для арифметических действий над полиномами.
- •2.2. Пример 2: система для арифметических действий над многочленами от нескольких переменных.
- •2.3. Пример 3: редактирование текстов.
- •2.4. Пример 4: структуры хранения геометрических объектов (случай плоского чертежа, содержащего точки и отрезки прямых линий).
- •3. Организация доступа по имени к структурам данных.
- •5.2. Введение многопрограммного режима в целях равномерной загрузки устройств эвм.
- •5.3. Математическая модель управления процессами и ресурсами в операционной системе.
- •Программа общего лабораторного практикума на эвм
- •3 Семестр Тема: Математические структуры и структуры хранения.
- •Лабораторная работа 1 Тема: Реализация динамической структуры стек с использованием вектора памяти. Использование стека при решении задач.
- •Лабораторная работа 2 Тема: Реализация динамической структуры очередь с использованием кольцевого буфера. Использование очереди при решении задач.
- •Лабораторная работа 2 Тема: Реализация динамической структуры очередь с использованием кольцевого буфера. Использование очереди при решении задач.
- •4 Семестр Тема: Методы представления и обработки сложных объектов на эвм
- •Лабораторная работа 7 Тема: Организация динамических таблиц с доступом по имени.
- •Методические указания к выполнению лабораторных работ
- •Методические указания к оформлению лабораторных работ
- •Вопросы для контроля по общему курсу "эвм и программирование"
- •Тема 1.Структуры действия и структуры данных.
- •Тема 2. Динамические структуры и конструирование математических моделей.
- •Тема 3. Организация доступа по имени.
- •Тема 4.Проблемное языковое обеспечение.
- •Учебно-методические цели работы
- •Лабораторная работа 2 Обслуживание процессором эвм очереди заданий (очередь) Постановка учебно-практической задачи
- •Учебно-методические цели работы
- •Лабораторная работа III Аналитические преобразования полиномов от нескольких переменных Постановка учебно-практической задачи
- •Учебно-методические цели работы
- •Лабораторная работа IV Организация доступа по имени Постановка учебно-практической задачи
- •Учебно-методические цели работы
- •Анализ способов организации таблиц.
- •1. Просматриваемые таблицы
- •2. Упорядоченные таблицы
- •3. Таблицы с вычисляемыми адресами
- •Анализ способов организации таблиц.
- •1. Просматриваемые таблицы
- •2. Упорядоченные таблицы
- •3. Таблицы с вычисляемыми адресами
- •Лабораторная работа VI Обработка геометрических объектов на эвм
- •1. Цели и задачи дисциплины
- •2. Требования к уровню освоения содержания дисциплины.
- •3. Объем дисциплины и виды учебной работы(часы):
- •4. Содержание дисциплины
- •6.2. Средства обеспечения освоения дисциплины
- •7. Материально-техническое обеспечение дисциплины
- •8. Методические рекомендации по организации изучения дисциплины
- •8.1. Рекомендуемый перечень тем практических занятий
- •8.2. Рекомендуемый перечень тем индивидуальных занятий
- •8.3. Рекомендуемый перечень тем домашних заданий
- •8.3. Рекомендуемый перечень тем контрольных работ
Учебно-методические цели работы
Таблицы являются одними из наиболее распространенных структур данных, используемых при создании системного и прикладного математического обеспечения. Таблицы широко применяются в трансляторах (таблицы идентификаторов) и операционных системах, могут рассматриваться как программная реализация схемы ассоциативной памяти и т.п. Выполнение работы ориентировано на достижение следующих учебно-методических целей:
знакомство с проблематикой и методами организации доступа по имени;
развитие практических навыков по созданию структур хранения для динамических структур данных (на примере таблиц);
изучение и практическое освоение методов поиска в таблицах с различными типами организации данных.
2. Рекомендации по выполнению работы 1.Понятие таблицы 2.Анализ способов организации таблииц.
Анализ способов организации таблиц.
Способ построения таблицы должен приводить к быстрому выполнению табличных операций. В зависимости от способов размещения записей в таблице возможно использование различных методов выполнения операций обработки таблиц. Эффективность применяемых способов организации может быть оценена, например, в количестве просматриваемых записей таблицы при выполнении операций поиска, вставки и удаления.
Далее в описании лабораторной работы следует характеристика основных способов построения таблиц. Рассматриваемые способы имеют разные показатели по эффективности; для всех перечисленных способов могут быть выделены области приложений, в которых рекомендуемые способы являются наиболее целесообразными.
1. Просматриваемые таблицы
Простейшим способом отыскания нужного элемента является метод полного просмотра (сканирования), когда искомый ключ сравнивается по очереди со всеми ключами таблицы, начиная с первого, вплоть до отыскания совпадающего элемента или до исчерпания записей. Если ключи в таблице расположены в произвольном порядке (неупорядоченная таблица), этот способ является единственно возможным.
Операция вставки в неупорядоченную таблицу может быть выполнена путем добавления новой записи в конец таблицы с корректировкой номера последней занятой строки. Операция удаления строки может быть реализована при помощи переписывания последней записи таблицы на место удаляемой и соответствующей корректировки номера последней строки.
Среднее количество просматриваемых записей таблицы при поиске записи по ключу при предположении равной вероятности использования ключей определяется следующим соотношением
k = pN/2 + (1-p)N, (1)
где
p- вероятность того, что искомая запись имеется в таблице;
N- количество записей в таблице.
2. Упорядоченные таблицы
При большом количестве записей в таблице (N>>1) затраты на выполнение полного просмотра становятся значительными. Эффективность процедуры поиска можно повысить при размещении записей в таблице в порядке возрастания (или убывания) ключей (упорядоченная, или сортированная таблица). Для поиска нужной записи в таких таблицах может быть использован быстрый метод бинарного (двоичного) поиска. Вместе с тем, в упорядоченных таблицах усложняется реализация операций вставки и удаления записей, при выполнении которых для сохранения упорядоченности становится необходимой перепаковка записей таблицы.
Среднее количество просматриваемых записей таблицы при использовании бинарного поиска определяется как
k = log2N. (2)