Вы находитесь на странице: 1из 20

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ


КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ

«УТВЕРЖДАЮ»
Декан
факультета прикладной математики
и информатики

Лемешко Б. Ю.

«___ »______________2006 г .

РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ

«Практикум на ЭВМ»
часть 2. «Структуры данных и алгоритмы»
ООП:

010500 – Прикладная математика и информатика; квалификация – бакалавр

прикладной математики и информатики

Факультет прикладной математики и информатики

Курс 1 семестр 2

Лекции – 17 час

Лабораторные работы – 68 час

Курсовая работа – 2 семестр

Самостоятельная работа – 30 час

Зачет – 2 семестр

Всего – 115 час

Новосибирск

2006
Рабочая программа составлена на основании Государственного
образовательного стандарта высшего профессионального образования по
направлению 510200 – Прикладная математика и информатика

Регистрационный номер 200 ен/бак, дата утверждения 23.03.2000 г.

Шифр дисциплины в ГОС: ОПД.Ф. 07, федеральный компонент

Рабочая программа обсуждена на заседании кафедры прикладной математики

– протокол № 3 от 16 мая___________________ 2006 г.

Программу разработал:

старший преподаватель ______________ Хиценко В.П.

Заведующий кафедрой ПМт _________________ Соловейчик Ю.Г.

Ответственный за основную
образовательную программу:

заведующий кафедрой “Прикладная математика”_________ Соловейчик Ю.Г.

Дополнения и изменения к рабочей программе на 2010 /20 учебный год

В рабочую программу внесены следующие изменения:


2
1. Изменения в правила аттестации студентов (п.6)

с учетом бально-рейтинговой системы

Рабочая программа пересмотрена и одобрена на заседании кафедры «25»


декабря 2009 г. , протокол №8

Заведующий кафедрой Соловейчик Ю.Г., д.т.н., проф.

«___» ______2010 г.

1. Внешние требования

Таблица 1

3
Требования ГОС к обязательному минимуму содержания учебной дисциплины
Шифр Содержание учебной дисциплины Часы
дисциплин
ы
ОПД.Ф.07 Практикум на ЭВМ 115
практикум по программированию; практикум по решению
прикладных задач (практическое освоение работы на ЭВМ,
умение применять стандартные математические методы и
математическое обеспечение ЭВМ для решения различных
задач).

В данной учебной дисциплине студент продолжает осваивать дидактические


единицы: практикум по программированию, практикум по решению прикладных
задач (практическое освоение работы на ЭВМ), остальные части содержания
учебной дисциплины осваиваются в следующих дисциплинах: Практикум на
ЭВМ:Объектно-ориентированное программирование, Практикум на
ЭВМ:Программирование вычислений, Практикум на ЭВМ:Компьютерная графика.

1.3.Квалификационные требования

Бакалавр прикладной математики и информатики подготовлен


преимущественно:
 к выполнению исследовательской деятельности в областях, использующих
методы прикладной математики и компьютерные технологии;
 к разработке и применению современных математических методов и
программного обеспечения для решения задач науки, техники, экономики и
управления;
 к использованию информационных технологий в проектно-конструкторской,
управленческой и финансовой деятельности.

7. 1.Требования к профессиональной подготовленности выпускника

Бакалавр должен знать и уметь использовать:

 основы теории алгоритмов и ее применения, основные структуры данных;


 синтаксис, семантику и формальные способы описания языков программирования.

Бакалавр должен иметь опыт:

 работы на различных типах ЭВМ;


 применения стандартных алгоритмических языков;
 использования приближенных методов и стандартного программного
обеспечения для решения прикладных задач.

Бакалавр должен обладать:

 знаниями и умениями позволяющими применять современные


математические методы и программное обеспечение для решения задач.

4
Бакалавр должен быть способен:

 к совершенствованию своей профессиональной деятельности в области


прикладной математики и информатики.

2. Особенности (принципы) построения дисциплины


