Типовая учебная программа для высших учебных заведений по направлению специальности 1-31 03 01-02 Математика

Вид материалаПрограмма

Содержание


Рекомендована к утверждению в качестве типовой
Пояснительная записка
Центральной идеей
Второй важнейшей идеей
Примерный тематический план
Программирования на языке паскаль
Основные операции над ними
III раздел. MATHCAD
Примерная тематика вычислительной практики
Подобный материал:

Министерство образования Республики Беларусь

Учебно-методическое объединение вузов Республики Беларусь
по естественнонаучному образованию


УТВЕРЖДАЮ

Первый заместитель Министра образования

Республики Беларусь

________________ А.И. Жук

«___» ___________ 2008 г.

Регистрационный № ТД-__________/тип.

Методы программирования и информатика


Типовая учебная программа

для высших учебных заведений по направлению специальности

1-31 03 01-02 Математика

(научно-педагогическая деятельность)



СОГЛАСОВАНО

Председатель УМО вузов Республики Беларусь по естественнонаучному образованию

_____________ В.В. Самохвал


«___» __________ 2008 г.



СОГЛАСОВАНО

Начальник Управления высшего и среднего специального образования


________________ Ю.И. Миксюк

«___» __________ 2008 г.


Первый проректор Государственного учреждения образования «Республиканский институт высшей школы»

________________ И.В. Казакова

«___» __________ 2008 г.


Эксперт-нормоконтролер

________________ С.М. Артемьева

«___» __________ 2008 г.




Минск 2008

Составители:

Галина Алексеевна Расолько, доцент кафедры численных методов и программирования Белорусского государственного университета, кандидат физико-математических наук, доцент;


Юрий Алексеевич Кремень, доцент кафедры численных методов и программирования Белорусского государственного университета, кандидат физико-математических наук, доцент.


Рецензенты:


Кафедра информационных технологий Учреждения образования «Белорусский государственный университет культуры и искусств» (заведующий кафедрой – кандидат физико-математических наук, доцент П.В. Гляков);

А.С. Кравчук, профессор кафедры теоретической механики Белорусского национального технического университета, доктор физико-математических наук, доцент.


РЕКОМЕНДОВАНА К УТВЕРЖДЕНИЮ В КАЧЕСТВЕ ТИПОВОЙ:

Кафедрой численных методов и программирования Белорусского государственного университета

(протокол № 8 от 6 марта 2008 г.);

Научно-методическим советом Белорусского государственного университета

(протокол № 3 от 27 марта 2008 г.);

Научно-методическим советом по математике и механике Учебно-методического объединения вузов Республики Беларусь по естественнонаучному образованию

(протокол № 3 от 10 апреля 2008 г.).


Ответственный за выпуск: Расолько Галина Алексеевна

Пояснительная записка

Начальные знания по информатике закладываются в школе. Однако, хотя возраст школьной информатики приближается к 30 годам, в целом указанное направление всё ещё находится в начальной стадии развития. Особо подчеркнём, что даже за этот сравнительно небольшой период содержимое курса менялось неоднократно, что во многом было обусловлено стремительным ростом возможностей вычислительной техники, появлением новых программных продуктов и развитием новых технологий программирования. Поэтому наша цель состояла в построении такого курса «Методы программирования и информатика», который помог бы в подготовке педагогов для современной школы, где компьютерная грамотность стала бы составляющей профессионального уровня учителя, а использование информационных технологий являлось бы одним из ключевых направлений процесса обучения. Наши будущие выпускники должны быть готовы к всевозможному применению ЭВМ в интересах учителя, начиная с организационной и контрольной поддержки во время урока и заканчивая разными видами домашней работы учителя, ибо компьютерная грамотность и информационная культура становится очередной ступенью в их интеллектуальном развитии.

