Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ФОПФ основная.doc
Скачиваний:
6
Добавлен:
15.11.2019
Размер:
286.21 Кб
Скачать

УТВЕРЖДАЮ

Проректор по учебной работе

Д. А. Зубцов

1 июня 2012 г.

Программа

по дисциплине ИНФОРМАТИКА (алгоритмы и алгоритмические языки). Основной курс

по направлению подготовки:

010900 «Прикладные математика и физика»

факультеты: ФОПФ, ФМБФ

кафедра: информатики

курс: I

семестр: 1

Зачетные единицы – 4

Трудоемкость: базовая часть – 2 зач. ед.;

вариативная часть – 2 зач. ед.,

часть по выбору студента – 0 зач. ед.:

лекции: – 34 (час.) Экзамен – нет

практические (семинарские) Зачет дифф. – 1 сем.

занятия: – 34 (час.) Две контрольные работы

лабораторные занятия: – 34 (час.) Самостоятельная работа

Всего аудиторных часов – 102

Программу составили: академик РАН В. П. Иванников,

к.ф.-м.н., доцент П. Н. Коротин

д.ф.-м.н., профессор В. В. Прут

Программа обсуждена на

заседании кафедры информатики

29 мая 2012 г.

Заведующий кафедрой,

чл.-корр. РАН И. Б. Петров

Компетенции обучающегося, формируемые в результате освоения дисциплины: ОК-10, ОК-11, ОК-12, ОК-13, ПК-6, ПК-12, ПК-14

Структура преподавания дисциплины.

  1. Язык программирования С. История языка. Объекты языка. Константы. Переменные. Типы данных. Массивы. Указатели. Массивы указателей. Указатели и многомерные массивы. Наборы символов ASCII, Unicode; кодовые страницы. Символьные и строковые типы данных. Структуры. Битовые поля. Объединения. Инициализация всех типов переменных. Преобразование типов. Определение размера данных. Операции: арифметические, логические, отношения. Приоритеты операций. Операторы присваивания, условных и безусловных переходов, цикла, дополнительные. Структура программы. Функции. Способы передачи параметров. Прототипы функций. Указатели на функции. Рекурсия. Библиотечные функции. Функции ввода-вывода. Файлы. Классы памяти. Области действия переменных. Динамическое распределение памяти. Динамические матрицы. Оператор определения типа. Препроцессор. Включение файлов. Макроподстановка. Среды программирования (Microsoft Visual Studio и др.). Методы отладки программ.

  2. Рекурсивные и итеративные алгоритмы. Индукция и рекурсия. Рекурсивные методы в программировании. Примеры рекурсивных подпрограмм.

  3. Классические алгоритмы. Перебор и методы его сокращения, перебор с возвратом. Динамическое программирование. «Жадные» алгоритмы.

  4. Алгоритмы арифметики. Системы счисления. Наибольший общий делитель. Простые числа: генерация и проверка на простоту. Каноническое разложение. Алгоритмы для больших чисел.

  5. Алгоритмы сортировки данных. Сортировки: включением, выбором, обменом. Быстрая сортировка. Пирамидальная сортировка. Сортировка слиянием. Сравнение методов сортировки.

  6. Структуры данных. Основные определения и функции. Представление в памяти. Связанные списки. Сортировка списков. Стеки. Очереди. Деревья. Способы обхода двоичного дерева, их рекурсивные и итеративные реализации. Сортировка с помощью дерева.

  7. Алгоритмы поиска. Последовательный поиск. Поиск в бинарном дереве поиска. Сбалансированные деревья. АВЛ-дерево. Базовые операции и их реализация. Хеширование. Методы построения хеш-функций. Разрешение коллизий. Сравнение скоростей поиска.

  8. Алгоритмы алгебры логики. Элементарные логические операции. Таблицы истинности. Алгебраические свойства элементарных операций. Нормальные формы. Полные системы функций. Базисы.

  9. Комбинаторные алгоритмы. Генерация комбинаторных объектов: перестановок, сочетаний, размещений. Генерация разбиений числа.

  10. Алгоритмы на графах. Представление графов. Поиск в глубину и в ширину. Кратчайшие пути. Циклы: эйлеров и гамильтонов.

  11. Алгоритмы вычислений на строках. Точное совпадение: классические методы. Приближенный поиск подстрок.

Учебно-методическое и информационное обеспечение дисциплины.