Таблица 2
Особенности (принципы) построения дисциплины
Особенность (принцип) Содержание
Основание для введения Стандарт направления, дисциплина федерального
дисциплины в учебный компонента, решение ученого совета ФПМИ от
план направления 24.06.2003, протокол № 6
Адресат дисциплины Студенты направления:
010500 – прикладная математика и информатика
Главная цель дисциплины Обеспечение базы подготовки бакалавра,
теоретическая и практическая подготовка в области
программирования, развитие логического мышления,
получение навыков решения задач с использованием
ЭВМ, получение навыков работы на ЭВМ,
приобретение знаний, необходимых для изучения
последующих дисциплин
Ядро дисциплины Изучение наиболее распространенных абстрактных
структур данных и операций над ними, изучение
наиболее распространенных алгоритмов: поиска,
сортировки, алгоритмы на графах, оценка сложности
алгоритма.
Требования к начальной Для успешного изучения курса студенту необходимо
подготовке, необходимые знать школьный курс математики и информатики,
для успешного освоения Практикум на ЭВМ: Методы программирования
дисциплины
Уровень требований по Соответствует требованиям стандарта
сравнению со Стандартом
Объем дисциплины в часах 17 часов лекций, 68 часа лабораторных работ
Основные понятия Абстрактный тип данных, динамическая память,
дисциплины список как абстрактная структура данных,
разновидности списка: линейный список, стек, очередь,
дерево, граф, таблица; линейный поиск, бинарный
поиск, сортировка, исчерпывающий поиск, алгоритмы
на графах.

Описание основных точек Промежуточный контроль – защита лабораторных


контроля работ, защита КР. Итоговый контроль –зачет
Обеспечение последующих Практикум на ЭВМ: Объектно-ориентированное
дисциплин образовательной программирование. Практикум на ЭВМ:
программы Программирование вычислений. Информатика.
Численные методы. Языки программирования и
методы трансляции. Методы оптимизации.
Практическая часть Практическая часть дисциплины содержит

5
дисциплины лабораторные работы, курсовую работу (КР).
Студенты применяют теоретические положения для
решения, как простых задач по отдельным темам, так
и комплексной задачи при выполнении КР. Для
проведения лабораторных работ используются
методические указания, для выполнения КР имеется
учебное пособие и в формате WORD электронная
версия методических указаний.
Направленность Анализ, обобщение, синтез, классификация,
дисциплины на развитие абстрагирование, выделение главного,
общепредметных, формулирование проблем, формальная постановка
общеинтеллектуальных задачи.
умений, обладающих
свойством переноса,
направленность на
саморазвитие
Дисциплина и современные Представление современных информационных
информационные технологий как инструмента для решения задач
технологии (интегрированная среда программирования Borland
C, как средство общения с ЭВМ, средство решения
задач, инструмент, которым необходимо владеть)

3. Цели учебной дисциплины

Таблица 3
Цели учебной дисциплины

После изучения дисциплины студент будет


иметь представление:
1 о статических и динамических данных
2 о сложности алгоритма и ее оценке
3 о методе ветвей и границ
4 о динамическом программировании
5 о В-деревьях
6 об алгоритмах на графах
знать:
7 способы организации абстрактных структур данных: линейные списки,
стеки, очереди, деревья, графы, таблицы и операции над ними
8 средства определения абстрактных структур на языке программирования
Си
9 алгоритмы поиска
10 алгоритмы сортировки
11 алгоритмы с возвратом
уметь:
12 Конструировать сложные структуры данных
13 Использовать абстрактные структуры данных для решения задач
14 Использовать алгоритмы поиска, сортировки, возвратные алгоритмы для

6
решения задач
15 Разрабатывать и описывать алгоритмы и программы решения простых
задач
16 Использовать инструментальные средства редактирования, трансляции и
отладки программ на языке Си
иметь опыт:
17 Программирования на языке Си
18 Работы в интегрированной среде

4. Содержание и структура учебной дисциплины