Центральной идеей сквозного образования по "методам программирования и информатике" на педагогическом потоке является необходимость дать студентам тот набор знаний, который будет полезен им при работе со школьниками на уроках информатики. Именно этим и определяется выбор программных средств, поэтому в качестве базового языка программирования выбран язык Pascal. Осознано мы отказались от использования в качеств базового языка программирования языка С++, который гораздо сложнее Pascal и практически не используется в школе. Только ориентацией на использование в школе обусловлен и выбор математического пакета MathCad, а не более сложных пакетов, например, Mathematica или Maple. MathCad не только использует привычный способ математической записи уравнений, операций и графики, но и проводит все вычисления в автоматическом режиме, что позволяет с максимальной наглядностью и без особых трудностей использовать этот пакет при работе со школьниками. Изучение Word и Excel во многом обусловлено не только их широким использованием в школе при изучении текстового редактора и электронных таблиц, то и тем обстоятельством, что данные программные продукты фактически стали стандартом при работе на компьютере. Практически любому пользователю компьютера приходится сталкиваться с Word и Excel при повседневной работе на компьютере, т.е. де-факто эти продукты стали базовыми и необходимыми в информационном обществе.

Второй важнейшей идеей обучения является преемственность полученных знаний.

Третья важнейшая цель обучения - дать инструментарий студенту-математику для проведения трудоёмких расчётов и визуализации математических объектов, возникающих во всех курсах математического цикла.

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

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

Изучение дисциплины начинается на базе языка Turbo Pascal, который выбран в качестве учебного вследствие простоты его постижения. Тем не менее, Turbo Pascal позволяет отрабатывать классические приёмы программирования и современные программные технологии. Основной упор делается на то, что язык программирования – это средство, позволяющее решить задачу, которую надо предварительно сконструировать, а ещё ранее разработать алгоритм. Разработка алгоритмов является в какой-то мере творческой деятельностью. Однако существует ряд стандартных методов, приёмов и технологий, применяемых для упрощения этого процесса – что составляет предмет техники программирования, владение которой часто облегчает формулирование задач и дальнейшее конструирование эффективных программ их решения.

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

Программирование на Turbo Pascal завершается изучением основ методологии объектно-ориентированного программирования (ООП), таких как инкапсуляция, наследование, полиморфизм. Данная тема позволяет обобщить полученные в курсе знания и вывести их на новую более высокую ступень, подготовить студентов к работе с объектно-ориентированными языками программирования Visual Basic, Delphi (Object Pascal), C++, которые они будут изучать в дальнейшем.

Во второй части предлагается изучать фундаментальные алгоритмы и структуры данных. Студентами отрабатываются навыки алгоритмизации задач по обработке структур данных, в том числе связанных динамических структур: списков, стеков, очередей и деревьев. Из изучаемых фундаментальных алгоритмов отметим алгоритмы сортировки данных, поиска элемента, широкий спектр логико-комбинаторных задач. Алгоритмы сортировок – идеальный объект для иллюстрации многих принципов программирования и ситуаций, встречающихся в других задачах. Важнейшей частью изучения этой темы является сравнение алгоритмов сортировки по нескольким критериям, проведение математического анализа этих алгоритмов с последующей проверкой на компьютере для типовых модельных задач. Анализ алгоритмов сортировки важен для правильного выбора способа решения поставленной задачи, учитывающего особенности конкретной задачи, а также для развития аналитических и творческих способностей студентов.

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

В рамках изучения информационных технологий и подготовки к проведению занятий в школе, в четвертой части предлагается изучение электронной таблицы Microsoft Excel и текстового редактора Microsoft Word. Использование электронных таблиц при решении задач математики предлагает новый способ мышления и стимулирует интеллектуальное развитие. Подобраны задачи, опирающиеся на решение задач численного анализа. Excel даёт возможность «программировать без программирования», используя механизм формул и стандартные возможности пакета. Здесь же изучаются возможности создания собственных программных процедур на основе встроенного языка Visual Basic for Application. Знакомство с текстовым редактором будет полезно при написании курсовых и дипломных работ, а также для работы со школьниками.

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

Программа составлена с учетом межпредметных связей и программ по смежным дисциплинам.

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

знать:
  • современные информационные технологии;
  • методы решения научно-технических и информационных задач;

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

Объём курса (дневное отделение). Учебный курс рассчитан на 4 семестра общим объёмом 560 часов, аудиторных 272, в том числе 82 часа лекций, 190 часов лабораторных и практических занятий на персональных компьютерах.

