Программирование
Вид материала | Лекции |
СодержаниеЦели и содержание курсового проекта (работы) Ориентировочная трудоемкость Обработка структурированных типов данных (Продолжение) ИТОГО за 1 семестр ИТОГО за 2 семестр |
- Введение в линейное программирование линейное программирование (ЛП), 139.72kb.
- Аттестационное тестирование в сфере профессионального образования, 72.49kb.
- Лекции по дисциплине «Социальное моделирование и программирование», 44.69kb.
- Программа вступительного экзамена по специальности 05. 13. 18 Математическое моделирование,, 115.33kb.
- Курс является базовым как для изучения других математических дисциплин, так и для более, 36.89kb.
- 1 Обобщенное программирование. Обобщенное программирование это еще одна парадигма программирования,, 55.18kb.
- Учебная программа (Syllabus) Дисциплина: Программирование на алгоритмических языках, 201.87kb.
- Программа дисциплины Математическое программирование Семестры, 10.84kb.
- Линейное программирование, 346.17kb.
- Н. И. Лобачевского Факультет Вычислительной математики и кибернетики Кафедра Математического, 132.68kb.
*Примечание. Для подготовки к выполнению индивидуальных заданий по курсовой работе, имеющейся в учебном плане, требуется тщательная подготовка и проработка как всех тем лабораторных работ, так и общих (для всех студентов) вопросов, связанных с содержанием и технологией выполнения курсовой работы. Для этих целей используются аудиторные часы, отведенные в учебном плане под курсовую работу. Фактически их использование в виде массовых аудиторных («практических») занятий обеспечивает содержательную и технологическую базу (вплоть до фрагментов прототипов) для выполнения индивидуальных заданий по курсовой работе. Далее индивидуальные задания выполняются в режиме самостоятельной работы (в основном с использованием ПЭВМ) и поддерживаются индивидуальными консультациями.
Цели и содержание курсового проекта (работы)
и его ориентировочная трудоемкость
1 семестр
Цель: Законченное поэтапное решение содержательной задачи (постановка задачи, спецификация, выбор структур данных и разработка алгоритма, программная реализация, тестирование).
Основные элементы языка программирования:
- основные управляющие структуры;
- процедуры и функции;
- файлы (для входных и выходных данных);
- массивы.
Типы заданий содержательно ориентированы на обработку векторов и матриц, реализацию действий с полиномами (представляемыми массивами коэффицинтов), действия с наборами простых геометрических объектов (точек, прямых, окружностей, плоскостей и т.п.).
Основные требования к программе:
- явное описание типов;
- систематическое использование процедур и функций как средства абстракции;
- основной способ передачи данных между подпрограммами – через параметры;
- наличие комментариев для ключевых фрагментов программы (пост- и предутверждения, инварианы циклов, заголовочные комментарии процедур и функций (внешние спецификации);
- систематическое использование файлов для ввода исходных данных и вывода результатов.
Ориентировочная трудоемкость 16 часов самостоятельной работы и консультаций с преподавателем.
2 семестр
Цель: Полное решение содержательной задачи (содержательная и формальная постановка задачи, спецификация, включая описание диалога , выбор метода решения и структур данных, разработка алгоритма, программная реализация, тестирование и отладка, документирование).
Основные элементы языка программирования(дополнительно к требованиям 1 семестра):
- рекурсия;
- записи, строки, тексты;
- динамическая память;
- модули;
- объекты;
- представления и реализация линейных списков;
Типы заданий содержательно ориентированы на обработку текстов (простые редакторы текстов, анализаторы текстов, форматирование текстов и т.п.), действия с «длинными» целыми и рациональными числами, действия с полиномами, операции с множествами. Используются преимущественно реализации перечисленных структурированных объектов обработки в виде различного рода линейных списков.
Ориентировочная трудоемкость 15 часов самостоятельной работы и консультаций с преподавателем.
Расчет учебных часов по видам занятий
№ темы | Название разделов (частей) и тем | Лекции | Лабо-рататорные занятия | Аудиторные занятия (в том числе по к/р)* | Самостоятельная Работа | Всего | Семестр |
| Введение | 0.5 | | 0.5 | | 0.5 | 1 |
Часть 1. | Основные задачи разработки, верификации и анализа программ | | | | | | 1 |
Тема 1.1. | Этапы и проблемы решения задач на ПЭВМ | 1.5 | | 1.5 | 1 | 2.5 | 1 |
Тема 1.2. | Верификация и анализ алгоритмов и программ | 4 | | 4 | 3 | 7 | 1 |
Часть 2. | Введение в программирование на языке Паскаль | | | | | | 1 |
Тема 2.1. | Общие сведения о языке Паскаль и системе программирования | 1 | 2 | 3 | 2 | 5 | 1 |
Тема 2.2. | Простые стандартные (предописанные) типы данных | 2 | | 2+(1) | 2 | 5 | 1 |
Тема 2.3. | Основные управляющие структуры и их реализация в языке Паскаль | 2 | 2 | 4+(2) | 3 | 9 | 1 |
Тема 2.4. | Процедуры и функции | 2 | 2 | 4+(1) | 2 | 7 | 1 |
Часть 3. | Основы конструирования корректных программ | | | | | | 1 |
Тема 3.1. | Итерация как базисная схема обработки данных | 2 | 2 | 4+(1) | 2 | 7 | 1 |
Тема 3.2. | Основные правила аналитической верификации программ | 2 | 2 | 2 | 4 | 1 | |
Тема 3.3. | Правила вывода для структурных операторов языка Паскаль | 4 | | 4+(2) | 3 | 9 | 1 |
Тема 3.4. | Проектирование цикла с помощью инварианта | 2 | 2 | 2 | 4 | 1 | |
Часть 4. | Обработка структурированных типов данных | | | | | | 1 |
Тема 4.1. | Последовательность как способ организации данных и файловый тип в языке Паскаль | 1 | 1 | 2+(1) | 2 | 5 | 1 |
Тема 4.2. | Индуктивные функции на пространстве последовательностей | 4 | 2 | 6+(2) | 4 | 12 | 1 |
Тема 4.3. | Перечисляемый и диапазонный типы в языке Паскаль | 1 | | 1 | 1 | 2 | 1 |
Тема 4.4. | Массивовый тип в языке Паскаль | 2 | 1 | 3+(2) | 2 | 7 | 1 |
Тема 4.5. | Верификация программ при работе с массивами | 5 | 1 | 6+(2) | 3 | 11 | 1 |
Тема 4.6. | Процедуры и программирование действий с массивами | 2 | 3 | 5+(2) | 3 | 10 | 1 |
Тема 4.7. | Линейный и бинарный поиск | 4 | | 4 | 2 | 6 | 1 |
Часть 5.** | Рекурсия в программировании | | | | | | |
Тема 5.1. | Рекурсивные определения и алгоритмы | 2 | | 2 | 2 | 4 | 1 |
Тема 5.2. | Программирование рекурсивных алгоритмов | 4 | | 4 | 3 | 7 | 1 |
| Курсовое проектирование, 1 | | | (16) | 16 | 16 | 1 |
Семестр 2 | |||||||
Часть 4. (Продолжение) | Обработка структурированных типов данных (Продолжение) | | | | | | |
Тема 4.8. | Сложные типы данных | 2 | 2 | 4+(1) | 3 | 8 | 2 |
Тема 4.9. | Строки | 3 | 2 | 5+(1) | 3 | 9 | 2 |
Тема 4.10. | Модули в языке Турбо Паскаль. | 2 | 1 | 3 | 2 | 5 | 2 |
Часть 5.** | Рекурсия в программировании | | | | | | |
Тема 5.1. | Рекурсивные определения и алгоритмы | | | (1) | 1 | 2 | 2 |
Тема 5.2. | Программирование рекурсивных алгоритмов | | 2 | 2+(1) | 2 | 5 | 2 |
Часть 6. | Динамические структуры данных | | | | | | 2 |
Тема 6.1. | Ссылочный тип в языке Паскаль и рекурсивные типы данных | 3 | | 3+(2) | 3 | 8 | 2 |
Тема 6.2. | Программирование линейных списков | 3 | 2 | 5+(2) | 5 | 12 | 2 |
Часть 7. | Элементы объектно-ориентированного программирования в языке Турбо Паскаль | | | | | | 2 |
Тема 7.1. | Объекты в языке Турбо Паскаль | 4 | 2 | 6+(2) | 5 | 13 | 2 |
Тема 7.2. | Наследование | 4 | 2 | 6+(1) | 4 | 11 | 2 |
Тема 7.3. | Полиморфизм и динамические объекты. | 4 | 2 | 6+(2) | 4 | 12 | 2 |
Часть 8. | Технология конструирования программ | | | | | | 2 |
Тема 7.1. | Жизненный цикл и этапы конструирования программ | 2 | | 2+(1) | 1 | 4 | 2 |
Тема 7.2. | Спецификации программ | 2 | | 2+(1) | 1 | 4 | 2 |
| Заключение | 1 | | 1 | 1 | 2 | 2 |
| Курсовое проектирование, 2 | | | (15) | 15 | 15 | 2 |
ИТОГО за 1 семестр: | 48 | 16 | 80 | 60 | 140 | | |
ИТОГО за 2 семестр: | 30 | 15 | 60 | 50 | 110 | | |
ИТОГО: | 78 | 31 | 140 | 110 | 250 | |