Таблица 4
Лекционные занятия (17час)
Блок, модуль, раздел, тема Часы Ссылки
на цели
Понятие динамических структур данных 5 1,5,6,7,8,
Понятие абстрактных данных. Понятие статических и 9,12
динамических данных. Понятие динамической памяти. Список
как абстрактная структура. Линейный список. Стек. Очередь.
Представление статического и динамического списков.
Операции над списками: включение в список, исключение из
списка, поиск в списке. Понятие иерархического списка.
Деревья – основные понятия и определения. Двоичные деревья.
Представление двоичного дерева. Способы обхода двоичного
дерева. Операции с двоичными деревьями: включение и
исключение элемента, поиск элемента в двоичном дереве поиска.
Графы и их представление в компьютере. Обход графа в
ширину, в глубину. Таблица. Представление статической и
динамической таблицы. Упорядоченная таблица. Таблицы с
ассоциативной адресацией (хеш-таблицы). Функции
расстановки. Способы разрешения конфликтов. Операции с
таблицами: включение/исключение элемента, поиск в таблице.
Алгоритмы поиска 4 2, 5, 9, 14
Последовательный поиск. Двоичный поиск (поиск делением
пополам). Использование деревьев в задачах поиска. Понятие
временной и емкостной сложности алгоритмов. Практическая
оценка временной сложности. Оценка сложности алгоритмов
поиска.
Алгоритмы сортировки 5 2,10, 14
Понятие операции упорядочения. Прямые (простые) методы
упорядочения: сортировка с помощью прямого включения,
прямого выбора, прямого обмена. Улучшенные методы
сортировки: алгоритм Шелла, сортировка с помощью дерева,
сортировка с помощью разделения (быстрая сортировка).
Сравнительная оценка сложности алгоритмов упорядочения.
Алгоритмы исчерпывающего поиска 3 2,3, 4 ,9
Понятие поиска с возвратом. Алгоритм поиска с возвратом.
Метод ветвей и границ. Динамическое программирование.
7
Понятие сложности поиска с возвратом.

Таблица 5

Лабораторные работы (68 час)


Название Учебная деятельность Часы Ссылки Оборудование
лабораторной на цели
работы
Линейные  изучает правила 10 7, 8, 12,
односвязные конструирования 13, 15,
списки односвязных списков, 16, 17,
операции над списками: 18
поиск, включение, удаление
элемента списка
 учится использовать средства
языка Си: неоднородные
типы данных и тип указатель
для создания односвязного
списка
 выполняет анализ
поставленной задачи,
разрабатывает и описывает
алгоритм и программу
решения задачи, применяя
список для хранения данных,
а также принципы
структурного и модульного
программирования
 создает набор тестов и
отлаживает программу
решения задачи
Линейные  изучает правила 8 7, 8, 12,
двусвязные списки конструирования двусвязных 13, 15,
списков, особенности 16, 17,
выполнения основных 18
операций
 учится использовать средства
языка Си: неоднородные
типы данных и тип указатель
для создания двусвязного
списка
 разрабатывает списковую
структуру для хранения
данных поставленной задачи
 выполняет анализ
поставленной задачи,
разрабатывает алгоритм и
программу решения задачи, а
также принципы
структурного и модульного
программирования
8
 создает набор тестов и
отлаживает программу
Стеки. Очереди  изучает правила 12 7, 8, 12,
конструирования статических 13, 15,
и динамических типов – стек, 16, 17,
очередь и дек, операции 18
работы со стеком, очередью и
деком
 учится использовать
средства языка Си – тип
массив, тип структура, тип
указатель для создания
статических и динамических
структур данных стек,
очередь, дек
 разрабатывает программный
модуль с операциями над
одной из структур
 разрабатывает программу,
демонстрирующую
выполнение операций с
одной из структур,
состоящую из двух модулей
 отлаживает программу
Деревья  изучает правила 12 7, 8, 12,
конструирования 13, 14,
динамического типа – 15, 16,
двоичное дерево, операции 17, 18
работы с деревьями, способы
обхода дерева
 учится использовать средства
языка Си – тип структура,
тип указатель для создания
динамических двоичных
деревьев
 выполняет анализ
поставленной задачи,
разрабатывает и описывает
алгоритм и программу
решения задачи, применяя
структуру дерево для
хранения данных, а также
принципы структурного и
модульного
программирования
 создает набор тестов и
отлаживает программу
Таблицы  изучает правила 12 7, 8, 9,
конструирования статических 12, 13,
и динамических типов – 14, 15,
16, 17,
9
таблица, виды таблиц: 18
неупорядоченная и
упорядоченная по ключу,
хеш-таблица, операции
работы с таблицами
 выполняет анализ
