В результате изучения дисциплины «Компьютерные науки» во 2 семестре студенты должны приобрести систематические знания об основных операторах алгоритмического языка Паскаль, уметь работать в интегрированной среде Турбо Паскаль и составлять простые программы. |
В результате изучения дисциплины «Компьютерные науки» во 3 семестре студенты должны приобрести систематические знания о динамических структурах данных, об объектно-ориентированном программировании, методах сортировок и поиска, рекурсивных алгоритмах, уметь составлять средней сложности программы в текстовом и графическом режиме работы монитора. |
1.3 Виды учебной деятельности студентов
Лекции, практические занятия, лабораторные работы
1.4 Контроль знаний студентов
Индивидуальный контроль знаний в процессе выполнения и сдачи лабораторных работ, зачет, экзамены
1.5 Другие пояснения автора
2 СОДЕРЖАНИЕ ПРОГРАММЫ
Обзор языков программирования высокого уровня.
Оператор присваивания. Простые основные типы данных. Идентификаторы.
Условный оператор if.
Операторы цикла.
Программирование с использованием массивов.
Программирование с использованием строк.
Программирование с использованием внешних файлов.
Оператор goto.
Программирование с использованием множеств.
Составление подпрограмм на языке Паскаль.
Программирование с использованием записей.
Подпрограммы модуля Crt.
Подпрограммы модуля Graph.
Рекурсивные подпрограммы.
Динамические структуры.
Объектно-ориентированное программирование.
Простые методы сортировки массивов
Алгоритмы поиска
3 ТЕМАТИЧЕСКИЙ ПЛАН ИЗУЧЕНИЯ УЧЕБНОЙ ДИСЦИПЛИНЫ
№ п/п раздела | № п/п темы | Наименование разделов и тем | Количество часов по учебному плану | ||||
Всего | В том числе | ||||||
Аудиторная нагрузка | Самостоятельная работа | ||||||
Лекции | Практические | Лабораторные | |||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
семестр 2: | |||||||
1 | Введение. Обзор языков программирования высокого уровня | 2 | 1 | 1 | |||
2 | Оператор присваивания. Простые основные типы данных. Идентификаторы. | 6 | 1 | 2 | 3 | ||
3 | Условный оператор if. Операторы цикла | 21 | 2 | 5 | 7 | 7 | |
4 | Программирование с использованием массивов. | 14 | 1 | 3 | 5 | 5 | |
5 | Программирование с использованием строк. | 15 | 2 | 3 | 5 | 5 | |
6 | Программирование с использованием внешних файлов. | 11 | 2 | 4 | 5 | ||
7 | Оператор goto. Программирование с использованием множеств. | 5 | 2 | 1 | 2 | ||
8 | Составление подпрограмм на языке Паскаль | 17 | 2 | 3 | 5 | 7 | |
9 | Программирование с использованием записей | 6 | 1 | 2 | 3 | ||
10 | Подпрограммы модуля Crt | 4 | 1 | 1 | 2 | ||
11 | Подпрограммы модуля Graph. | 11 | 2 | 1 | 4 | 4 | |
ИТОГО: | 112 | 17 | 17 | 34 | 44 | ||
семестр 3: | |||||||
1 | Рекурсивные подпрограммы. | 12 | 2 | 4 | 6 | ||
2 | Динамические структуры | 28 | 6 | 10 | 12 | ||
3 | Объектно-ориентированное программирование | 28 | 6 | 12 | 10 | ||
4 | Простые методы сортировки массивов | 19 | 3 | 6 | 10 | ||
5 | Алгоритмы поиска | 12 | 1 | 4 | 7 | ||
ИТОГО: | 99 | 18 | 36 | 45 |
4 ПРОГРАММА ЛЕКЦИОННЫХ ЗАНЯТИЙ
№№ п/п | Темы лекционных занятий | Кол-во |
1 | 2 | 3 |
2 семестр | ||
1 | Введение. Обзор языков программирования высокого уровня (Fortran, Algol, Cobol, PL/1, Basic, Jovial, Simula, Pascal, Modula, С,, Java, C#) | 1 |
2 | Оператор присваивания. Простые основные типы данных. Идентификаторы. Преобразование типов (trunc, round, div, mod, chr, ord) . Операторы ввода и вывода. Стандартные функции для программироваия арифметических выражений. | 1 |
3 | Условный оператор if. Операторы цикла (оператор цикла for, оператор цикла while, оператор цикла repeat…until). Оператор множественного выбора case. | 2 |
4 | Программирование с использованием массивов (объявления массива, ввод элементов массива, формирование массива с помощью генератора случайных чисел, задание массива в виде последовательности констант, двумерный массив, формирование символьного массива) | 1 |
5 | Программирование с использованием строк (объявление строки, объявленная длина строки, инициализация строки, реальная длина строки, процедуры и функции, используемые при обработке строк: Length, Insert, Delete, Copy, Pos, Val, Str) | 2 |
6 | Программирование с использованием внешних файлов (текстовые файлы, объявление текстового файла, двоичные файлы, объявление двоичного файла, процедуры и функции обработки текстовых файлов: assign, reset, rewrite, append, readln, writeln, close, eof, eoln, read, write, seek). | 2 |
7 | Оператор goto(Label, альтернативные конструкции вместо оператора goto). Программирование с использованием множеств (объявление множества, перечисляемый тип, ограниченный тип, инициализация множества и принадлежность элемента множеству, операции над множествами: сравнение, присваивание, объединение множеств, пересечение множеств, разность множеств) | 2 |
8 | Составление подпрограмм на языке Паскаль (структура функции, структура процедуры, процедуры, возвращающие значения) | 2 |
9 | Программирование с использованием записей (объявление записи, оператор присоединения with). | 1 |
10 | Подпрограммы модуля Crt (процедуры ClrScr, TextBackGround, Window, GotoXY, TextColor, ClrEol, функции KeyPressed, ReadKey). | 1 |
11 | Подпрограммы модуля Graph (инициализация графического режима: DetectGraph, InitGraph, CloseGraph; построение фигур и линий: SetViewPort, SetBkColor, Line, SetColor, SetLineStyle, Rectange, DrawPoly, Circle, Ellipse, FillEllipse, fillPoly, PieSlice, Bar, Bar3D, SetFillStyle; вывод текста в графическом режиме: OutTextXY, MoveTo, OutText, SetTextStyle) | 2 |
3 семестр | ||
1 | Рекурсивные подпрограммы (прямая и косвенная рекурсии, директива forward, схема косвенной рекурсии, кривые Гильберта, стек и стековая память, задачи, использующие рекурсивные вызовы) | 2 |
2 | Динамические структуры данных (указатели, разыменование указателей, операторы New и Dispose, связь статических и динамических переменных, ссылочный тип, объявление списка, основные операции для списков: формирование линейного списка, рекурсивная процедура формирование линейного списка, распечатка линейного списка, преобразование линейного списка в кольцевой список, преобразование кольцевого списка в линейный список, распечатка кольцевого списка, удаление линейного списка, удаление узла с заданной информационной частью из линейного списка, вставка узла в линейный список, рекурсивная процедура вставки узла в линейный список; стек: принцип обслуживания LIFO, добавление элемента в стек, извлечение элемента из стека; очередь: принцип обслуживания FIFO, формирование очереди; двоичное дерево: идеально сбалансированное дерево, дерево поиска, задача поиска по дереву с включением, удаление дерева, различные варианты обхода дерева, АВЛ-деревья, балансировка дерева, однократные LL - и RR-повороты, двукратные LR - и RL-повороты Иллюстрации операций с двоичными деревьями [электронный ресурс] – Режим доступа: http://new. marsu. ru/GeneralInformation/structur/BasicUnits/fackultet/fmf/department_of_theoretical_physics/educational_methodical_complexes. php. | 6 |
3 | Объектно-ориентированное программирование (абстракция данных, инкапсуляция, объявление класса, программирование с использованием классов, методы, наследование без переопределения методов, наследование с переопределением методов, виртуальные методы, конструкторы, полиморфизм, деструкторы, ранее и позднее связывание классов, использование динамических структур данных в классах: объявление класса, как составного указателя) | 6 |
4 | Простые методы сортировки массивов (сортировка прямыми включениями, параметры локальные и глобальные, сортировка бинарными включениями, сортировка прямым выбором, сортировка прямым обменом). Улучшенные методы сортировки (сортировка Шелла, сортировка с помощью двоичного дерева, быстрая сортировка: инвариант рекурсивного алгоритма) | 3 |
5 | Алгоритмы поиска (бинарный поиск, интерполяционный поиск) | 1 |
5 ПРОГРАММА ПРАКТИЧЕСКИХ (СЕМИНАРСКИХ),
ЛАБОРАТОРНЫХ ЗАНЯТИЙ
№№ п/п | Темы практических занятий | Кол-во |
1 | 2 | 3 |
2 семестр | ||
1 | Условный оператор if. Оператор множественного выбора case. | 5 |
2 | Операторы цикла (оператор цикла for, оператор цикла while, оператор цикла repeat…until). | 3 |
3 | Программирование с использованием массивов | 3 |
4 | Программирование с использованием строк | |
5 | Составление подпрограмм на языке Паскаль | 1 |
6 | Подпрограммы модуля Crt | 3 |
7 | Программирование с использованием множеств | 1 |
8 | Подпрограммы модуля Graph | 1 |
№№ п/п | Темы лабораторных работ | Кол-во |
2 семестр | ||
1 | “Программы линейной структуры” | 3 |
2 | “Программы разветвляющейся структуры” | 3 |
3 | “Программы циклической структуры” | 4 |
4 | “Массивы” | 5 |
5 | “Строки” | 5 |
6 | “Подпрограммы” | 5 |
7 | “Записи” | 4 |
8 | “Обработка внешних файлов” | 5 |
ИТОГО | 34 | |
2 семестр | ||
1 | “Рекурсивные подпрограммы” | 4 |
2 | "Построение графиков” | 6 |
3 | “Классы” | 4 |
4 | “Наследование” | 6 |
5 | “Обработка списков” | 8 |
6 | “Сортировка и поиск” | 8 |
ИТОГО | 36 |
6 ПРОГРАММА САМОСТОЯТЕЛЬНОЙ РАБОТЫ
№№ п/п | Темы для самостоятельного изучения | Кол-во |
1 | 2 | 3 |
семестр 2: | ||
1 | Введение. Обзор языков программирования высокого уровня | 1 |
2 | Оператор присваивания. Простые основные типы данных. Идентификаторы. | 3 |
3 | Условный оператор if. Операторы цикла | 7 |
4 | Программирование с использованием массивов. | 5 |
5 | Программирование с использованием строк. | 5 |
6 | Программирование с использованием внешних файлов. | 5 |
7 | Оператор goto. Программирование с использованием множеств. | 2 |
8 | Составление подпрограмм на языке Паскаль | 7 |
9 | Программирование с использованием записей | 3 |
10 | Подпрограммы модуля Crt | 2 |
11 | Подпрограммы модуля Graph. | 4 |
ИТОГО: | 44 | |
1 | семестр 3: | |
2 | Рекурсивные подпрограммы. | 6 |
3 | Динамические структуры | 12 |
4 | Объектно-ориентированное программирование | 10 |
5 | Простые методы сортировки массивов | 10 |
6 | Алгоритмы поиска | 7 |
ИТОГО: | 45 |
7 ТЕМАТИКА
7.1 Контрольных работ
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