Предусмотрено прохождение вычислительной практики в объёме 144 часа, которая проводится параллельно с изучением дисциплины «Методы программирования и информатика».

Учебный материал курса «Методы программирования и информатика» разделен на несколько базовых разделов, каждый из которых содержит ряд тем, рассматриваемых в ходе лекций и на лабораторных занятиях.

Примерный тематический план

№ тем

Наименование тем

Аудиторные часы

Всего

Лекции

Лабораторные и практические занятия

1.1.

Введение

8

2

6

1.2.

Алгоритмизация

14

6

8

1.3.

Средства алгоритмического языка Паскаль

4

4

-

1.4.

Введение в систему типов

2

2

-

1.5.

Простые данные языка Паскаль и работа с ними

12

6

6

1.6

Элементарные средства по работе с данными

4

2

2

1.7.

Базовые операторы языка и методы программирования

8

4

4

1.8.

Структуры данных и работа с ними средствами алгоритмического языка

12

6

6

1.9.

Механизмы структурирования программ

16

8

8

1.10.

Файлы в языке Паскаль

12

6

6

1.11.

Специальные средства языка Паскаль.

16

8

8

1.12.

Стандартные приемы работы с устройствами IBM-PC

8

4

4

1.13.

Графическое программирование

10

6

4

1.14.

Методологии разработки больших программных комплексов

10

4

6

2.1.

Технологии реализации алгоритмов

28

2

26

2.2.

Сортировка данных

12

4

8

2.3.

Динамические структуры данных

16

4

12

2.4.

Задачи поиска элемента в разных структурах данных

4

2

2

2.5.

Методы разработки алгоритмов

24

2

22

3.1.

Характерные черты MathCad

2

-

2

3.2.

Архитектура MathCad и его интерфейс

2

-

2

3.3.

Средства редактирования

2

-

2

3.4.

Векторы и матрицы

4

-

4

3.5.

Встроенные операторы и функции

4

-

4

3.6.

Программирование

4

-

4

3.7.

Решение уравнений и систем

4

-

4

3.8.

Файлы данных

2

-

2

3.9.

Анимация

2

-

2

4.1.

Основные понятия электронных таблиц

2

-

2

4.2.

Данные. Средства редактирования

4

-

4

4.3.

Ряды данных. Адресация

4

-

4

4.4.

Знакомство с графическими возможностями

6

-

6

4.5.

Работа с базами данных

8

-

8

4.6.

Excel и другие приложения Windows

2

-

2

ИТОГО

272

82

190

содержание учебного материала

I раздел. ТЕОРИЯ И ПРАКТИКА
ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ПАСКАЛЬ


1.1. Введение

Понятие о программировании, как о науке. Ключевые положения. Развитие языков программирования. Эволюция языка Паскаль. Система программирования Turbo Pascal. Интегрированная среда. Упрощенная модель компилятора.

Арифметика ЭВМ. Системы счисления. Формы представления данных.

1.2. Алгоритмизация

Алгоритмы. Основные этапы решения задач на ЭВМ. Способы представления алгоритмов. Блок-схемы. Структограммы. Алгоритмические языки. Структурное программирование и точность программ. Структурные блок-схемы. Основные конструкции структур управления. Структуры управления и их реализация в программе.

Методы разработки алгоритмов и программ: проектирование сверху-вниз, снизу-вверх, модульное программирование, структурное кодирование. Тестирование и отладка алгоритмов и программ.

1.3. Средства алгоритмического языка Паскаль

Общая характеристика алгоритмических языков. Понятие синтаксиса и семантики языка программирования. Способы формального описания языков программирования на базе языка Паскаль.

Базовые элементы языка Паскаль. Набор символов, лексемы, разделители. Общая структура Паскаль программы.

1.4. Введение в систему типов

Типы данных. Константы и переменные. Абсолютные константы.

Система типов: их описание, реализация в памяти ПК, действия с данными заявленного типа.

1.5. ПРОСТЫе ДАНнЫе языка Паскаль и РАБОТА с ними

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

1.6. Элементарные средства по работе с данными

Присваивание значений данным. Простейшее описание процедур и функций. Знакомство с файловой системой. Текстовые стандартные файлы. Ввод данных разных типов. Вывод данных разных типов. Перенаправление стандартного ввода-вывода.