поставленной задачи,
разрабатывает и описывает
алгоритм и программу
решения задачи, используя
для хранения данных
таблицы, а также принципы
структурного и модульного
программирования
 создает набор тестов и
отлаживает программу
Алгоритмы  изучает прямые и 14 2, 7, 8,
упорядочения улучшенные алгоритмы 10, 12,
сортировки данных: 13, 14,
сортировка прямым 15, 16,
включением, прямым 17, 18
выбором и прямым обменом,
сортировка Шелла,
сортировка с использованием
структуры дерево, быстрая
сортировка
 используя тип таблица для
хранения данных и выполняя
анализ поставленной задачи,
разрабатывает алгоритм и
программу решения задачи, в
которой необходимо
упорядочить данные по
ключу одним из способов
 изучает оценки сложности
алгоритмов сортировки
 создает набор тестов и отла -
живает программу
Статические и
Структура учебной дисциплины
динамические
структуры данных

Линейные Иерархические Таблицы


списки -
списки деревья

Алгоритмы

10
Алгоритмы Алгоритмы Исчерпыва
поиска сортировки ющий поиск
5. Учебная деятельность

В течение второго семестра студенты выполняют курсовую работу (КР).


Тематика курсовой работы связана с решением задач на дискретных конечных
математических структурах. Задания предполагают использование
- абстрактных структур данных (списки, стеки, очереди, деревья, графы,
таблицы),
- алгоритмов поиска (линейный поиск, бинарный поиск, исчерпывающий
поиск),
- алгоритмов обхода иерархических структур в ширину, в глубину,
- алгоритмов, оперирующих со структурами типа граф,
- алгоритмов порождения элементов конечного (как правило, чрезвычайно
большого) множества, которые удовлетворяют определенным ограничениям.
Задания на курсовую работу разбиты по темам: графы, системы дорог, деревья,
языки, грамматики, логические формулы, выражения, игры.

Цель. При выполнении КР студент приобретает навыки самостоятельного


решения задачи и использования фундаментальных алгоритмов.

Требования к выполнению КР и оформлению пояснительной записки


1. Решая задачу необходимо:
- выполнить анализ задачи и сделать ее формальную постановку продумать и
обосновать метод решения задачи;
- продумать и обосновать формы представления (внешнего и внутреннего)
исходных данных и результатов задачи, т.е. спецификации данных;
- реализуя решение, использовать принципы структурного и модульного
программирования.
2.Отчет по КР включает следующие разделы:
– Условие задачи
– Анализ задачи
– Структуры данных, используемые для представления исходных данных и
результатов задачи
– Укрупненный алгоритм решения задачи
– Структура программы
– Текст программы
– Набор тестов
– Результаты работы программы

11
Анализ задачи. Данный пункт включает:

– определение исходных данных и результатов решения задачи;


– установление основных отношений между входными и выходными данными задачи;
– выделение основных подзадач, которые надо решить, чтобы достичь результата;
– выбор и описание метода ее решения. Метод решения должен быть описан
формально (на языке математики).

Структуры данных. В данном пункте определяются и описываются формы


представления основных данных задачи.

Алгоритм решения задачи. Степень детализации при описании алгоритма


определяется так, чтобы было ясно какие действия надо выполнять, реализуя
выбранный метод решения, и в чем заключаются основные проблемы данной задачи.
Алгоритм может быть описан на языке блок-схем или псевдоязыке (псевдоСи).

Структура программы. В данном пункте описываются составные части


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

Набор тестов. Набор тестов должен быть необходимым и достаточным,


включающим частные и особые случаи решения. Необходимо наглядное
представление теста (например, графическое).

2. Отчет оформляется на стандартных листах бумаги формата А4 (297210 мм)


или листах школьной тетради, желательно в напечатанном виде. Записи ведутся
только на одной стороне листа.
3. Титульный лист оформляется по образцу, приведенному на рис.1.

Министерство образования и науки Российской Федерации


НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ

Курсовая работа
по практикуму на ЭВМ: структуры данных и алгоритмы

Факультет прикладной математики и информатики


Группа ПМ-51
Студент Иванов А.А.
Преподаватель Петров В.В.

12
Новосибирск 2006

