Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация вычислений НИУ ВШЭпрогр 2014_15.doc
Скачиваний:
9
Добавлен:
08.02.2015
Размер:
294.4 Кб
Скачать
  1. Содержание дисциплины

Формы и методы проведения лекционных занятий предусматривают изложение материала с использованием презентаций, а также оперативный контроль усвоения знаний путем письменного опроса на каждом занятии.

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

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

  1. Основы алгоритмизации. Стандартные алгоритмы.

Содержание тем

Лекции

  1. Три подхода к составлению алгоритмов и программ. Преимущества и недостатки. Определение структурного программирования. Постановка задачи. Общий вид постановки задачи. Метод решения задачи. Внешняя спецификация. Алгоритм. Программа. Основные алгоритмические структуры (конструкции). Пример применения систематического подхода к составлению алгоритма и программы (решение линейного уравнения). (2час)

  2. Сравнение различных способов записи алгоритма (блок-схема, псевдокод, диаграмма Нейсси-Шнейдермана). Свойства алгоритмов: определенность, конечность, результативность, универсальность, правильность и надежность. Общий вид алгоритма на псевдокоде. Понятие переменной. Классификация команд. Базовые операции и базовые структуры. Операция присваивания. Операция ввода. Операция вывода. Основные алгоритмические конструкции. Простая последовательность действий. Условная конструкция (выбор). Простейшая, расширенная условная конструкция, выбор. Циклы. От … до (со счетчиком). (2час)

  3. Цикл-пока (с предусловием). Цикл-до (с постусловием). Взаимозаменяемость циклов «пока» и «до». (3час)

Семинары

  1. Поиск максимального элемента и его номера в одномерном массиве из n элементов. Поиск максимума при помощи обращения по индексу. Поиск минимального по модулю элемента в одномерном массиве из n элементов. Поиск минимального среди элементов одномерного массива a[1:n], удовлетворяющих условию x<=a[i]<y и его номера. Особенности поиска минимума (максимума) при дополнительном условии. Формирование нового массива с известным числом элементов. Формирование нового массива с неизвестным числом элементов. (4часа)

  2. Вычисление двух новых массивов неизвестной длины. Удаление путем сдвига. Использование законов де Моргана для отрицания условий, содержащих неравенства и логические связки (или, и). Перестановка значений переменных. Алгоритмы удаления. (2чаc).

  3. Алгоритмы вставки. Итерационные алгоритмы. Вывод рекуррентного отношения. Использование циклов с предусловием и постусловием при записи итерационных алгоритмов. (2час).

  4. Алгоритмы с досрочным выходом из цикла. Использование логической переменной для организации досрочного выхода из цикла. Формирование массива, содержащего все различные элементы исходного массива по одному разу (постановка задачи, алгоритм, программа, трассировка). Поиск минимального элемента среди элементов заданной целочисленной матрицы, отсутствующих в заданном одномерном массиве(постановка, алгоритм). (2час).

  5. Использование алгоритма с досрочным выходом из цикла для обработки матрицы. (2часа).

(7ч. лекций +12ч. семинаров)

  1. Язык Pascal. Основные сведения.

Содержание тем

Лекции

  1. Язык Pascal. Алфавит языка и особенности использования символов. Структура программы. Идентификаторы и служебные слова. Описание переменных. Классификация типов. Описание констант. Описание типов. Операторы вывода. Обзор типов. Форматный вывод. (1 час).

  2. Ввод данных с клавиатуры. Стандартные процедуры и функции. Арифметические и логические операции. Операции отношения. Простые и составные операторы. (1 час).

Семинары

  1. Анализ программы на языке Pascal. (2час).

  2. Язык Паскаль. Использование стандартных математических функций при кодировании операторов присваивания. Кодирование алгоритмов на языке Паскаль. Вычисление суммы элементов массива, расположенных между первым и последним отрицательным элементом (включительно). (2час).

(2ч. лекций +4ч. семинаров)

  1. Конструкции языка Pascal.

Содержание тем

Лекции

  1. Условная конструкция в языке Pascal. Простейшая условная конструкция. Расширенная условная конструкция. Пример: программа для решения квадратного уравнения. (1 час).

  2. Конструкция выбора. Циклы. Цикл от… до (со счетчиком). Моделирование цикла с шагом отличным от 1 и -1 в языке Pascal. Пример: вычисление заданного количества чисел Фибоначчи. Цикл-пока (с предусловием). Цикл-до (с постусловием). (2 часа).

  3. Пример использования цикла-до: метод половинного деления. (1 час).

Семинары

  1. Условная конструкция (if-then-else). Алгоритмы разветвляющейся структуры. Вычисление значения функции по формуле (постановка и алгоритм). Вычисление номера четверти, которой принадлежит точка с заданными координатами x, y. (2 час).

  2. Алгоритмы циклической структуры. Понятие трассировки. Поиск среднего арифметического положительных элементов последовательности чисел R1, R2, …, Rn. (2час).