1.7. Базовые Операторы языка и методы программирования

Классификация операторов.

Простые операторы. Оператор присваивания. Совместимость по присваиванию. Оператор безусловного перехода, пустой оператор, составной оператор.

Структурные операторы. Условный оператор. Методы и приемы программирования. Оператор варианта. Операторы повторения. Программирование циклов с известным числом повторений, циклов с предусловием, с постусловием. Обработка последовательностей. Итерационные алгоритмы высшей математики.

1.8. Структуры данных и работа с ними средствами
алгоритмического языка

Проблемы отображения Абстрактных Структур Данных на Структуры Данных Хранения.

Порядковые типы. Массивы данных, типизированные константы-массивы. Действия над элементами массива.

Строковый тип. Редактирование строк при помощи встроенных подпрограмм.

Множественный тип, представление, действия, реализация.

Записи – простейшее описание. Оператор присоединения.

Изменение/приведения типов и значений.

1.9. Механизмы структурирования программ

Полное описание процедур и функций. Параметры. Принцип локализации. Побочный эффект. Рекурсии и итерации. Процедурные типы. Переменные процедурных типов. Программирование алгоритмов с использованием подпрограмм. Модули. Модули пользователя. Эффективность программ.

1.10. Файлы в языке Паскаль

Схема типов языка. Записи. Записи с вариантами.

Файлы. Физические модели. Алгоритмическая реализация. Файловые типы. Типизированные файлы. Операции над файлами. Алгоритмы работы с файлами: создание, корректировка, чтение, обработка ошибок ввода-вывода. Текстовые файлы. Специфика обработки. Нетипизированные файлы. Ввод-вывод простых и структурированных данных.

1.11. Специальные средства языка паскаль

Модуль System. Динамическая память. Указатели, ссылочные данные. Средства для работы с адресами. Размещение и освобождение динамических переменных. Управление состоянием Неар, анализ состояния Неар. Программирование алгоритмов с использованием указателей. Работа с динамическими массивами: одномерными и двумерными. Введение в связанные динамические структуры данных: линейные списки, стеки, очереди, деревья.

Модуль DOS. Работа с процедурами и функциями операционной системы, запуск внешних программ. Прерывания.

1.12. Стандартные приемы работы с устройствами IBM-PC

Основные положения.

Модуль CRT. Работа с клавиатурой, звуком. Управление курсором. Работа в текстовом видеорежиме. Текстовые окна. Видеодоступ.

1.13. Графическое программирование

Основные положения. Ресурсы модуля GRAPH. Базовые процедуры и функции.

Управление параметрами изображений.

Построение графических примитивов.

Работа с текстом.

Экран и окно.

Манипулирование фрагментами образов. Анимация.

Файлы образов фрагментов экрана.

1.14. Методологии разработки больших
программных комплексов

Структурная методология разработки программ. Цели, основные принципы структурной методологии, модульное программирование.

Объектно-ориентированная методология разработки программ (ООП). Простейшие положения. Иерархия объектов. Механизмы объявления объектов. Механизмы определения методов.

II раздел. ОТОБРАЖЕНИЕ АБСТРАКТНЫХ СТРУКТУР ДАННЫХ НА СТРУКТУРЫ ДАННЫХ ХРАНЕНИЯ.
ОСНОВНЫЕ ОПЕРАЦИИ НАД НИМИ


2.1. ТЕХНОЛОГИИ РЕАЛИЗАЦИИ АЛГОРИТМОВ

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

Объектно-ориентированные средства языка Turbo Pascal. Основные принципы: инкапсуляция, наследование, полиморфизм.

Описание объектов. Поля и методы. Виртуальные и динамические методы. Наследование. Экземпляры объектов.

Совместимость объектных типов. Совместимость между экземплярами объектов. Совместимость между указателями на экземпляры объектов. Совместимость между формальными и фактическими параметрами.

Динамические и виртуальные объекты. Конструкторы. Освобождение объектов. Деструкторы. Обработка ошибок при работе с динамическими объектами.

Объекты и модули.

2.2. Сортировка данных