Рис.1. Образец титульного листа

Образец задания
Источником орграфа назовем вершину, от которой достижимы все другие
вершины; стоком – вершину, достижимую от всех других вершин. Найти все
источники и стоки данного орграфа.

6. Правила аттестации студентов по учебной дисциплине

В соответствии с планом ООП проводится итоговый зачет (2 семестр). К зачету


допускаются студенты, выполнившие все лабораторные работы и курсовую работу.
Зачет включает ответы на вопросы и решение задачи.
Рейтинг студента по дисциплине определяется как сумма баллов за работу в
семестре (текущий рейтинг), баллов за курсовую работу и баллов, полученных в
результате итоговой аттестации. В соответствии с планом ООП текущая аттестация
проводится по результатам выполнения лабораторных работ, аттестация по курсовой
работе (КР) проводится с учетом решения задачи, написания отчета и защиты КР,
итоговая аттестация проводится в форме зачета на 17-й неделе 2 семестра.
Правила текущей аттестации:
1. В течение семестра необходимо выполнить и защитить 5 лабораторных работ,
и курсовую работу в сроки установленные графиком (см. таблицу 6). К очередной
лабораторной работе студент допускается, если выполнил предыдущую работу.
2. Максимальное количество баллов за лабораторную работу выставляется, если
студент выполнил лабораторную работу без серьезных замечаний и недочетов и
полностью выполнил задание на защиту.
3. Среднее количество баллов за лабораторную работу выставляется, если
студент выполнил лабораторную работу без серьезных замечаний и недочетов и
выполнил только одно задание на защиту.
4. Минимальное количество баллов за лабораторную работу выставляется, если
студент выполнил лабораторную работу без серьезных замечаний и недочетов и либо
не выполнил задания на защиту, либо представил отчет по работе позже срока
установленного графиком.
5. К защите допускаются студенты, выполнившие лабораторную работу в срок
установленный графиком и оформившие отчет по работе в соответствии с
требованиями (см. Структуры данных и алгоритмы. Методические указания к
лабораторным работам для студентов 1 курса ФПМИ дневного отделения.
Новосибирск, НГТУ, 2003 г.)
6. На защите лабораторной работы предлагается один теоретический вопрос и
одна задача.
7. К зачету допускаются студенты, выполнившие все лабораторные работы и
набравшие не менее 40 баллов по текущему рейтингу.
Студент, не выполнивший все работы, предусмотренные в семестре, но
набравший не менее 40 баллов допускается к зачету при условии выполнения не
менее 80% объема работ в семестре.
13
8. За участие в олимпиаде по программированию (в течение 2-го семестра) при
получении призового места студент может получить дополнительно от 10 до 20
баллов в зависимости от уровня олимпиады и призового места. Если с учетом
дополнительных баллов студент набрал 80 баллов и выше, то итоговая оценка может
быть выставлена без проведения итоговой аттестации.

Таблица 6
№п/п Вид учебной Максимальное Минимальное Срок
деятельности количество количество представлени
баллов баллов я и защиты
(неделя)
1 Лабораторная работа № 1 16 8 4
Лабораторная работа № 2 16 8 7
Лабораторная работа № 3 16 8 10
Лабораторная работа № 4 16 8 13
Лабораторная работа № 5 16 8 17
Итого по текущему 80 40
рейтингу
2 Зачет 20 10
3 Итого за семестр 100 50
4 Курсовая Работа 100 50 15
Итого за семестр 100 50

Правила аттестации КР:


1. Защита КР состоит в ответе на вопросы по каждому пункту отчета. К защите
допускаются студенты, выполнившие курсовую работу в срок установленный
графиком и оформившие отчет по работе в соответствии с требованиями (см.
Структуры данных и алгоритмы. Методические указания к курсовой работе для
студентов 1 курса ФПМИ, НГТУ 2008 г.).
2. Максимальное количество баллов за КР выставляется, если студент выполнил
КР без серьезных замечаний и недочетов и грамотно ответил на все вопросы на
защите.
3. Среднее количество баллов за КР выставляется, если студент выполнил КР
без серьезных замечаний и недочетов и грамотно ответил на 50% вопросов на
защите.
4. Минимальное количество баллов за КР выставляется, если студент выполнил
КР без серьезных замечаний и недочетов и грамотно ответил менее чем на 50%
вопросов на защите.

