1.Н.Вирт. Алгоритмы и структуры данных. М.: Мир, 1989.

advertisement
Западно-Казахстанский государственный университет
им. М. Утемисова
«Бекітемін»
Факультет деканы
_____________ Медешова А.Б.
«__»_____________ 2010ж.
Кафедра физики, математики и информатики
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ
Теория алгоритмов
по кредитной технологии обучения
для студентов специальности
050511 - Информатика
Курс – 3
Семестр – 2
Количество кредитов - 2
Лекции – 15 часов
Практические занятия– 15 часов
СРСП – 30 часов
СРС – 30 часов
Экзамен – в 2-м семестре
Всего – 90 часов
Уральск 2010 г.
Учебно-методический комплекс по дисциплине «Теория алгоритмов» по кредитной технологии
обучения для студентов 3-го курса разработан на основе____типовой программы по информатике,
КазНПУ им Абая, Алматы, 2005 г
Типовая программа находится на кафедре корп 1 ауд.307
Программа составлена: Атушевой М.К..
Обсуждена на заседании кафедры физики, математики и информатики.
Протокол № ___ «___» ____________ 2009 ж.
Соглачовано: ОҮҰжОӘЖБ жетекшісі
Какимова А.А.
Зав. кафедрой: ___________ Уланов Б.В.
(қолы)
Обсуждена на заседании УМС естественногеографического и физико-математического факультета
Протокол № __ “___” ____________ 2010 ж.
Руководитель УМС факультета ________Т.А.Терещенко
(қолы)
1. Типовая программа курса
Содержание курса:
Введение
Предмет теории алгоритмов. Примеры различных алгоритмов.
Основные требования к алгоритмам. Блок-схема и описание алгоритма.
Основные подходы к формализации понятия алгоритма. История
развития
формальной
теории
алгоритмов.
Различные формализации понятия алгоритма
Машины Тьюринга. Внешний и внутренний алфавиты, команды,
программы. Описание работы машины Тьюринга. Программы.
Вычислимость простейших функций.
Класс примитивно рекурсивных
функций. Операторы
минимизации, суперпозиции. Примитивная рекурсивность основных
арифметических функций.
Нормальные алгорифмы Маркова. Алфавит, слова, простейшие
процедуры. Описание работы нормального алгорифма Маркова.
Цифровые алгорифмы Маркова. Композиция алгорифмов. Вычислимые
функции.
2. ПРОГРАММА ОБУЧЕНИЯ КУРСА «ТЕОРИЯ АЛГОРИТМОВ»
(SILLABUS).
2 семестр 2007-2008 уч.г., 2 кредита
Курс Сем
ест
р
3
2
Креди
ты
Лек
ции
СРС
П
15
Лаб
орат
орн
ые
рабо
ты
15
2
СРС Все Форма
го контрол
я
30
30
90
15
15
30
30
90
экзамен
Введение
Краткое описание курса:
Благодаря бурному развитию науки информатики и проникновению её
в различные отрасли народного хозяйства слово "алгоритм" ("алгорифм")
стало часто встречающимся и наиболее употребляемым в житейском плане понятием для широкого круга специалистов. Несмотря на это, менее
известным фактом для широкого круга людей остается то, что это понятие имеет древнее происхождение и употреблялось веками. Еще менее
известно, что и математическая теория алгоритмов сложилась вовсе не в
Данные о преподавателе
Ф.И.О. – Атушева М.К.старший преподаватель
кафедра информатики
Адрес – ул. Достык 162, каб.125
рабочий телефон – 50-38-07
Atusheva_Mar@mail.ru
связи с бурным развитием информатики и вычислительной техники. Воз-
Данные о дисциплине
Теория алгоритмов
Количество кредитов – 2
каждый кредит-час
состоит из одного контактного часа (лекция,
практика) и одного часа самостоятельной работы студентов под
руководством преподавателя (СРСП, СРС).
Место проведения: корпус № 7
Выписка из учебного плана:
числительной техникой, и теории алгоритмов также несомненно. Творцы
никшая в недрах математической логики для решения её собственных
проблем, теория алгоритмов прежде всего оказала большое влияние на
мировоззрение математиков и на их науку.
Тем не менее, взаимовлияние теоретических областей, связанных с выпервых компьютеров пользовались уже проведённым к тому времени в
рамках теории алгоритмов и на основе её результатов философским
осмыслением возможностей машины. Следует отметить также влияние
теории алгоритмов на теоретическое программирование. Это влияние, однако, состояло не в использовании каких-либо теорем, оно носило, скорее, идейный характер. В частности, большую роль в теоретическом про-
граммировании играют модели вычислительных автоматов, которые, по
Курс имеет в своей основе взгляд на обучение элементам теории ал-
существу, являются ограничениями тех представительных вычислитель-
горитмов как на совокупность различных представительных моделей по-
ных моделей, которые были созданы ранее в теории алгоритмов.
нятия алгоритма (нормальные алгорифмы Маркова, машина Тьюринга,
Благодаря бурному развитию науки информатики и проникновению её в
машина Поста, МНР и рекурсивные функции), разнообразие которых со-
различные отрасли народного хозяйства слово "алгоритм" ("алгорифм")
здает опору для формирования общих понятий вычислимости и алгорит-
стало часто встречающимся и наиболее употребляемым в житейском пла-
ма.
не понятием для широкого круга специалистов. Несмотря на это, менее
Вся теория алгоритмов может быть изложена в терминах числовых
известным фактом для широкого круга людей остается то, что это поня-
вычислимых функций, заданных на натуральных числах, поэтому значи-
тие имеет древнее происхождение и употреблялось веками. Еще менее
тельная часть содержания курса посвящена рассмотрению классической
известно, что и математическая теория алгоритмов сложилась вовсе не в
точной математической модели таких функций - рекурсивных функций.
связи с бурным развитием информатики и вычислительной техники. Воз-
Курс имеет методическую направленность, т.к. одной из его задач является формирование базового понятия как вузовского, так и школьного
курса информатики - понятия "алгоритм", а также его математическое
обоснование.
никшая в недрах математической логики для решения её собственных
проблем, теория алгоритмов прежде всего оказала большое влияние на
мировоззрение математиков и на их науку.
Тем не менее, взаимовлияние теоретических областей, связанных с вычислительной техникой, и теории алгоритмов также несомненно. Творцы
первых компьютеров пользовались уже проведённым к тому времени в
рамках теории алгоритмов и на основе её результатов философским
осмыслением возможностей машины. Следует отметить также влияние
теории алгоритмов на теоретическое программирование. Это влияние, однако, состояло не в использовании каких-либо теорем, оно носило, скорее, идейный характер. В частности, большую роль в теоретическом программировании играют модели вычислительных автоматов, которые, по
существу, являются ограничениями тех представительных вычислитель-
Задачи курса:
Дать обучаемым представление о следующих основных положениях
теории алгоритмов.
- Наивное определение понятия "алгоритм". Свойства алгоритма
- Теория рекурсивных функций. Простейшие функции
- Нормальные алгорифмы Маркова. Нормальный алгорифм Маркова в алфавите и над алфавитом
- Машина Тьюринга. Операции над машинами Тьюринга (операция композиции, операция ветвления, операция зацикливания). Базис элементарных машин Тьюринга. Гёделева нумерация машин Тьюринга.
- Эквивалентность математических моделей понятия "алгоритм".
ных моделей, которые были созданы ранее в теории алгоритмов.
Методология обучения.
Цель курса
Основные стадии процесса обучения: обучающая деятельность
разбивается на три этапа:
- применение знаний и умений по логическому и машинному
представлению данных в других языках программирования (C, Delphi)
1. вводно-мотивационный
- применение алгоритмических конструкций в программировании
2. операционно-познавательный
- применение методов оценки сложности алгоритма и методов
3. контрольно-оценочный
сортировки при проектировании баз данных, информационных систем
На первом этапе создается проблемная ситуация с целью выяснения
различного назначения
места, роли и значения данной учебной темы в системе учебной
дисциплины; формируется цель обучения и требования к минимуму
знаний, умений и навыков, которыми должны обладать обучаемый (до и
после обучения); разъясняется план изучения темы.
На втором этапе предлагается учебная информация в форме лекций или
учебных пособий, демонстрируются наглядные пособия, проводятся
эксперименты, организуется учебно-познавательная деятельность на
занятиях, контроль, оценка и учет текущей работы обучаемых, коррекция
учебной работы обучаемых.
На третьем этапе предполагается руководство учебной работой
обучаемого по обобщению учебного материала, проводится итоговый
контроль знаний, диагностируются ошибки и проводится коррекция
знаний обучаемых.
Пререквизиты:
Освоение курса предполагает знание студентами:
- основ алгоритмизации
- операционных систем DOS, Windows
- арифметических, логических основ компьютера
- основ моделирования
Постреквизиты:
График и содержание занятий
№
нед
1
Лекции
Лабораторные работы
СРСП
Литература
Введение. Задача уточнения понятия
алгоритма.
Решение математических
задач методом
алгоритмизации
Решение математических
задач методом
алгоритмизации
Машина Поста. Система
команд. Примеры.
Решение математических задач
методом алгоритмизации
[1, [2], [3], лекции
Решение математических задач
методом алгоритмизации
[1, [2], [3], лекции
Машина Поста. Система команд.
Примеры.
[1, [2], [3], лекции
2
Подходы к уточнению понятия
алгоритма
3-4
Метрическая теория алгоритмов:
понятия сложности алгоритмов,
верхние и нижние оценки сложности.
5
Основные требования к алгоритмам:
алфавит, данные, память, средства
формализации и исполнения.
Алгоритмические модели
Машина Поста. Система
команд. Примеры. Машина
Поста. Система команд.
Примеры.
Машина Поста. Система команд.
Примеры.
[1], [2], [5], лекции
6
Машины Тьюринга: описание,
принцип действия.
Машины Тьюринга.
Описание. Система
команд.
Машины Тьюринга. Описание.
Система команд.
[1], [2], [5], лекции
7-8
Применение машины Тьюринга к
словам
Применение машины
Тьюринга к словам
Применение машины Тьюринга к
словам
[1], [3], [4], лекции
9
Применение машин Тьюринга к
словам
Функции, вычислимые по Тьюрингу.
Примеры
Применение машины
Тьюринга к словам
Конструирование машин
Тьюринга
Применение машины Тьюринга к
словам
Конструирование машин Тьюринга
[3], [4], лекции
12
Тезис Тьюринга
Машины Тьюринга и современные
ЭВМ.
Конструирование машин
Тьюринга
Конструирование машин Тьюринга
[3], [4], [6],лекции
13
Другие уточнения понятия алгоритма. Примеры марковских
Алгоритмы Маркова.
подстановок
Нормальные алгоритмы Маркова.
Применение нормальных
алгоритмов к словам
Рекурсивные функции. Примеры.
Операторы суперпозиции6
минимизации
Всего
15
Примеры марковских подстановок
[3], [4], [5], лекции
Применение нормальных алгоритмов
к словам
Операторы суперпозиции6
минимизации
15
[1], [3], [4], лекции
1011
14
15
[3], [4], [5],лекции
[1], [3], [4], лекции
15
Список литературы
Основная литература:
1.Н.Вирт. Алгоритмы и структуры данных. М.: Мир, 1989.
2. Мальцев А.И. Алгоритмы и рекурсивные функции. М.: Наука, 1965.
№
п/
п
1
3.Атушева М.К. Основы теории алгоритмов. Уральск. РИО ЗКГУ, 2005
4.Роджерс Х. Теория рекрсивных функций и эффективная вычислимость.
М.: Мир, 1977.
5.Трахтенброт Б.А. Алгоритмы и вычислимые автоматы. – М., Сов.радио,
1974
6.Катленд Н. Вычислимость. Введение в теорию рекурсивных функций.М., Мир, 1983.
2
Вид
работ
Цель и
содержан
ие
задания
Согласно
теме
содержан
ия
занятия
Ла
бор
ато
рна
я
раб
ота
Экзамен Комплекс
ная
проверка
знаний
Рекоменду
емая
литератур
а
Согласно
теме
занятия
Продолжи Балл
тельность ы
выполнен
ия
1-15 недели 4х15
Форма
контро
ля
Согласно
плану
занятий
40 мин
Сдача
экзамен
а
40
Отчет
на
СРСП
Дополнительная литература:
1. Непейвода Н.Н. Прикладная логика. – Новосибирск, из-во НГУ, 2000
2. Мендельсон Э. Введение в математическую логику. – М., Наука, 1976
3.Ершов Ю.Л. – Определимость и разрешимость. – Новосибирск, Научная
книга, 2003
4. Ершов Ю.Л. – Теория нумераций. – М., Наука, 1972
5.http://be-club.narod.ru/upload/library/pascal.html
3. ГРАФИК ВЫПОЛНЕНИЯ И СДАЧИ ЗАДАНИЙ ПО
ДИСЦИПЛИНЕ
4. КАРТА УЧЕБНО-МЕТОДИЧЕСКОЙ ОБЕСПЕЧЕННОСТИ
Карта обеспеченности дисциплины литературой
Кафедра ___информатики__________тьютор _____Атушева
М.К.__________
Контингент студентов на 01. 09. 200 7_ г. __15___
Дисциплина __Теория алгоритмов________________________________
__
Количество кредитов_____2_______________________
___
№
п/п
1
2
Учебник
1
Наименование
литературы
Шифр
Вид
литературы
3
4
А.Могилев.
Информатика
Учебник
Наличие
В библиотеке на кафедре %
обеспеченност
и студентов
5
6
7
5
1
Атушева М.
Основы теории
алгоритмов.
Электро
нная
версия
8
1,65
+
10
2
Примечания
3.3
+
9
5. Лекционный комплекс: тезисы лекций, иллюстративный и
раздаточный материал, список рекомендуемой литературы
Тезисы лекций
2 семестр
Тема 1: Введение. Задача точного определения понятия алгоритма.
букв некоторого алфавита называется словом в данном алфавите.
Например, множество {a; } – алфавит; a,  - буквы этого алфавита;
ааа, ааа, , аааа, аа, ...– слова этого алфавита.
Алфавитный способ представления информации универсален: любую
информацию всегда можно записать алфавитным способом.
Содержание лекции: В теории алгоритмов были предугаданы
Тема 6: Машины Тьюринга: описание, принцип действия
основные концепции, заложенные в аппаратуру и языки
Содержание лекции: В настоящее время теория алгоритмов и
математическая логика образуют фундаментальную основу современной
вычислительной техники, позволяющую решать любые алгоритмически
описанные задачи.
Точное определение понятия алгоритма быдо дано А.Тьюрингом в
1936 году. Его подход также базируется на понятии алфавита.
Машина Тьюринга (МТ) является важным инструментом
исследования в современной теории алгоритмов и вычислимости.
Конструкция машины Тьюринга в абстрактной форме предвосхитила
многие основные принципы современных ЭВМ. Классическая машина
Тьюринга состоит из трех компонент: конечный автомат, сканирующая
головка, внешняя лента
программирования
на ЭВМ. Главные модели алгоритма
математически эквивалентны, но на практике породили разные
направления
в
программировании.
направления
дальнейшего
развития,
В
в
настоящее
первую
время,
очередь,
вычислительных возможностей ЭВМ, влияния последующего
развития ЭВМ на жизнь человечества,
Тема 2: Подходы к точному определению понятия алгоритма
Содержание лекции: Исследование математиками проблемы
уточнения понятия алгоритма поставило такую задачу: понятие
алгоритма может быть уточнено лишь путем описания некоторого
специального класса алгоритмов, облаающего таким свойством: для
любого произвольного алгоритма можно построить эквивалентный
ему алгоритм из этого класса.
Тема 3: Метрическая теория алгоритмов: понятия сложности
алгоритмов, верхние и нижние оценки сложности.
Содержание лекции:
Тема 4: Метрическая теория алгоритмов: понятия сложности
алгоритмов, верхние и нижние оценки сложности
Содержание лекции:
Тема 5: Основные требования к алгоритмам: алфавит,
данные, память, средства формализации и исполнения.
Алгоритмические
модели
Содержание лекции: Алфавит - любая конечная совокупность
попарно различимых символов. Символы алфавита называют
буквами этого алфавита. Любая конечная последовательность
Тема 7: Применение машины Тьюринга к словам
Содержание лекции: Слово, записанное на ленте – конфигурация всех
состояний ячеек, читаема слева направо; конечное слово – слово, имеющее
конечное число вхождений символов sk (k=1, … , n).
Бесконечная в обе стороны лента разбита на ячейки; каждя ячейка
содержит строго один символ из алфавита S. Ленту можно рассматривать
в качестве внешней памяти МТ.
Тема 8: Применение машины Тьюринга к словам
Содержание лекции: Конечный автомат (КА) машины –
устройство, находящееся в каждый дискретный момент времени Т =
0,1,2,3,... в некотором состоянии из конечного множества Q = {q0,q1,q2, …
, qn }, где q0- состояние определяет останов МТ. При этом множества S
и Q не имеют общих символов, т.е. SՈQ = Ø, где Ø – пустое множество.
Конечный автомат наделен внутренней (оперативной) памятью,
содержащей программу работы МТ, и устройством управления (УУ),
обеспечивающим механизм выполнения всех допустимых машиной
операций. Множество символов Q называется внутренним алфавитом
МТ; МТ с внешним S и внутренним Q алфавитами
обозначают MTqs ; #S=s и #Q=q , где #A – мощность
(количество элементов) произвольного А-множества.
Сканирующая головка (СГ) за единичный момент
времени (такт машины) сдвигаться вправо/влево на одну
ячейку ленты и изменять состояние сканируемой ею ячейки. СГ
может оставаться и неподвижной любое число таков машины.
Тема 9: Конструирование машин Тьюринга
Содержание лекции: Работа
MTqs
происходит в
дискретные моменты времени и управляется УУ конечного
автомата: в зависимости от внутреннего q-состояния и sсостояния сканируемой ячейки внешней ленты производится в
общем случае изменение обоих состояний и сдвиг сканирующей
головки. Если на некотором шаге КА переходит в q0-состояние,
то MTqs
переходи в
заключительное состояние и
останавливается, завершая вычисление.
Существуют универсальные машины Тьюринга, способные
моделировать любую конкретную MTqs .
Тема 10: Функции, вычислимые по Тьюрингу. Примеры
Содержание лекции:
Тема 11: Функции, вычислимые по Тьюрингу. Примеры
Содержание лекции: Рассмотрим простой пример.
Машина Тьюринга задана внешним алфавитом
S={0,1,*},
алфавитом внутренних состояний Q={q0 , q1 , q2 ,q3 } и
программой
q10q10Л, q20q3 1П, q30q10Л, q11q20Л, q21q21Л,
q31q31П, q1*q00, q2*q2*Л, q3*q3*П.
Программа машины может быть записана также в виде
таблицы:
Тема 12: Тезис Тьюринга. Машины Тьюринга и современные ЭВМ.
Содержание лекции: Таким образом, любую задачу из
бесконечного множества задач можно выразить (закодировать)
некоторым словом некоторого алфавита, а решение задачи – какимто другим словом того же алфавита. В результате получим
функцию, заданную на некоторм подмножестве множества всех слов
выбранного алфавита и принимающуюзначение в множестве всех
слов того же алфавита. Решить какую-либо задачу – значит найти значение
этой функции на слове, кодирующем данную заачу. А иметь алгоритм для
решения всех задач данного класса – значит иметь единый способ,
позволяющий в конечное число шагов «вычислять» значения построенной
функции для любых значений аргумента из ее области определения.
Тема 13: Другие уточнения понятия алгоритма. Алгоритмы Маркова.
Содержание лекции:
Тема 14: Нормальные алгоритмы Маркова.
Содержание лекции: Теория нормальных алгоритмов была
разработана советским маетематиком А.А.Марковым в конце 40-х –
начале 50-х годов. Алгоритмы Маркова можно считать уточнением
понятия алгоритма, достигаемым за счет использования специалной
формы описания. Уточнение понятия алгоритма также основывается на
понятии алфавита.
Определение. Марковской подстановкой называется операция над
словами, задаваемая с помощью упорядоченной пары слов (PQ), состоящая
в следующем. В заданном слове R находят первое вхождение слова P
(если такое имеется) и, не изменяя остальных частей слова R, заменяют в
нем это вхождение словом Q. Полученное слово называется результатом
применения марковской подстановки (PQ) к слову R. Если же первого
вхождения P в слово R нет (и, следовательно, вообще нет ни одного
вхождения P в R), то считается, что марковская подстановка (PQ) не
применима к слову R.
Тема 15: Рекурсивные функции
Содержание лекции: Машина Тьюринга М с внешним алфавитом 
порождает функцию, перерабатывающую некоторые слова в алфавите  в
слова того же алфавита . Однако, функция М может быть определена не на
всех словах в алфавите . Рассмотрим, что означает, что функция вычислима
с помощью машины Тьюринга.
Если Х1, ... , Хk – множества, то Х* ...* Хk – их декартово произведение, т.е.
множество упорядоченных наборов < x1, ... , xk >, где x1 Х1, ... , xk Хk. Если
Х, У – множества, то через ХУ обозначим множество всех функций с
областью определения Х, принимающих значения в множестве У.
6. Планы семинарских (практических) занятий
Лабораторные работы
Решение математических задач методом
алгоритмизации
Решение математических задач методом
алгоритмизации
Машина Поста. Система команд. Примеры.
СРСП
Решение математических задач методом
алгоритмизации
Решение математических задач методом
алгоритмизации
Машина Поста. Система команд. Примеры.
Литература
[1, [2], [3],лекции
Машина Поста. Система команд. Примеры. Машина
Поста. Система команд. Примеры.
Машина Поста. Система команд. Примеры.
[1, [2], [3],лекции
Машины Тьюринга. Описание. Система команд.
Машины Тьюринга. Описание. Система команд.
[1, [2], [3],лекции
Применение машины Тьюринга к словам
Применение машины Тьюринга к словам
Конструирование машин Тьюринга
Применение машины Тьюринга к словам
Применение машины Тьюринга к словам
Конструирование машин Тьюринга
[1, [2], [3],лекции
[1, [2], [3],лекции
[1, [2], [3],лекции
Конструирование машин Тьюринга
Конструирование машин Тьюринга
[1, [2], [3],лекции
Примеры марковских подстановок
Примеры марковских подстановок
Применение нормальных алгоритмов к словам
Операторы суперпозиции6 минимизации
15
Применение нормальных алгоритмов к словам
Операторы суперпозиции6 минимизации
15
[1, [2], [3],лекции[1, [2],
[3],лекции
[1, [2], [3],лекции
[1, [2], [3],лекции
15
[1, [2], [3]
[1, [2], [3]
7. Методические рекомендации по изучению дисциплины
Ведущие теоретические идеи
Во-первых, данный курс имеет в своей основе взгляд на
обучение элементам теории алгоритмов как на совокупность различных представительных моделей понятия алгоритма (нормальные алгорифмы Маркова, машина Тьюринга, машина Поста, МНР и рекурсивные функции), разнообразие которых создает опору для формирования общих понятий вычислимости и алгоритма.
Во-вторых, красной линией в курсе проходит тот факт, что
вся теория алгоритмов может быть изложена в терминах числовых
вычислимых функций, заданных на натуральных числах, поэтому
значительная часть содержания курса посвящена рассмотрению
классической точной математической модели таких функций - рекурсивных функций.
В-третьих, данный курс имеет методическую направленность, т.к. одной из его задач является формирование у будущих
учителей математики и информатики базового понятия как вузовского, так и школьного курса информатики - понятия "алгоритм", а
также его математическое обоснование. Отметим, что содержание
курса может послужить основой для соответствующего факультатива в школе.
8. Методические рекомендации и указания по типовым
расчетам, выполнению расчетно-графических, лабораторных
работ, курсовых проектов (работ)
Выполнение лабораторных работ имеет целью закрепление
теоретических знаний, которые представляют собой
формализованные знания довольно высокой степени сложности.
Поэтому планированием лекционных и практических занятий предусмотрено
постоянный разбор теоретического материала на практике, проверка умения
самостоятельного решения примеров, приведенных в содержании лекций.
Далее после закрепления теоретических знаний, предусмотрено решение задач
и отчетность по каждой задаче, т.к. решение каждой задачи – это
самостоятельно разработанный алгоритм, состоящий, обычно, из сложной
последовательности команд.
В начале практического курса предусмотрено решение алгоритмов
повышенного уровня сложности из курса математики, т.к. решение задач по
данному предмету требует сформированности алгоритмических умений на
хорошем уровне, владения знаниями алгоритмов на содержательном уровне,
умений по формализованному рассуждению и описанию решений задач.
9. Материалы для самостоятельной работы студента: наборы текстов
домашних заданий, материалы самоконтроля по каждой теме, задания по
выполнению текущих видов работ, рефератов и и других домашних
заданий с указанием трудоемкости и литературы
Усвоение содержания дисциплины требует постоянного контроля
каждой задачи со стороны преподавателя, поэтому предлагаются следующие
виды самостоятельных работ студентов:
- отчетность по курсу задач алгоритмизации задач из курса высшей
математики:
1.Алгоритм вычисления значения многочлена
2.Алгоритм приближенного вычисления площадей
3.Отделение корней уравнения
- отчетность по задачам, приведенным в лекциях в качестве
демонстрации теоретических выкладок
- решение и сдача заданий лабораторных работ,
невыполненных в аудитории.
10. Методические указания по прохождению учебной,
производственной и преддипломной практик, формы отчетной
документации.
Материал курса направлен на закрепление и грамотное
владение основными положениями алгоритмизации, понимание
теоретических основ конструирования и применения современных
средств микропроцессорной техники.
Информация по оценке знаний
Преподаватель в каждую 7 неделю (по итогам 1-7 недели) и 15 неделю
(по итогам 8-15 недели) семестра выставляет результаты рейтингового
контроля по 100 балльной шкале, и оценка, выставляемая за рейтинг,
представляет собой сумму баллов по текущему, рубежному контролю,
проведенным по его усмотрению.
Итоговая оценка подсчитывается по формуле:
U = [(P1 +P2) / 2] * 0,6 + E * 0,4, где
P1 - цифровой эквивалент оценки первого рейтинга;
P2 -цифровой эквивалент оценки второго рейтинга;
Е - цифровой эквивалент оценки на экзамене.
Буквенная оценка и ее цифровой эквивалент в баллах определяется по %-ному
содержанию правильных ответов.
В процессе практики к студентам предъявляются
требования грамотного оперирования терминами алгоритмизации в
различных предметных областях. В документации, дипломной
работе также должны грамотно описываться возможности
используемых инструментальных и программных средств на основе
положений теории алгоритмов, которые являются основой
понимания принципов создания и действия современной
микропроцессорной техники, средств информатики.
11. Материалы по контролю и оценке учебных достижений
студентов
(письменные контрольные задания, тестовые задания, перечень
вопросов для самоподготовки, экзаменационные билеты и д.)
схема оценки знаний
письменные контрольные задания
тестовые задания
перечень вопросов для самоподготовки
экзаменационные билеты
Политика выставления оценки:
Критерии оценок
Посещемость лекций, участие
в изучении нового материала
100
Активность на занятиях,
выполнение дополнительных
заданий, участие на
конференциях по предмету
100
Лабораторные работы
100
Решение задач повышенной
сложности
100
Лаборатор
ные
работы
Лекции
№
Оценки за виды работ
%
Выполнено
1
всего
баллыы
3
5
7
СРСП
Коллоквиум
Рейтинг I+II
Экзамен
Всего
100
100
Неделя
2
3
4
5
6
7 8 9
+ + + + + + + + +
10
+
11
+
12
+
13
+
14
+
5
+ + + + + + + + +
+
5
+
+
+
+
+
5
+ + + + + + + + +
+
15
+
5
+
+
+
+
+
+
+
(Р1+Р2)/2*0.6
100*0.4
Рейтинг+экза
мен
В течение семестра проводится два рубежных контроля на 8 неделе и на 15
неделе. Максимальный показатель успеваемости студента по рубежным
контролям составляет 60%.
В конце каждого семестра проводится промежуточная аттестация по
учебной дисциплине в виде экзамена.
Максимальный показатель успеваемости по промежуточной
аттестации (ПА), т.е. экзамену составляет 40%.
Итоговая экзаменационная оценка по дисциплине определяется как
сумма максимальных показателей успеваемости по рубежным контролям
(max. 60%) и промежуточной аттестации, т.е. экзамену (max. 40%) составляет
100%.
Итоговый экзамен будет проходить в форме тестирования
по 30 вопросам 5 вариантов охватывающих основное содержание
теоретического и практического материала курса.
Знания, умения и навыки студентов оцениваются следующим
образом:
Оценка
по буквенной
в баллах
в %-ном
по традиционной
системе
содержании
системе
А
4,0
95 – 100
Отлично
А3,67
90 – 94
В+
3,33
85 – 89
Хорошо
В
3,0
80 – 84
В2,67
75 – 79
С+
2,33
70 – 74
С
2,0
65 – 69
Удовлетворительно
С1,67
60 – 64
Д+
1,33
55 – 59
Д
1,0
50 – 54
F
0
0 - 49
Неудовлетворительно
Политика и процедуры
Студенты обязаны:
1. Не опаздывать на занятия.
2. Не разговаривать громко во время занятий.
3. На занятия приходить опрятными.
4. Не пропускать занятия без уважительной причины, в случае
болезни предоставлять справку.
5. Пропущенные занятия отрабатываются в определенное
преподавателем время.
6. Активно участвовать в учебном процессе.
7. Выполнять старательно задания.
8. Быть терпимым, открытым, откровенным и доброжелательным к
сокурсникам и преподавателям.
9. Конструктивно поддерживать обратную связь на всех занятиях.
10. Быть пунктуальным и обязательным.
11. Исключить все телефонные разговоры.
Требования к студентам:
1. Посещение
Посещение должно быть обязательным. Пропуски занятий
отрабатываются в полном объеме занятия, отраженном в учебно-методическом
комплексе. Пропуски занятий без уважительной причины, в объеме,
превышающем треть курса, ведут к исключению с курса.
2. Поведение в аудитории
Студент обязан не опаздывать на занятия, не разговаривать во время
занятий, не читать газеты, отключать сотовый телефон, активно участвовать в
учебном процессе.
3. Домашнее задание
Домашняя работа обязательна для выполнения и отчетность по ней
принимается в оговоренное преподавателем время. У студентов опоздавших
во время отчитаться домашнее задание приниматься не будет. На основе
ваших отчетностей будет выведена оценка, которая повлияет на итоговую
оценку.
4. Индивидуальные задания
Индивидуальные семестровые задания являются обязательными.
Они выполняются в виде рефератов и защищаются студентами. Каждое из
этих заданий оценивается отдельно и влияет на итоговую оценку.
5. Контрольная работа
Выполняется на занятии, сдается в конце пары, после занятия не
принимается и не оценивается. Контроль знаний студентов главным образом
будет осуществляться посредством решения тестовых заданий.
6. Коллоквиум
Коллоквиумы должны сдаваться в оговоренное преподавателем время для
каждой группы отдельно. Контроль знаний студентов может осуществляться
как посредством решения тестовых заданий, так и в устной форме.
Вопросы для проверки знаний по основам алгоритмизации:
1. Назначение фрагмента программмы :
begin assign(f,’name’);
rewrite(f);
for i:=1 to 3 do writeln(f, ‘group’, i); … enD)
Вывод данных в файл
Ввод данных из файла
Чтение данных из файла
Закрытие файла;
2.Какую задачу решает данная программа
program otr_1;
var n:integer; y:real;
begin n:=0;
repeat
n:=n+1; y:=cos(cos(n)/sin(n));
until y<0 ;
writeln('y',n,'=',y:6:4 ) enD)
Находит первый отрицательный элемент последовательности;
Находит количество отрицательных элементов
программа написана с ошибкой
описывает бесконечный ряд ;
3. Найдите значение переменной s после выполнения данных
операторов
s:=1; i:=1:
while s<=1 do s:=s+1/i ; i:=i-1 ;
2
Нет верного ответа
0.0
137/60
4. х=1, найдите значение переменной логической d после
выполнения оператора d:=х< 2
истина
ложь
0
false
5.Диапазон целых чисел в Паскале :
от-32768 до 32767
0 - 255
от -128 до 128
любой
Вопрос №5
6.Определите назначение записи var a:array[1..10] of byte:
Описание массива целых чисел, значения которых не больше 256
Ввод массива символьных величин;
Описание массива целых чисел;
Описание типа массива символьных величин.
7.Определить тип переменной:
type stud = record
fio:string;
adres: string;
year: integer;
end;
запись
Строка, целое число
параметр-значение
массив
8.Определите назначение записи var a: array [1…10] of char:
Описание массива целых чисел
Ввод массива символьных величин
Описание типа массива символьных величин
массив-константа
9.Определите результат выполнения команды:
For I:=1 to n do if abs(a[1])>7 then k:=k+1
Определение количества элементов массива, абсолютная величина которых,
больше 7
Подсчет числа элементов, больших 7
Вывод на экран элементов массива, абсолютная величина которых больше 7
ввод значений числового массива
10.Результат выполнения фрагмента программы
For I:=1 to 9 do
Begin
K:=I+1;
For n:=k to 9 do
If m[I]>m[n] then begin s:=m[I]; m[i]:=m[n]; m[n]:=send;
end;
End;
Упорядочение линейного массива по возрастанию
Упорядочение линейного массива целых чисел по убыванию
Упорядочение линейного массива вещественных чисел по
возрастанию
Упорядочение массива символьных величин в обратном алфавиту
порядке
11.Функция фрагмента программы::
var m,n:integer;
procedure fac(t:integer, var f:integer);
var i:integer;
begin f:=1;
for i:=1 to t do
f:=f*i;
end;
begin
…
Процедура вычисления факториала
Программа вычисления факториала
Вычисление произведения t чисел
Программа нахождения произведения двух чисел
12.Определите тип переменной:
type prep = record
adres: string;
nomb: integer;
street: string;
end;
запись
Строка, целое число
массив
Вещественные числа
13. Результат выполнения фрагмента программы:
var n:integer;
…
str(n,s);
k:=length(s);
Нахождение числа цифр данного числа
Нахождение длины строки
Преобразование числа в строку
преобразование строки в число
Вопросы проверки знаний по теории алгоритмов:
Машина Тьюринга задана внешним алфавитом S={0,1,*}, алфавитом
внутренних состояний Q={q0 , q1 , q2 ,q3 } и программой
q10q10Л, q20q3 1П, q30q10Л, q11q20Л, q21q21Л, q31q31П,
q1*q00, q2*q2*Л, q3*q3*П.
Программа машины может быть записана также в виде таблицы:
S
0
1
*
Q
q1
q2 0Л
q00
q2
q31П
q 21Л
q2*0Л
q3
q10Л
q 31П
q3*П
На пересечении q2 и 1 находится q 21Л. Это означает, что на
следующем шаге машина останется в прежнем состоянии q2 и сохранит
содержимое обозреваемой ячейки 1, затем перейдет к следующей левой
ячейки на ленте.
Примените эту машину к слову 11*11.
11*1q11=>11* q 210=>11 q 2*10=>1 q 21*10=> q 211*10=> q
011*10=>1
q 311*10=>11 q 31*10=>111 q 3*10=>111* q 310=>
2
111* 1q 30=>111* q10=>111 q2*00=>11 q21*0=>1 q211*0=> q2111*0=>
q20111*0=>1q3111*0=>11q311*0=>111q31*0=>1111q3*0=>1111*q30=>1111
q1*0=>1111 q0 00.
2. Проверить, что данная машина Тьюринга осуществляет следующие
преобразования конфигураций:
11* q11=>111 q00,
1*111 q11=>1111 1q00,
11*11 q11=>111111 q00,
11111*111 q11=>1111 111q00.
3. Вычисляет ли данная машина Тьюринга вычисляет
функцию f(х)=х+1, т.е. реализует операцию сложения: в
результате ее работы на ленте записано подряд столько единиц,
сколько их было всего записано по обе стороны от звездочки
перед началом работы машины.
4. Показать на этом примере что, что машина Тьюринга – не
что иное, как некоторое правило (алгоритм) для преобразования
слов алфавита SQ, то есть конфигураций.
5.Верно ли утверждение, что любую задачу из бесконечного
множества задач можно выразить (закодировать) некоторым
словом некоторого алфавита, а решение задачи – каким-то
другим словом того же алфавита.
6. Как получить функцию, заданную на некотором
подмножестве множества всех слов выбранного алфавита и
принимающую значение в множестве всех слов того же
алфавита.
7. Единый способ, позволяющий в конечное число шагов
«вычислять» значения построенной функции для любых
значений аргумента из ее области определения – это …. .
12. Программное и мультимедийное сопровождение учебных
занятий (в зависимости от содержания дисциплины):
- программа демонстрирующая работу машины Тьюринга.
- инструментальные средства машинной реализации алгоритмов.
13. Перечень специализированных аудиторий, кабинетов и
лабораторий.
№ корпуса
№8
№8
№8
№8
№8
№8
№1
№ аудитории
103
205
207
209
304-311
406-409
222,223
Aeyrwbb
компьютерный класс
компьютерныйкласс
компьютерный класс
компьютерный класс
компьютерный класс
компьютерный класс
компьютерный класс
№1
№1
интернет-класс
электронный зал
209
102
. ГЛОССАРИЙ
лоссарий по дисциплине __Теория алгоритмов____________________
На русском языке
1
Алгоритм – точное
предписание,
определяющее
вычислительный
процесс, ведущий от
варьируемых данных к
искомому результату
Адрес – место
размещения
минимального
неделимого набора
данных в устройствах
памяти; порядковый
номер байта в памяти
Адресация –
установление
соответствия между
множеством
однотипных объектов и
множеством их адресов
Адресное пространство
– диапазон адресов,
определяется
количеством битов,
которое отводится в
процессоре для
представления адресов
Запись – сложная
структура данных,
содержащая элементы
На казахском
языке
2
Алгоритм
На английском
языке
3
Algirithm
Адрес
Address
Адрестеу
Addressing
Адрестей көлемі
Address space
Жазу
Record
различных типов
Двоичный код – код, в
словах которго
используются только
двоичные цифры
Данные – набор
информации,
представленный в виде
кодовой записи
Конец файла –
управляющий символ,
отмечающий последний
байт файла
Метка – обозначение
места в программе, на
которые могут
ссылаться инструкции
переходов
Резервировать –
выделение свободной
памяти для размещения
даных
Структура данных –
способ объединения
данных различного
типа в один объект
Стек – структура
данных, в которой
новый элемент
записывается в ее
начало и очередной
элемент выбирается из
начала
Функция – часть
алгоритма, Выделенная
в общую процедуру
Очередь- структуры
данных, организованные
по принципу «первым
пришел – первым ушел»
Екілік код
Мәліметтер
Файл соңы
Binary code
Data
End of file
Белгі
Label
Резервтеу
Allocate
Мәліметтер
құрылымы
Data structure
Стек
Stack
Функция
Function
Кезек
Queue
Операнд –
объект,участвующий в
некоторой операции
Оператор – отдельная
инструкция языка
программирования
Указатель –
специальный тип
данных, хранящий адрес
объекта в памяти
Сложность алгоритма –
характеристика
алгоритма,
определяющая
зависимость времени
выполнения программы
, описывающей алгртим,
от объема
обрабатываемых
данных
Операнд
Operand
Оператор
Operator
Көрсеткіш
Pointer
Алгоритм
күрделілігі
Algorihtm
complexity
Download