Внутренняя и внешняя сортировки. Сортировка массивов «іn sіtu». Классы алгоритмов сортировок. Базовые алгоритмы. Улучшенные алгоритмы. Характеристики методов сортировки, анализ их ресурсов.

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

Сортировка массивов за линейное время. Карманная сортировка. Сортировка методом подсчета.

Сортировка последовательных файлов. Простое слияние. Естественное слияние. Сбалансированное многопутевое слияние. Улучшенные методы: многофазная и каскадная сортировка.

2.3. Динамические структуры данных

Абстрактные типы данных. Общие сведения о динамических структурах данных.

Списки и их классификация. Работа с данными типа список. Однонаправленные и двунаправленные списки. Сортировка элементов списка. Слияние упорядоченных списков. Практическая работа с данными типа список.

Стеки. Решение задач с использованием стеков.

Очереди. Очереди с приоритетом. Очереди с двухсторонним доступом. Решение задач с использованием очереди.

Деревья. Основные понятия и определения. Представление дерева последовательным и связным методом хранения. Бинарные деревья. Создание идеально сбалансированного дерева. Создание дерева поиска. Обход дерева. Решение задач с использованием бинарных деревьев.

Сильно ветвящиеся деревья. Решение задач с использованием сильно ветвящихся деревьев.

2.4. задачи поиска элемента в разных структурах данных

Последовательный поиск в массиве, в списке, в дереве.

Бинарный поиск в массиве, в списке, в дереве поиска.

Вставка элемента в массив, в список, в дерево.

Уничтожение элемента в массиве, в списке, в дереве.

Алгоритмы поиска медианы последовательности.

2.5. Методы разработки алгоритмов

Алгоритмы типа «разделяй и властвуй». Рекурсивные и не рекурсивные алгоритмы. Задача о ханойских башнях: рекурсивная реализация и реализация при помощи дерева. Задача на получение перестановки чисел (рекурсивный и не рекурсивный варианты решения).

Фракталы. Алгебраические, геометрические, стохастические фракталы. Фрактальные множества: множества Мандельброта и множества Жулиа. Модели магнетизма. Ньютоновские фракталы. Примеры стохастических фракталов – папоротник. Конструктивные фракталы: множества Кантора, фракталы Серпинского, Гильберта и другие.

«Жадные» алгоритмы. Задача на счастливые билеты. Решение задачи получения сдачи эвристическим методом и методом полного перебора всех возможных вариантов рекурсивным методом и с помощью сильно ветвящегося дерева.

Алгоритмы с возвратом. Задача обхода конем шахматной доски. Задача о восьми ферзях. Задача о восьми ладьях. Задача об устойчивых браках.

Поиск с возвратом и локальный поиск. Задача о рюкзаке на множестве положительных чисел. Задача о рюкзаке на множестве вещественных чисел.

III раздел. MATHCAD

3.1. Характерные черты MathCad

Интерфейс, численные методы, символьные подсчеты, построение графиков, характеристики текста и рабочего документа, особенности системы программирования.

3.2. Архитектура MathCad и его интерфейс

Меню, палитры, простые просчеты, ввод текста, области, определение переменных, дискретные переменные, глобальные переменные, определение функций, таблицы, форматирование таблиц, построение графиков и поверхностей, справка, электронные книги, редактирование формул.

3.3. Средства редактирования

Выделение и копирование области, защита подсчетов, руководство подсчетами, форматирование выражений и значений, математические шрифты.

3.4. Векторы и матрицы

Создание, заполнение, нижние и верхние индексы. Присваивание массивам значений, удаление/вставка элемента.

3.5. Встроенные операторы и функции

Подсчет сумм, произведений, производных, интегралов. Пользовательские операторы. Кусочно-непрерывные функции (if, until).

3.6. Программирование

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

3.7. Решение уравнений и систем

Численное и символьное решение алгебраических уравнений и систем уравнений или неравенств. Решение дифференциальных уравнений. Особенности символьной обработки.

3.8. Файлы данных

Функции записи/считывания скалярных данных и матриц.

3.9. Анимация

Создание анимации, воспроизведение анимационного клипа.

IV раздел. MS Excel

4.1. Основные понятия электронных таблиц