Правила итоговой аттестации:


1. Зачет включает ответы на вопросы и решение задачи. Зачет проводится в
письменной форме. Решение задачи оформляется в виде подпрограммы.
2. Максимальное количество баллов за зачет выставляется, если студент
выполнил оба задания правильно и полностью. При этом при решении практической
задачи применил принципы структурного, модульного программирования.
3. Среднее количество баллов за зачет выставляется, если студент выполнил
одно из заданий не в полном объеме, но допустил не принципиальные ошибки,
которые показывают, что изучаемые структуры данных и алгоритмы студентом
усвоены на уровне “знать”.

14
4. Минимальное количество баллов за зачет выставляется, если студент
выполнил оба задания не в полном объеме, но в каждом задании допустил не
принципиальные ошибки, которые показывают, что изучаемые структуры данных и
алгоритмы студентом усвоены на уровне “знать”.

Рейтинг по дисциплине определяется как:


0.6*(текущий рейтинг + итоговая аттестация) + (рейтинг по КР)*0.4

Рейтинговые баллы и оценки ECTS


Таблица 7
Традицион
Диапазон ная (4-
Оценка
Характеристика работы студента баллов уровневая)
ECTS
рейтинга шкала
оценки
«Отлично» – работы высокого качества, уровень
выполнения отвечает всем требованиям, 98-100 A+
теоретическое содержание курса освоено
полностью, без пробелов, необходимые
практические навыки работы с освоенным 94-97 A
материалом сформированы, все
предусмотренные программой обучения задания
выполнены, качество их выполнения оценено 90-93 A-
числом баллов, близким к максимальному
«Очень хорошо» – работа хорошая, уровень
выполнения отвечает большинству требований, 87-89 B+ З
теоретическое содержание курса освоено
полностью, без пробелов, необходимые
практические навыки работы с освоенным 83-86 B
материалом в основном сформированы, все
предусмотренные программой обучения учебные А
задания выполнены, качество выполнения 80-82 B-
большинства из них оценено числом баллов,
близким к максимальному
«Хорошо» – уровень выполнения работы
отвечает всем основным требованиям, 77-79 C+
теоретическое содержание курса освоено Ч
полностью, без пробелов, некоторые
практические навыки работы с освоенным 73-76 C
материалом сформированы недостаточно, все
предусмотренные программой обучения учебные
задания выполнены, качество выполнения ни
одного из них не оценено минимальным числом 70-72 C-
баллов, некоторые из выполненных заданий,
возможно, содержат ошибки

15
«Удовлетворительно» – уровень выполнения
работы отвечает большинству основным 67-69 D+
требованиям, теоретическое содержание курса
освоено частично, но пробелы не носят
существенного характера, необходимые
63-66 D Т
практические навыки работы с освоенным
материалом в основном сформированы,
большинство предусмотренных программой
Е
обучения учебных заданий выполнены, 60-62 D-
некоторые виды заданий выполнены с ошибками
«Посредственно» – работа слабая, уровень
Н
выполнения не отвечает большинству
требований, теоретическое содержание курса
освоено частично, некоторые практические
О
навыки работы не сформированы, многие 50-59 E
предусмотренные программой обучения учебные
задания не выполнены, либо качество
выполнения некоторых из них оценено числом
баллов, близким к минимальному
«Неудовлетворительно» (с возможностью
пересдачи) –теоретическое содержание курса
освоено частично, необходимые практические
навыки работы не сформированы, большинство
предусмотренных программой обучения учебных
заданий не выполнено, либо качество их 25-49 FX
выполнения оценено числом баллов, близким к
минимальному; при дополнительной
самостоятельной работе над материалом курса
возможно повышение качества выполнения
учебных заданий
незачтено
«Неудовлетворительно» (без возможности
пересдачи) –теоретическое содержание курса не
освоено, необходимые практические навыки
работы не сформированы, все выполненные
учебные задания содержат грубые ошибки; 0-24 F
дополнительная самостоятельная работа над
материалом курса не приведет к какому-либо
значительному повышению качества выполнения
учебных заданий

