Программа дисциплины алгоритмы программирования Содержание разделов дисциплины Базовые конструкции языка Паскаль
Вид материала | Программа дисциплины |
- Программа учебной дисциплины «Информатика и программирование» Программа дисциплины, 135.24kb.
- С. В. Элективный курс «Программируем на Паскале» общие вопросы самылкина Н. Н. Программа, 503.53kb.
- Структура программы языка Турбо Паскаль Программа на языке Турбо Паскаль имеет вид, 792.5kb.
- Программа дисциплины "Технологии интерактивных систем" Направление, 46.72kb.
- Лекция №3. Состав и работа системы программирования Турбо Паскаль Язык программирования, 84.43kb.
- В. А. Атрощенко и др. Лекции по общей информатике. Краснодар, 2010, Кубгту, 33.55kb.
- Рабочая программа по курсу "Программирование на языках высокого уровня" Факультет экономический, 113.19kb.
- Курс, 1-й семестр лекции (51 час), экзамен практикум на ЭВМ (68 часов), зачет (с оценкой), 24.4kb.
- Рабочей учебной программы дисциплины Основы математической обработки информации Цели, 12.08kb.
- Рабочая программа дисциплины Графы и алгоритмы Направление подготовки, 133.78kb.
ПРОГРАММА ДИСЦИПЛИНЫ
Алгоритмы программирования
Содержание разделов дисциплины
- Базовые конструкции языка Паскаль
- Программа на паскале.
- Оператор присваивания.
- Переменная. Раздел описания переменных.
- Тип. Раздел описания типов.
- Процедуры ввода/вывода.
- Работа с файлами
- Программа на паскале.
- Операторы языка паскаль
- Оператор ветвления
- Операторы цикла
- Оператор цикла с итератором
- Оператор цикла с предусловием
- Оператор цикла с постусловием
- Операторы контроля исполнения цикла
- Оператор цикла с итератором
- Оператор выбора
- Оператор безусловного перехода
- Оператор ветвления
- Массивы
- Использование массивов для организации данных
- Описание массивов
- Массивы переменной длины
- Использование массивов для организации данных
- Процедуры и функции
- Подпрограммы, концепции использования подпрограмм
- Описание процедур
- Описание функций
- Методы передачи параметров в процедуры и функции
- Рекурсия
- Подпрограммы, концепции использования подпрограмм
- Базовые алгоритмы обработки массивов данных
- Поиск минимума и максимума в массиве
- Поиск элемента по локальному критерию
- Изменение структуры массива
- Алгоритм изменения длины массива с копированием
- Поиск минимума и максимума в массиве
- Алгоритмы сортировки
- Квадратичные сортировки
- Сортировка пузырьком
- Сортировка выбором
- Сортировка обменом
- Сортировка пузырьком
- Сортировки за n log n
- Сортировка пирамидой
- Сортировка слиянием
- Быстрая сортировка
- Сортировка пирамидой
- Квадратичные сортировки
- Системы счисления
- Использование различных систем счисления
- Позиционные системы счисления
- Системы с положительным основанием
- Системы с отрицательным основанием
- Системы с переменным основанием
- Факториальная система счисления
- Фибоначчиева система счисления
- Факториальная система счисления
- Системы с положительным основанием
- Алгоритмы перевода чисел из одной системы счисления в другую
- Длинная арифметика, арифметические операции с числами в различных системах счисления
- Использование различных систем счисления
- Программы без массивов
Развитие техники программирования с использованием специальных задач, разработанных для решения без использования массивов.
- Обмен чисел
- Быстрое возведение в степень
- Наибольший общий делитель, алгоритм Евклида
- Обращение по модулю, расширенный алгоритм Евклида
- Разложение на множетели
- Работа с десятичной записью числа
- Число точек в окружности
- Период десятичной дроби
- Обработка массивов
Развитие техники программирования с использованием специальных задач, разработанных для решения с использованем массивов.
- Подсчет числа элементов по критерию
- Циклический сдвиг без использования вспомогательных массивов
- Вычисление значения многочлена
- Умножение многочленов
- Количество общих элементов в упорядоченных массивах
- Слияние упорядоченных массивов
- Пересечение упорядоченных массивов
- Сумма упорядоченных массивов
- Общее число в трех упорядоченных массивах
- Двоичный поиск
- Задача о рюкзаке
- Рассечение по элементу
- Комбинаторные объекты
- Комбинаторные объекты
- Перестановки
- Сочетания
- Размещения
- Разбиения на слагаемые
- Разбиения на множества
- Разбиения на циклы
- Разбиения на упорядоченные множества
- Вектора из нулей и единиц
- Перестановки
- Подсчет числа комбинаторных объектов
- Прямое произведение множеств
- Биномиальные коэффициенты
- Числа Стирлинга первого и второго рода
- Прямое произведение множеств
- Перечисление комбинаторных объектов
- Перечисление элементов прямого пересечения
- Лексикографический порядок
- Наследованный лексикографический порядок, перечисление разбиений на подмножества
- Коды Грея
- Перечисление перестановок с отличием в одну транспозицию
- Перечисление элементов прямого пересечения
- Комбинаторные объекты
- Применение сортировок
- Сортировка чисел в массиве
- Поиск количества различных чисел
- Поиск гамильтонова пути на плоскости без самопересечений
- Сортировка чисел в массиве
- Конечные автоматы и обработка текста
- Конечный автомат
- Основы построения лексических анализаторов
- Конечный преобразователь
- Рекурсивный спуск и вычисление выражений
- Конечный автомат
- Абстрактные типы данных
- Стек
- Очередь
- Список, семейство списков
- Реализация АТД с использованием массивов, построение менеджера памяти на основе циклического списка свободных ячеек
- Использование стеков и очередей
- обратная польская запись, перевод в обратную польскую запись, вычисление значения выражения в обратной польской записи
- правильные скобочные последовательности
- числа с фиксированным набором простых множетелей
- обратная польская запись, перевод в обратную польскую запись, вычисление значения выражения в обратной польской записи
- Стек
- Базовые алгоритмы на графах
- Понятие графа
- Представление графа в памяти
- Обход графа в глубину
- Обход графа в ширину
- Компоненты связности и их построение
- Свойства обхода в глубину, использование обхода в глубину для построения декомпозиции графа
- Компоненты реберной двусвязности, мосты
- Компоненты вершинной двусвязности, точки сочленения
- Топологическая сортировка
- Компоненты сильной связности
- Компоненты реберной двусвязности, мосты
- Взвешенные графы
- Пути в графах
- Кратчайший путь между двумя вершинами во взвешенном графе
- Случай неотрицательных ребер, алгоритм Дейкстры
- Алгоритм Беллмана-Форда
- Поиск отрицательного цикла в графе
- Случай неотрицательных ребер, алгоритм Дейкстры
- Кратчайший путь между всеми парами вершин
- Алгоритм Флойда
- Перевзвешивание графа и использованием потеницалов
- Алгоритм Джонсона
- Алгоритм Флойда
- Остовное дерево, построение остовного дерева минимального веса
- Алгоритм Прима, связь с алгоритмом Дейкстры
- Алгоритм Краскала
- Алгоритм Прима, связь с алгоритмом Дейкстры
- Задача о максимальном паросочетании в двудольном графе
- Задача о максимальном потоке
- Алгоритм Форда-Фалкерсона
- Алгоритм Форда-Фалкерсона
- Понятие графа
Практические занятия
Наименование практических занятий |
Базовые конструкции языка паскаль |
Операторы языка паскаль |
Использование массивов в программах |
Процедуры и функции |
Базовые алгоритмы обработки массивов данных |
Алгоритмы сортировки |
Системы счисления |
Программы без массивов |
Обработка массивов |
Подсчет комбинаторных объектов |
Перечисление комбинаторных объектов |
Нумерация комбинаторных объектов |
Применение сортировок |
Конечные автоматы и обработка текста |
Рекурсивный спуск |
Абстрактные типы данных |
Применение поиска в ширину и поиска в глубину |
Поиск кратчайших путей в графе |
Декомпозиция графа |
Задачи типа Форда-Фалкерсона |