Рабочее поле, указатель ячейки, строки, столбцы, листы. Выделение столбцов, блоков, таблицы. Работа с документами (сохранение книги, создание нового документа, открытие/закрытие рабочих книг). Меню. Индивидуальная настройка программы. Работа с окнами.

4.2. Данные. Средства редактирования

Типы данных. Использование функций. Элементы форматирования данных. Форматы числовых данных. Операции со строками, столбцами, блоками, со склеенными листами. Оформление таблиц (выравнивание, ориентация текста, изменение фона, шрифта, стиля, цвета и т.п.). Вставка/удаление данных, специальная вставка. Защита ячеек.

4.3. Ряды данных. Адресация

Автозаполнение ячеек, абсолютная, относительная и смешанная адресация ячеек и блоков. Использование формул массивов. Функции по работе с текстовой информацией. Табулирование функций. Виды ошибок в формулах. Отслеживание зависимостей.

4.4. Знакомство с графическими возможностями

Графики, диаграммы, редактирование элементов диаграммы.

Графическое решение уравнений и систем уравнений.

Численное решение уравнений с элементами программирования.

Численное решение дифференциальных уравнений. Создание функций пользователя.

4.5. Работа с базами данных

Создание, поиск записей, сортировка данных, фильтрация данных. Анализ данных, сводные таблицы.

4.6. Excel и другие приложения Windows

Связывание и внедрение объектов. Обновление, разрыв и изменение связи.

Информационная часть

Литература

Основная:

  1. Расолька Г.А., Крэмень Ю. А. Паскаль: тэорыя і практыка праграміравання: вучэб.-метад. дапам. –  Мн.: БДУ, 2008.
  2. Расолька Г.А., Шыбут А.С., Кузняцова Л.Л. Заданні і метадычныя распрацоўкі лабараторных заняткаў па курсу “Метады праграміраваня і інфарматыка”. – Мн.: БДУ, 2001.
  3. Расолька Г.А., Кузняцова Л.Л., Крэмень А.В., Крэмень Ю.А. Метады праграміравання і інфарматыка. Заданні і метадычныя рэкамендацыі па вылічальнай практыцы. – Мн.: БДУ, 2006.
  4. Расолька Г.А., Кузняцова Л.Л., Крэмень Ю.А. Метады праграміравання і інфарматыка: заданні і метадычныя рэкамендацыі па вылічальнаму практыкуму. – Мн.: БДУ, 2006.
  5. Расолька Г.А., Кузняцова Л.Л., Крэмень Ю.А. Метады праграміравання і інфарматыка: заданні і метадычныя рэкамендацыі па матэматычнаму практыкуму. – Мн.: БДУ, 2006.
  6. Расолько Г.А., Кремень Ю.А. Система тестов по математике и информатике на базе пакета MATHCAD 2000. В трёх частях. Часть 1. Основы работы в MATHCAD 2000. – Мн.: БГУ, 2001.
  7. Расолько Г.А., Кремень Ю.А., Третьякова Л.Г. Система тестов по математике и информатике на базе пакета MATHCAD 2000. В трёх частях.  Часть 2. Решение задач высшей математики. – Мн.: БГУ, 2001.
  8. Расолько Г.А., Кремень Ю.А., Бровко Н.В., Третьякова Л.Г. Система тестов по математике и информатике на базе пакета MathCAD 2000. В трёх частях.  Часть3. Контрольные и тестовые задания. – Мн.: БГУ, 2002
  9. Расолько Г.А., Кремень Е.В., Кремень Ю.А. Программирование. Использование Excel для выполнения математических расчётов. – Мн.: БГУ, 2002.
  10. Марченко А.И., Марченко Л.М. Программирование в среде Turbo Pascal 7.0. – Киев: ЗЕК+, М. ДЕСС, 1999.
  11. Павловская Т.А. Паскаль. Программирование на языке высокого уровня. Учебник для вузов. – СПб.: Питер. 2004.
  12. Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль (версия 5.5). – М.: МАИ, 1992.
  13. Ускова О.Ф. Программирование алгоритмов обработки данных. – СПб.: БХВ–Петербург, 2003.
  14. Фаронов В.В. Turbo Pascal 7.0. Начальный курс. – М.: «Нолидж», 1997.