Оценка за контрольные недели выставляется в соответствии с таблицей 8.

16
. Соответствие оценки за контрольную неделю текущему рейтингу студента
Таблица 8
Номер недели 7 контрольная неделя 13 контрольная неделя
Оценка за 0 1 2 0 1 2
контрольную
неделю
Текущий Менее О 12 Менее От 20
рейтинг студента 8 т 8 до и более 16 16 до 20 и более
10
Количество 1 2 2 Менее 3и 4
зачтенных 3 более
лабораторных
заданий

7. Список литературы
7.1. Основная литература

1.Павловская Т.А. С/С++. Программирование на языке высокого уровня:


Учебник для вузов. СПб:Питер, 2006 г. и более ранние издания
2.Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке
Си: учебное пособие. М.: Финансы и статистика, 2004 г.
3. Хиценко В.П., Шапошникова Т.А. Практикум на ЭВМ. Алгоритмы. Учебное
пособие. Новосибирск: Изд-во НГТУ, 2004 г.

7.2. Дополнительная литература

4.Подбельский В.В., Фомин С.С. Программирование на языке Си. М.: Финансы


и статистика, 2005 г. и более ранние издания
5. Подбельский В.В. Практикум по программированию на языке Си: учебное
пособие для вузов. М.: Финансы и статистика, 2004 г.
6. Вирт Н. Алгоритмы и структуры данных. – М., “Мир”, 1989.
7. Структуры данных и алгоритмы. Методические указания к лабораторным
работам для студентов 1 курса ФПМИ (направление 510200 – Прикладная математика
и информатика) дневного отделения. Новосибирск, НГТУ, 2003 г.
8. Новиков Ф.А. Дискретная математика для программистов. - Санк-Петербург,
“ПИТЕР”, 2000 г.
9. Бежанова М.М., Поттосин И.В. Современные понятия и методы
программирования. М.: Научный мир, 2000 г.
10. Гудман С., Хидетниеми С. Введение в анализ и разработку алгоритмов. М.:
Мир, 1981
11. Кнут Д. Искусство программирования для ЭВМ. Т.1. Основные алгоритмы -
М.: Мир,1985, 2000 г.
12. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ.-
М.: Наука, 1985.
17
8. Контролирующие материалы для аттестации студентов по дисциплине

Вопросы к зачету
1. Понятие структуры данных.
2. Понятие абстрактных структур данных.
3. Понятие списка.
4. Представление списка в памяти ЭВМ (статической, динамической).
5. Виды линейных связанных списков, способы их представления в памяти.
6. Операции с линейным списком: поиск элемента, включение элемента в список
(в начало списка, в конец списка, в середину списка), удаление элемента из
списка.
7. Списки с определенным правилом работы: стек, очередь, дек
– способы их представления в статической и динамической памяти,
–операции над этими структурами: создание структуры, включение
элемента, взятие элемента, проверка состояния структуры (пуста, полна),
–применение стека/очереди/дека к решению задач.
8. Иерархические структуры данных – дерево
–виды деревьев и их основные характеристики,
–способы представления деревьев в статической и динамической памяти,
–бинарные деревья: виды, способы представления в памяти, способы
прохождения деревьев, операции над деревьями: включение элемента в дерево,
удаление элемента из дерева, поиск элемента в дереве.
9. Структура данных – таблица
–понятие структуры данных – таблица,
–способы представления таблицы в статической и динамической памяти,
–способы организации статических таблиц: неупорядоченная,
упорядоченная, хеш-таблица (прямая адресация, открытая адресация, таблица с
цепочками),
–хеш-функция, способы построения хеш-функций (метод деления, метод
умножения), рехеширование (линейное, квадратичное),
–операции над статическими таблицами: поиск элемента по ключу
(линейный, бинарный), включение элемента в таблицу, удаление элемента из
таблицы.
10. Алгоритмы упорядочения: метод включения (прямой, улучшенный – метод
Шелла), метод выбора (прямой, улучшенный – сортировка с помощью дерева),
метод обмена (прямой, улучшенный – быстрая сортировка).
11. Алгоритм поиска с возвратом.
12. Алгоритмы поиска на графах: поиск в глубину, поиск в ширину.
13. Оценка сложности алгоритмов (понятие, оценка сложности алгоритмов
упорядочения).