(4ч. лекций +4ч. семинаров)

  1. Стандартные типы данных в языке Pascal.

Содержание тем

Лекции

  1. Порядковые типы. Перечислимый тип. Интервальный тип. (1 час).

  2. Массивы. Описание массива. Матрицы. Перемножение матриц. Использование методов сортировки при обработке матриц. Ввод и вывод матрицы. (2 часа).

  3. Обработка целых чисел. Надежный ввод данных. Разбиение числа на цифры с использованием функций div, mod. Алгоритмы с досрочным выходом из цикла. Кванторы. Использование кванторов в постановке и методе решения задачи. Формирование массива, содержащего все повторяющиеся элементы исходного массива. Проверка того, что элемент не повторяется в массиве. Подсчет числа повторов каждого элемента массива. (2 часа).

Семинары

  1. Алгоритмы сортировки (метод установки). (1 час).

  2. Сортировка методом пузырька. Сравнение методов. Поиск заданного количества максимальных элементов с использованием сортировки. Обработка матриц. Ввод и вывод матрицы. Определение индексов элементов матрицы, расположенных на, над и под главной и побочной диагональю. Диагонали в прямоугольной матрице. Вычисление количества чётных элементов расположенных на побочной диагонали матрицы (3 час).

(5ч. лекций + 4ч. семинаров)

  1. Процедуры и функции.

Содержание тем

Лекции

  1. Процедуры и функции. Описание процедур и функций. Раздел описаний процедуры или функции. Параметры-переменные и параметры-значения. Формальные и фактические параметры. (2 часа).

  2. Параметры-константы. Локальные и глобальные переменные. Побочные эффекты при изменении глобального параметра в теле подпрограммы. Рекурсия. Итерационный и рекурсивный алгоритм вычисления факториала. Трассировка рекурсивной функции. Опережающее объявление. Слияние упорядоченных массивов. (2 часа).

Семинары

  1. Процедуры и функции. Подсчет числа размещений с использованием функции вычисления факториала. Вычисление минимума из максимальных элементов строк матрицы с использованием функции. (1час).

  2. Формирование нового массива, содержащего повторяющиеся элементы исходного массива с одним вхождением с использованием процедуры. Программа с использованием функции для вычисления нового массива, содержащего элементы тех строк матрицы, номера которых отсутствуют в заданном одномерном массиве. (1час).

  3. Программа с использованием подпрограммы для вычисления одномерного массива, содержащего заданное число наименьших элементов среди элементов квадратной целочисленной матрицы, расположенных ниже главной диагонали. (2час).

(4ч. лекций + 6ч. семинаров + 2ч. контрольная работа)

  1. Строки. Файлы. Записи. Тип «множество».

Содержание тем

Лекции

  1. Символьный тип данных. Строковый тип данных. Стандартные процедуры для работы со строками. Стандартные функции для работы со строками. Решение задач обработки символьных строк. Правильность расстановки скобок в формуле. (2 часа).

  2. Удаление парных пробелов и подсчет количества слов. Выделение из массива символьных строк подстрок, не содержащих цифр. Записи (тип record). Оператор with. (1час).

  3. Файлы. Стандартные процедуры для работы с файлами. Стандартные функции для работы с файлами. (1час).

  4. Пример обработки файла записей: поиск самого дорогого набора с заданным весом. Множества. Операции с множествами. Алгоритм «Решето Эратосфена».(1 час).

Семинары

  1. Обработка символьных строк. Поиск символа с минимальным кодом. Удваивание русских букв в заданной символьной строке. (2час).

  2. Обработка символьных строк. Разбор примера выполнения лабораторной работы 6. (2час).

  3. Файлы. Поиск максимального отрицательного числа в типизированном файле. Построчное чтение текстового файла и подсчёт общего числа символов и кол-ва цифр. Записи. Создание файла записей. Поиск самого молодого студента в типизированном файле. (2час).

(5ч. лекций + 6ч. семинаров)

  1. Динамические структуры в языке Pascal.

Содержание тем

Лекции

  1. Статические и динамические переменные. Указатели. Типизированный указатель. Операция разыменования. Стандартные процедуры для работы с памятью. Использование указателей. Связанные списки. Основные типы связанных списков стек и очередь, линейные и циклические связанные списки, - одно- и двунаправленные списки. (2 часа).

  2. Формирование стека и очереди. Вывод списка на экран. Сортировка связного списка по убыванию методом пузырька. Формирование новой очереди из элементов списка кратных трём. Реверс списка. (2 часа).

Семинары

  1. Основные типы связанных списков. Линейный однонаправленный стек и очередь. Процедура создания стека. Вывод связанного списка на экран. Обработка связанных списков. Сортировка связанного списка методами установки. (4часа).

(4ч. лекций + 4ч. семинаров + 2ч. контрольная работа)

Лабораторный практикум

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]