Дополнительная:

  1. Аляев Ю.А., Гладков В.П., Козлов О.А. Практикум по алгоритмизации и программированию на языке Паскаль. М.: Финансы и статистика. 2005.
  2. Ахо А.В., Хопкрофт Д., Ульман Д.Д. Структуры данных и алгоритмы. Уч. Пос.– М.: Издательский дом «Вильямс», 2000.
  3. Брудно А.Л., Каплан Л.И. Московские олимпиады по программированию. – М.: Наука, 1990.
  4. Вирт Н. Алгоритмы + структуры данных = программы. – М.: Мир, 1985.
  5. Гусева А.И. Учимся информатике: задачи и методы их решения. М.: Диалог-МИФИ, 2001.
  6. Долинский М. С. Алгоритмизация и программирование на Turbo Pascal: от простых до олимпиадных задач. – СПб.: Питер, 2005.
  7. Кнут Д. Искусство программирования для ЭВМ. В 3т. М.: Вильямс, 2000. Т.1-3.
  8. Кормен Т., Лейзерсон Ч., Ривест Р., Штайн К. М. Алгоритмы. Построение и анализ, 2-е издание.– Издательский дом "Вильямс", 2005.
  9. Культин Н. Б.  Turbo Pascal в задачах и примерах: для начинающих программистов. – СПб.: БХВ-Петербург, 2000.
  10. Мизрохи С.В. Тurbo Pascal и объектно-ориентированное программирование. – М.: Финансы и статистика, 1992.
  11. Морозов А.В. Введение в теорию фракталов.– Москва-Ижевск. Ин-т компьютерных исследований, 2002.
  12. Немнюгин С. А. Turbo Pascal. Практикум. – СПб.: Питер. 2005.
  13. Пайтген Х.-О., Рихтер П.Х. Красота фракталов. Образы комплексных динамических систем. – М.: Мир, 1993.
  14. Программирование на языке Паскаль: Задачник /под ред. Усковой О.Ф. – СПб.: Питер. 2002.
  15. Фаронов В.В. Turbo Pascal 7.0. Практика программирования. – М.: «Нолидж», 1997.

Примерная тематика лабораторных занятий


Тема 1. Арифметика ЭВМ (6 часов).

Переводы чисел. Представление информации в памяти компьютера. Битовая
арифметика.

Тема 2. Алгоритмизация (8 часов).

Схемы алгоритмов: линейные, разветвленные, циклические. Тестирование алгоритмов, отладка.

Тема 3. Простые данные языка Паскаль и работа с ними (8 часов).

Целочисленные, вещественные. Другие простые. Приведение типов. Ввод-вывод.

Тема 4. Операторы в Turbo Pascal (4 часа).

Операторы простые и структурные.

Операторы if-then-else, case-of-else-end и их использование.

Операторы for-to(downto)-do.

Операторы repeat-until, while-do.

Тема 5. Структуры данных и работа с ними средствами алгоритмического языка (6 часов).

Массивы, множества.

Программирование циклов с известным числом повторений.

Программирование циклов с не заданным числом повторений.

Тема 6. Подпрограммы (4 часа).

Процедуры, функции. Рекурсии и итерации. Программирование сложных циклов.

Тема 7. Модули пользователя (4 часа).

Тема 8. Записи (2 часа).

Тема 9. Файлы(4 часов).

Создание и обработка типизированных файлов.

Работа с текстовым файлом. Работа с несколькими файлами на примере задачи слияния двух отсортированных файлов в третий отсортированный.

Файлы без типа.

Тема 10. Работа с процедурами модуля SYSTEM (4 часа).

Использование динамических переменных.

Тема 11. Работа с процедурами модуля DOS (4 часа).

Поиск файлов, работа с атрибутами файлов.

Распечатка содержимого каталога/диска.

Работа с прерываниями. Изменение формы курсора.

Тема 12. Работа с процедурами модуля CRT (4 часа).

Работа с клавиатурой, звуком, окнами в текстовом режиме.

Тема 13. Работа с процедурами модуля GRAPH (4 часа).

Программа BGIDEMO. Создание программ с графикой, анимация.