ОБРАЗЕЦ
билета к зачету
Министерство образования и науки РФ Экзаменационный билет №
НОВОСИБИРСКИЙ По дисциплине Практикум на
ГОСУДАРСТВЕННЫЙ ЭВМ
18
ТЕХНИЧЕСКИЙ Факультет ФПМИ курс 1 семестр
УНИВЕРСИТЕТ 2
1. Задание 1. Проверяется знание способов организации сложных структур
данных и операций над ними.
1.1. Понятие структуры данных очередь.
1.2. Написать функцию включения элемента в динамическую очередь,
представленную двусвязным списком.
2.Задание 2. Проверяется знание структур данных и алгоритмов, изученных в
данном курсе и умение реализовать их на языке Си.
Написать функцию бинарного поиска элемента в упорядоченной
статической таблице, если задан ключ элемента. Элемент таблицы состоит из трех
признаков целого типа каждый, первый признак - ключ элемента таблицы. Все
ключи в таблице различны. Дать оценку сложности алгоритма бинарного поиска.

9. Дополнительная информация
График
прохождения дисциплины “Практикум на ЭВМ: Структуры данных и алгоритмы”
курс 1, семестр 2

Прохождение данной дисциплины включает следующие виды работ:



№ Виды работ Объем Объем
п/п. аудиторных самостоятельной работы
занятий (в часах) (в часах)

1. Лекции 17

2. Лабораторные работы 68 10

3. 20
Курсовая работа

Всего 85 30

Итоговая аттестация – зачет, дифференцированный зачет по


курсовой работе (защита курсовой работы).
Зачет сдается по расписанию на зачетной неделе (17 нед.), защита
курсовой работы – 14-15 нед.

Лабораторные работы
Самостоятельная работа студента по лабораторным занятиям предполагает
изучение средств языка программирования Си по теме лабораторной работы и
выполнение следующих этапов лабораторной работы: анализ задачи,
разработка алгоритма решения задачи, подбор тестов для отладки программы,

19
написание отчета по лабораторной работе. Во время лабораторной работы
студент работает:
– за компьютером, создавая и отлаживая программу;
– с преподавателем, выполняя допуск к лабораторной работе и ее защиту, а
также консультируясь по неясным для него вопросам.
За семестр студент должен выполнить 5 абораторных работ. График
выполнения лабораторных работ:
– 1 – 4 неделя – 1-я лабораторная работа;
– 5 – 7 неделя – 2-я лабораторная работа;
– 8 – 10 неделя – 3-я лабораторная работа;
– 11 – 13 неделя – 4-я лабораторная работа;
– 14 – 17 неделя – 5-я лабораторная работа.

Курсовая работа
В течение 5 – 12 недель студент выполняет курсовую работу (КР),
которая является комплексным заданием за 2-й семестр. На 13-й неделе студент
сдает КР преподавателю на проверку. По расписанию указанному
преподавателем на 14-15-й нед. проходит защита КР перед комиссией из
преподавателей. Защита КР состоит в кратком (в течение 7 мин.) сообщении о
поставленной задаче, результатах ее решения и ответах на вопросы со стороны
комиссии. Результаты выполнения КР оцениваются в пятибалльной системе. В
случае невыполнения КР в указанные сроки (сдать преподавателю КР на 13-й
нед.), оценка за КР снижается на 1 балл. Время консультаций по КР сообщается
студентам на 5-й неделе.

Промежуточная аттестация в семестре осуществляется на 7-й и 13-й


неделях по результатам выполнения лабораторных работ.
• 7-я неделя – 2 балла, если выполнены и защищены 1 и 2 лаб.работы; – 1
балл, если выполнены 1 и 2-я лаб.работы; – 0 баллов, если не выполнена 1-я
лаб.работа.
• 13-я неделя – 2 балла, если выполнены и защищены 1 – 4 лаб.работы и
выполняется 5-я лаб.работа; – 1 балл, если выполнены 1 – 3 лаб.работы; – 0
баллов, если не выполнены 1 – 3 лаб.работы.

20

Вам также может понравиться