МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
ДОНЕЦЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
ФІЗИЧНИЙ ФАКУЛЬТЕТ
КАФЕДРА КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ
"ЗАТВЕРДЖЕНО"
Радою факультету
протокол № ____ від ________
Голова Ради А. О. Каргін
__________________________
РОБОЧА ПРОГРАМА
навчальної дисципліни
Програмування та математичне моделювання
Для спеціальностей 6.070101-"Фізика",
6.070201-"Радіофізика та електроніка"
Донецьк – 2012
Укладач: д.ф.-м. н. , проф. кафедри комп’ютерних технологій В. К. Толстих
Рецензенти: _______________________________________________________
Робоча програма ухвалена на засіданні кафедри комп’ютерних технологій,
протокол № ___ від ___________________
Зав. кафедрою д. т. н., проф. А. О. Каргін
Робоча програма ухвалена на засіданні навчально-методичної комісії фізичного факультету, протокол № ___ від ___________________
Голова навчально-методичної комісії _________________
Введение
Цель преподавания дисциплины состоит в знакомстве студентов физических специальностей с современными компьютерными технологиями, в приобретении студентами практических навыков необходимых для решения математически формализованных задач с использованием алгоритмического языка программирования Object Pascal в среде программирования Delphi и прикладного пакета математических вычислений MathCAD.
В результате изучения дисциплины студенты должны
-
уметь работать с файлами в операционной системе Windows;
-
иметь практические навыки программирования в среде Delphi;
-
иметь практические навыки проведения расчетов, построения графиков в среде визуального программирования MatCAD;
-
уметь решать математически формализованные задачи с использованием среды Delphi и MatCAD:
-
решение системы линейных уравнений;
-
вычисление суммы ряда;
-
интерполирование;
-
вычисление определённого интеграла;
-
решение обыкновенных дифференциальных уравнений;
Данная дисциплина – обязательная для изучения.
Преподавательский состав:
лектор – д. ф.-м. н., проф. кафедры КТ В. К. Толстых,
ассистенты – В. Е Бодряга, Н. А. Бабосюк
Методика изложения и обучения: лекции и лабораторные занятия в компьютерных классах.
Язык преподавания – русский.
Требуемое программное обеспечение для выполнения лабораторных работ
В семестрах 1-3 – Delphi 7, во второй половине семестра 3 – MathCAD
Учебная программа курса. Литература
N
|
Название темы и ее содержание
|
-
|
Знакомство с Windows: Plug and Play, Drag and Drop, Clipboard, Recycle Bin, OLE, многозадачность, распределение памяти.
Среда визуального программирования Delphi. Проект, модуль (форма), палитра компонент, инспектор объектов, блоки локализации параметров.
|
-
|
Основные понятия объектно-ориентированного программирования.
Введение в визуальное программирование, обработка событий.
|
-
|
Компоненты Panel, Bevel, Edit, Label, Button. Их свойства и методы.
|
-
|
Простые типы данных. Организация ввода-вывода. Компоненты ListBox, RadioButton, RadioGroup, ChekBox, Hint.
|
-
|
Оператор присваивания. Выражения строковые, арифметические, булевские, операции сравнения. Программирование линейных вычислительных процессов.
|
-
|
Программирование разветвляющихся вычислительных процессов Операторы GOTO, IF, CASE.
|
-
|
Программирование циклических вычислительных процессов. Операторы FOR, WHILE, REPEAT, BREACK, CONTINUE.
|
-
|
Описание типов. Множественный тип данных. Массивы. Программы обработки массивов Компонент StringGrid.
|
-
|
Динамическое размещение данных. Распределение ОЗУ, хип. Ссылочные типы данных. Компоненты Message, BitBtn
|
-
|
Комбинированные типы данных. Программы обработки записей, оператор WITH. Преобразование типов
|
-
|
Размещение данных в файлах. Магнитные диски и работа с ними. Форматирование, оптимизация. Работа с текстовыми файлами. Стандартные процедуры и функции.
|
-
|
Организация программ с использованием функций и процедур. Передача параметров, глобальные и локальные переменные, стек. Компонента ComboBox
|
-
|
Работа с классами. Описание классов, создание и удаление объектов.
|
-
|
Обработка исключительных ситуаций. Исключения, обработка исключений.
|
-
|
Отладка приложений. Точка останова, контроль значения переменных, пошаговое выполнение программы.
|
-
|
Рисование в Delphi: компоненты Image, Shape, PaintBox, Bitmap, Canvas. Примеры программ рисования.
|
-
|
Рисование в Delphi: компоненты Image, Shape, PaintBox, Bitmap, Canvas. Примеры программ рисования.
|
-
|
Знакомство с пакетом MathCAD для решения стандартных математических задач.
|
-
|
MathCAD: алфавит, константы, операторы, вычисление функций.
|
-
|
MathCAD: ранжированные переменные, работа с матрицами, решение линейных систем уравнений, Построение графиков.
|
-
|
MathCAD: Условные выражения и итерационные вычисления. Задача интерполирования экспериментальных данных. Решение систем линейных уравнений.
|
-
|
MathCAD: программирование. Операторы программирования.
|
-
|
MathCAD: решение дифференциальных уравнений.
|
-
|
Основы вычислительной техники. Технические характеристики, основы архитектуры и принципы функционирования современных компьютеров и периферийных устройств. Знакомство с компьютерными сетями
|
Учебно-методическая литература
-
Методические указания к курсу "Программирование и математическое моделирование"/ под ред. В.К. Толстых.- Донецк: ДонНУ.- 2007.
-
Чуприн, Анатолий Иванович. Windows XP Professional : Эффект. самоучитель / Анатолий Чуприн. - М. и др. : DiaSoft, 2003. - 326 с.
-
Меженный, Олег Аисимович. Microsoft Windows XP : Краткое руководство / О. А. Меженный. - М. и др. : Диалектика, 2004. - 221 с.
-
Рогоза, Микола Єгорович. XP: WINDOWS, WORD, EXCEL для самостiйного вивчення : [Навч. посiб. для вузiв] / М. Є. Рогоза, В. I. Клименко. - К. : Центр навч. л-ри, 2003. - 294 с.
-
Толстых, Виктор Константинович. Программирование в среде Delphi : Учеб.-метод. пособие : Для студентов инженер. и физ. специальностей / В. К. Толстых. - 8-е изд. - Донецк : ДонНУ, 2007. - 124 с.
-
Гофман, Владимир Э. Delphi 5 : Наиболее полн. руководство / Владимир Гофман, Анатолий Хомоненко. - СПб. и др. : BHV, 2000. - 789 с.
-
Александровский, Александр Демьянович. Delphi 5.0 : Разраб. корпоратив. прил. / Александровский Александр Демьянович. - М. : ДМК, 2000. - 512 с.
-
Кэнту, Марко. Delphi 6 для профессионалов : Пер. с англ. / М. Кэнту, пер. П. Анджан, пер. А. Войтенко. - СПб. : Питер, 2002. - 1088 с. + 1 электрон. опт. диск (CD-ROM).
-
Тейксейра, Стив. Borland Delphi 6 : Руководство разработчика / Стив Тейксейра, Ксавье Пачеко. - М. и др. : Вильямс, 2002. - 1112 с. + 1 электрон. опт. диск (CD-ROM).
-
Дарахвелидзе, Петр Г. Программирование в Delphi 7 / Петр Дарахвелидзе, Евгений Марков. - СПб. : БХВ-Петербург, 2004. - 781 с. + 1 электрон. опт. диск (CD-ROM).
-
Delphi 7 : [Наиболее полн. рук.] / Анатолий Хомоненко, Владимир Гофман, Евгений Мещеряков, Владимир Никифоров. - СПб. : БХВ-Петербург, 2004. - 1200 с.
-
Бобровский, Сергей Игоревич. Delphi 7 : Учеб. курс / С. Бобровский. - М. и др. : Inforcom press ; СПб. : Питер, 2005. - 735 с.
-
Толстых, Виктор Константинович. Программирование в среде MathCAD : Учеб.-метод. пособие : Для студентов инженер. и физ. специальностей / В. К. Толстых. - 5-е изд. - Донецк : ДонНУ, 2006. - 60 с.
-
Дьяконов В.П., Абраменкова И.В. MathCAD 7 в математике, физике и в Internet.- М.: "Нолидж", 1999.- 345с.
-
Дьяконов, Владимир Павлович. Mathcad 2001 : Учеб. курс / В. Дьяконов. - СПб. и др. : Питер, 2001. - 621 с.
Модульное планирование
Порядковый номер и название модуля
|
Краткое содержание модуля
|
Тип модуля
|
Количество часов
|
Семестр 1
|
-
Знакомство с Windows, Delphi и Object Pascal
|
Знакомство с Windows.
Основные понятия объектно-ориентированного программирования.
Проект, модуль, форма, палитра компонент, инспектор объектов.
События, обработчики событий. Блоки локализации параметров.
Основные компоненты среды Delphi, их свойства и методы.
Простые типы данных, объявления переменных.
Ввод и вывод данных, взаимные преобразования строковых и арифметических данных. Стандартные строковые процедуры и функции.
Всего лекций:
|
Лекции
|
1
1
2
2
2
2
2
|
|
12
|
1. Работа с файлами в Windows.
2. Знакомство с Delphi.
3. Организация ввода-вывода.
Всего лабораторных:
|
Лабор.
|
4
4
6
|
|
14
|
Модульный контроль
|
Контр. раб.
|
-
Основные операторы, введение в сложные типы данных
|
Выражения строковые, арифметические, булевские, операции сравнения. Программирование линейных вычислительных процессов. Стандартные арифметические процедуры и функции.
Программирование разветвляющихся вычислительных процессов. Операторы GOTO, IF, CASE.
Программирование циклических вычислительных процессов. Операторы FOR, WHILE, REPEAT, BREACK, CONTINUE.
Описание типов – TYPE: скалярные, перечислимые, множества – SET.
Знакомство с массивами – ARRAY
Всего лекций:
|
Лекции
|
2
4
4
6
2
|
|
18
|
4. Решение уравнений и неравенств.
5. Организация циклов с контрольным выводом итераций.
Всего лабораторных:
|
Лабор.
|
6
10
|
|
16
|
Модульный контроль
|
Контр. раб.
|
Экзамен
|
Экзамен
|
Итого лекций:
|
30
|
Итого лабораторных:
|
30
|
Порядковый номер и название модуля
|
Краткое содержание модуля
|
Тип модуля
|
Количество часов
|
Семестр 2
|
-
Работа с массивами, процедурами и функциями
|
Динамическое размещение данных - POINTER. Распределение ОЗУ, хип. Ссылочные типы данных.
Динамические массивы – TYPE ARRAY OF. Алгоритмы обработки массивов (метод «Пузырьков»).
Комбинированные типы данных. Оператор WITH.
Всего лекций:
|
Лекции
|
2
4
2
|
|
8
|
6. Работа с динамическими массивами
7. Работа с записями
Всего лабораторных:
|
Лабор.
|
6
4
|
|
10
|
Модульный контроль
|
Контр. раб.
|
-
Работа с файлами и классами
|
Размещение данных в файлах. Магнитные диски и работа с ними. Форматирование, оптимизация. Работа с текстовыми файлами. Стандартные процедуры и функции.
Организация программ с использованием процедур и функций – PROCEDURE, FUNCTION. Передача параметров, глобальные и локальные переменные, стек.
Обработка исключительных ситуаций – EXCEPTION, RAISE, TRY.
Всего лекций:
|
Лекции
|
4
4
2
|
|
10
|
8. Работа с файлами.
9. Численное решение задачи Коши методом Эйлера (программирование функций).
Всего лабораторных:
|
Лабор.
|
3
4
|
|
7
|
Модульный контроль
|
Контр. раб.
|
Итого лекций:
|
17
|
Итого лабораторных:
|
18
|
Порядковый номер и название модуля
|
Краткое содержание модуля
|
Тип модуля
|
Количество часов
|
Семестр 3
|
-
Работа с графикой
в Delphi
|
Классы в ООП
Рисование в Delphi. Основные графические компоненты и методы рисования
Всего лекций:
|
Лекции
|
2
8
|
|
10
|
10. Вычисление определенного интеграла методом трапеций (программирование процедур).
11. Построение графика функции - решение задачи Коши.
Всего лабораторных:
|
Лабор.
|
6
6
|
|
12
|
Модульный контроль
|
Контр. раб.
|
-
Среда MathCAD, основы ВТ
|
MathCAD: алфавит, константы, операторы.
MathCAD: ранжированные переменные, работа с матрицами.
MathCAD: Условные выражения и итерационные вычисления.
MathCAD: программирование.
MathCAD: решение дифференциальных уравнений.
Основы вычислительной техники, компьютерные сети, введение в Internet
Всего лекций:
|
Лекции
|
2
2
4
4
6
8
|
|
26
|
12. MathCAD: Проверка закона Стефана-Больцмана.
13. MathCAD: Обработка результатов эксперимента.
14. MathCAD: Работа с циклами и матрицами.
15. MathCAD: Моделирование баллистических кривых.
Всего лабораторных:
|
Лабор.
|
6
6
6
6
|
|
24
|
Модульный контроль
|
Контр. раб.
|
Экзамен
|
Экзамен
|
Итого лекций:
|
36
|
Итого лабораторных:
|
36
|
Планы лабораторных занятий
Подробное описание лабораторных работ в среде Delphi – в учебно-методическом пособии:
Толстых, Виктор Константинович. Программирование в среде Delphi : Учеб.-метод. пособие : Для студентов инженер. и физ. специальностей / В. К. Толстых. - 8-е изд. - Донецк : ДонНУ, 2007. - 124 с.
Названия лабораторных работ:
1. Работа с файлами в Windows.
2. Знакомство с Delphi.
3. Организация ввода-вывода.
4. Решение уравнений и неравенств.
5. Организация циклов с контрольным выводом итераций.
6. Работа с динамическими массивами
7. Работа с записями
8. Работа с файлами.
9. Численное решение задачи коши методом Эйлера.
10. Вычисление определенного интеграла методом трапеций
11. Построение графика функции.
Подробное описание лабораторных работ в среде MathCAD – в учебно-методическом пособии:
Толстых, Виктор Константинович. Программирование в среде MathCAD : Учеб.-метод. пособие : Для студентов инженер. и физ. специальностей / В. К. Толстых. - 5-е изд. - Донецк : ДонНУ, 2006. - 60 с.
Названия лабораторных работ:
12. Проверка закона Стефана-Больцмана.
13. Обработка результатов эксперимента.
14. Работа с циклами и матрицами.
15. Моделирование баллистических кривых.
Организация самостоятельной работы
1. Освоение теоретического материала пособия –
Толстых, Виктор Константинович. Программирование в среде Delphi : Учеб.-метод. пособие : Для студентов инженер. и физ. специальностей / В. К. Толстых. - 8-е изд. - Донецк : ДонНУ, 2007. - 124 с.:
разделы: 2.5.2 – 2.5.4, 3.3.5 – 3.3.6, 3.7.3,.
2. Подготовка к лабораторным работам.
3. Подготовка к модульным контролям.
Организация текущего, модульного, итогового контроля
Модуль 1 Семестр 1
Максимальное количество баллов за модуль 1 (3 лабораторные и контрольная) - 35 баллов
Текущий контроль:
-
Лабораторные работы – 1,2,3.
-
Контрольная работа (30 мин., пример):
Построить приложение для ввода и вывода переменной вещественного типа. Нажатие мышкой на кнопку OK должно считываться значение переменной и выводиться в окно списка вывода в формате с фиксированной или плавающей (по желанию пользователя) точкой. Нажатие на копку «Очистить» должно очищать список вывода
Критерии оценок:
-
Каждая выполненная и сданная без замечаний лабораторная работа – 5 баллов.
-
Контрольная работа (приложение работает правильно) – 20 баллов.
Модуль 2
Максимальное количество баллов за модуль 2 (2 лабораторные и контрольная) - 50 баллов
Текущий контроль:
-
Лабораторные работы – 4, 5.
-
Контрольная работа (30 мин., пример):
Подготовить приложение в среде Delphi, найти и вывести сумму ряда для его членов
с точностью ,
Значение точности должно вводиться пользователем.
Критерии оценок:
-
Каждая выполненная и сданная без замечаний лабораторная работа – 12 баллов
-
Контрольная работа - приложение работает – 20 баллов, работает в соответствии с заданием – 26 баллов, не работает, но имеет синтаксически корректные операторы – 10 баллов.
Итоговый контроль (экзамен – практические задания):
Максимальное количество баллов за экзамен - 52 балла
Примеры заданий (50 мин. оба задания):
-
Подготовить приложение в среде Delphi и найти сумму ряда с членами
с точностью ,
Вывести все члены ряда. После попадания i на множество (тип данных) контрольных шагов делать приостановку вычислений.
-
Подготовить приложение в среде Delphi для решения квадратного уравнения:
ax2+bx+c=0.
Приложение должно корректно работать с любыми значениями коэффициентов, вводимых пользователем.
Критерии оценок для каждого задания (максимум 26 баллов):
-
приложение работает правильно - 20 баллов, учтены все требования задания – 26 баллов;
-
приложение работает (без ошибок), но результат неправильный - 13 баллов;
-
приложение не работает, но имеет синтаксически корректные операторы – 5 баллов и «разумную логику» - 7 баллов.
Модуль 3 Семестр 2
Максимальное количество баллов за модуль 1 (2 лабораторные и контрольная) - 50 баллов
Текущий контроль:
-
Лабораторные работы – 6, 7.
-
Контрольная работа (30 мин., пример):
Подготовить приложение в среде Delphi и найти сумму элементов одномерного (двумерного) массива из заданных одинаковых чисел. Размерность массива и значения его элементов должны задаваться пользователем.
Критерии оценок:
-
Каждая выполненная и сданная без замечаний лабораторная работа – 12 баллов.
-
Контрольная работа – приложение работает правильно и эффективно – 26 баллов,
приложение использует статические, а не динамические массивы – 13 баллов,
приложение имеет синтаксически корректные операторы (нет ошибок компиляции),
но работает неправильно – 5 баллов.
Модуль 4
Максимальное количество баллов за модуль 2 (2 лабораторные и контрольная) - 50 баллов
Текущий контроль:
-
Лабораторные работы – 8, 9.
-
Контрольная работа (50 мин., пример):
Подготовить приложение в среде Delphi для чтения из текстового файла и вычисления выражения состоящего из двух чисел и арифметической операции. Вычисление оформить в виде функции (процедуры) с передачей в неё обеих чисел и знака операции.
Критерии оценок:
-
Каждая выполненная и сданная без замечаний лабораторная работа – 12 баллов.
-
Контрольная работа (приложение работает правильно) – 26 баллов,
приложение не использует работу с файлом или с функцией (процедурой) – 13 баллов,
приложение имеет синтаксически корректные операторы (нет ошибок компиляции),
но работает неправильно – 5 баллов.
Итоговый контроль (экзамен – практические задания):
Максимальное количество баллов за экзамен - 30 балла
Пример заданий (60 мин.):
Разработать приложение в среде Delphi для решения методом Эйлера обыкновенного дифференциального уравнения с начальным условием (задача Коши). Вычисление свободного члена оформить в виде функции. Максимальное время, количество ячеек сетки и начальное условие читать из файла.
Критерии оценок (максимум 30 баллов):
-
приложение работает правильно - 20 баллов, учтены все требования задания – 30 баллов;
-
приложение работает (без ошибок), но результат неправильный - 15 баллов;
-
приложение не работает, но имеет синтаксически корректные операторы – 7 баллов.
Модуль 5 Семестр 3
Максимальное количество баллов за модуль 1 (2 лабораторные и контрольная) - 48 баллов
Текущий контроль:
-
Лабораторные работы – 10, 11
-
Контрольная работа (пример):
Построить приложение в среде Delphi для рисования заданной функции.
Критерии оценок:
-
Каждая выполненная и сданная без замечаний лабораторная работа – 14 баллов.
-
Контрольная работа (приложение работает правильно) – 20 баллов,
приложение имеет синтаксически корректные операторы (нет ошибок компиляции),
но работает неправильно – 10 баллов.
Модуль 6
Максимальное количество баллов за модуль 2 (4 лабораторные и контрольная) - 42 баллов
Текущий контроль:
-
Лабораторные работы по MathCAD – 1-4.
-
Контрольная работа по MathCAD (20 мин., примеры вариантов):
Решить систему трех линейных уравнений методом обращения матрицы:
Задать функцию
и построить её графики при и .
Критерии оценок:
-
Каждая выполненная и сданная без замечаний лабораторная работа – 6 баллов.
-
Контрольная работа вар.1 (система решена – 5 , с проверкой корректности – 4) – 9 баллов.
Контрольная работа вар.2 (функция работает – 5 , построены графики – 4) – 9 баллов
Итоговый контроль (экзамен – практические задания):
Максимальное количество баллов за экзамен - 52 балла
Примеры заданий (60 мин. об а задания):
-
Подготовить приложение в среде Delphi и вычислить значение заданного определенного интеграла.
-
Используя операторы программирования, найти сумму ряда в среде MathCAD с заданной точностью
, и построить график функции .
Критерии оценок для первого задания (максимум 32 баллов):
-
приложение работает правильно - 26 баллов, и эффективно (память, скорость, универсальность) – 32 баллов;
-
приложение работает, но результат даёт неправильный - 13 баллов;
-
приложение не работает, но имеет синтаксически корректные операторы – 5 баллов и «разумную логику» - 7 баллов.
Критерии оценок для второго задания (максимум 20 балла):
-
программа содержит корректные операторы и выдаёт правильный результат – 14 баллов.
-
программа правильно считает, но содержит некорректные операторы или не все условия задания реализует – 10 баллов.
-
построен правильный график – 6 баллов, некорректный график – 3 балла.
|