Тема 14. Методы разработки программных комплексов (6 часов).

Модульное программирование. Введение в объектно-ориентированное программирование.

Тема 15. Технологии реализации алгоритмов: ООП (10 часов).

Тема 16. Сортировка (внутренняя и внешняя) структур данных (8 часов).

Алгоритмы сортировок массивов, файлов.

Алгоритмы поиска элемента, медианы.

Тема 17. Динамические структуры данных и задачи поиска элемента (14 часов).

Линейные списки, стеки, очереди, деревья.

Тема 18. Логико-комбинаторные задачи (22 часа).

Рекурсивные алгоритмы. Алгоритмы с возвратом.

Тема 19. ООП. Решение различных задач (16 часов).

Тема 20. Изучение пакета MathCad (26 часов).

Основные принципы работы с пакетом MathCad.

Переменные, дискретные переменные, функции пользователя, таблицы функций.

Графики и поверхности.

Меню MathCad. Панели инструментов. Электронные книги. «Шпаргалки».

Символьные вычисления.

Решение задач линейной алгебры.

Решение задач математического анализа.

Решение дифференциальных уравнений.

Тема 21. Работа в MS Excel (26 часов).

Основные принципы работы с пакетом. Типы данных. Меню.

Использование математических функций. Создание пользовательских функций.

Обмен данными с другими приложениями.

ПРИМЕРНАЯ ТЕМАТИКА ВЫЧИСЛИТЕЛЬНОЙ ПРАКТИКИ


Тема 1. Практическая работа на ПК (4 часа).

Операционные среды и оболочки: WINDOWS.

Интегрированная среда Turbo Pascal.

Тема 2. Алгоритмизация. Постановка индивидуальных заданий (4 часа).

Тема 3. Схемы индивидуальных заданий (8 часов).

№1. Вывод таблиц значений непрерывной функции.

№2. Выстрел в мишень.

№3. Вывод таблиц значений функций, заданных суммой ряда.

№4. Задачи на полный перебор.

№5. Вычисление определенных интегралов с точностью .

№6. Приближенное решение нелинейных уравнений.

№7. Обработка матриц.

Тема 4. Программы индивидуальных заданий (18 часов).

Отладка программ №№1-7.

Тема 5. Отчет по индивидуальным заданиям (2 часа).

Тема 6. Задачи целочисленной арифметики (4 часа).

Тема 7. Рекурсивные алгоритмы (4 часа).

Тема 8. Обработка симметрических матриц (4 часа).

Тема 9. Арифметика многократной точности (4 часа).

Тема 10. Обработка строк символов по информации из текстового файла (6 часов).

Тема 11. Работа с типизированными файлами (6 часов).

Тема 12. Создание учебной базы данных (6 часов).

Тема 13. Отчет по индивидуальным заданиям (2 часа).

Тема 14. Работа в графическом режиме (Pascal) (10 часов).

1. Рисунок с анимацией. 2. Графики и фигуры.

Тема 15. Решение дифференциальных уравнений (6 часов).

Тема 16. Решение систем ЛАУ (6 часов).

Данные в статической и динамической памяти.

Тема 17. Создание комплекса собственных программ (6 часов).

Тема 18. Решение логико-комбинаторных задач (4 часа).

Тема 19. Динамические структуры данных (4 часа).

Тема 20. Программы на базе ООП (4 часа).

Тема 21. Работа в Mathcad (16 часов).

Вывод таблицы значений функций, графиков и поверхностей.

Численное и символьное решение нелинейных уравнений.

Решение систем ЛАУ методом Крамера, с помощью обратной матрицы, встроенными функциями.

Нахождение собственных значений и векторов.

Численное и символьное решение неравенств и систем неравенств.

Решение ДУ I порядка, II порядка и систем.

Тема 22. Работа в MS Excel (14 часов).

Вывод таблиц значений и графиков функций.

Графическое и точное решение систем уравнений.

Численное решение неравенств и систем неравенств.

Численное решение ДУ с выводом результатов в виде таблиц и графиков.

Тема 23. Оформление отчета в MS Word по индивидуальным задачам с внедрением
результатов из Паскаль, MathСad и MS Excel (2 часа).