Вы находитесь на странице: 1из 10

КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

им. А.Н. ТУПОЛЕВА

УТВЕРЖДАЮ:
Проректор по учебно-методической
работе
_________________ И.К. Насыров

«_____» _______________ 200__ г.

ПРОГРАММА ДИСЦИПЛИНЫ

ОПД.Ф.06 Программирование на языке высокого уровня. Основы


программирования
(указывается индекс и наименование дисциплины по учебному плану в
соответствии с ГОС)

Рекомендуется УМЦ КГТУ им. А.Н. Туполева для направления


(специальности)

направление 230100 «Информатика и вычислительная техника»

специальность

специализация

форма обучения очная


1. Цели и задачи дисциплины.

Целью дисциплины является получение студентами базисных,


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

2. Требования к уровню освоения содержания дисциплины.

В результате изучения дисциплины студенты должны:


Знать:
• Основные этапы развития и языков программирования и
парадигмы программирования.
• Основы структурного программирования.
• Основные приемы работы в средах программирования Turbo
Pascal, Turbo C.
• Понятие структуры данных, основные структуры данных.
• Понятие рекурсии.
Уметь:
• Разрабатывать алгоритмы решения задач.
• Создавать программы для DOS и консольные приложения
Windows с использованием языков программирования высокого уровня.
• Использовать простые динамические структуры данных.
• Реализовывать собственные несложные библиотеки функций.
• Использовать основные структуры данных.
Иметь представление о
• Современных языках программирования высокого уровня.
• Стандартных процедурах и функциях языков
программирования.

3. Объем дисциплины и виды учебной работы.


Виды учебной работы Всего Семестры
часов 1 2 3
Общая трудоемкость дисциплины 216 102 114
Аудиторные занятия 136 68 54
Лекции 68 34 36
Практические занятия (ПЗ)
Семинары (С)
Лабораторные работы (ЛР) 52 34 18
и (или) другие виды аудиторных занятий
Самостоятельная работа 94 20 34 40
Курсовой проект (работа) * *
Расчетно-графические работы
Реферат
и (или) другие виды самостоятельной работы
Вид итогового контроля (зачет, экзамен) зачет экзам. зачет

4. Содержание дисциплины.
4.1. Тематический план.
№ Наименование тем Лекции ПЗ ЛР СР
пп
1. Эволюция языков программирования. *
Алгоритмы. Язык программирования
Паскаль
2. Операции и выражения. Стандартные типы * *
данных. Ввод-вывод информации
3. Операторы * *
4. Массивы * *
5. Подпрограммы языка Паскаль * *
6. Строки * *
7. Записи. Создание новых типов данных * *
8. Указатели. Динамическое выделение памяти * *
9. Параметры процедур и функций *
10. Файлы * *
11. Множества. *
12. Использование модулей *
13. Основы работы с графикой *
14. Язык программирования Си. Типы данных. * *
Ввод/вывод.
15. Основные операции и операторы. * *
16. Массивы. Строки. Структуры. * *
17. Функции. * *
18. Указатели. Динамическое выделение памяти. * *
19. Рекурсивные алгоритмы. * *
20. Массивы и функции, как параметры * *

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

1. Эволюция языков программирования. Алгоритмы. Язык


программирования Паскаль
Языки программирования: понятие, история развития, классификация.
Понятие алгоритма. Свойства алгоритма. Линейные алгоритмы. Логический
анализ ситуаций (структура выбора). Структура повторения. Компиляция и
выполнение программ. Алфавит языка. Ключевые слова и идентификаторы.
Структура программы.

2. Операции и выражения. Стандартные типы данных. Ввод-вывод


информации
Константы, переменные. Понятие выражения. Понятие типа данных.
Примеры программ на языке Паскаль. Простые типы данных. Стандартные
процедуры и функции языка Паскаль для работы с простыми типами данных.
Структурированные типы данных. Процедуры ввода-вывода информации.
Примеры.

3. Операторы
Оператор присваивания. Условный оператор if. Оператор выбора case.
Оператор цикла с предусловием while. Оператор цикла с постусловием repeat…
until. Оператор цикла for. Оператор безусловного перехода goto. Метки. Примеры.

4. Массивы
Структурированный тип данных – массив. Объявление переменных типа
массив. Работа с элементами массива. Ввод-вывод массивов. Многомерные
массивы. Обработка массивов. Примеры.

5. Подпрограммы языка Паскаль


Понятие подпрограммы. Процедуры и функции. Использование
подпрограмм. Описание функций. Использование параметров. Описание
процедур. Параметры-значения и параметры-переменные. Примеры.

6. Строки
Структурированный тип данных – строка. Объявление переменных типа
строка. Операции с переменными типа строка. Процедуры и функции обработки
строк. Ввод-вывод строк. Примеры. Структурированный тип данных –
множество. Объявление переменных типа множество. Операции с переменными
типа множество. Примеры. Создание новых типов данных. Примеры.

7. Записи. Создание новых типов данных


Структурированный тип данных – запись. Объявление переменных типа
запись. Работа с элементами записи. Ввод-вывод записей. Оператор with.
Массивы записей. Примеры.

8. Указатели. Динамическое выделение памяти


Понятие указателя. Операция получения адреса переменной.
Разыменование указателя. Динамическое выделение и освобождение памяти.
Примеры.

9. Файлы
Структурированный тип данных – файл. Текстовые файлы. Типизированные
файлы. Нетипизированные файлы. Процедуры и функции для работы с файлами
разных типов. Примеры.

10. Множества.
Структурированный тип данных – множество. Операции с множествами.
Примеры.

11. Использование модулей


Описание процедур. Параметры-значения и параметры-переменные.
Примеры.

12. Основы работы с графикой


Описание процедур. Параметры-значения и параметры-переменные.
Примеры.

13. Язык программирования Си. Типы данных. Ввод/вывод.


Введение. Основные понятия языка Си. Структура программы на языке Си.
Типы данных. Основные типы. Примеры. Производные типы. Массивы,
структуры, объединения. Функции форматированного ввода и вывода.
Управляющая строка, форматы. Модификаторы спецификаций преобразования.
Примеры.

14. Основные операции и операторы.


Операция присваивания. Арифметические операции. Операции отношения.
Логические операции. Приоритет операций. Выбор вариантов. Оператор if.
Условная операция. Операторы switch и break. Оператор цикла с предусловием.
Опрератор цикла с постусловием. Оператор цикла for. Оператор continue.
Оператор goto. Примеры.

15. Массивы.
Структурированный тип данных – массив. Объявление переменных типа
массив. Работа с элементами массива. Ввод-вывод массивов. Примеры.
Особенности работы с переменными типа строка на языке Си. Стандартные
функции для работы со строками. Тип данных – структура. Примеры.

16. Указатели и динамическое выделение памяти


Операция &. Указатели. Классы памяти и область действия. Использование
указателей в качестве параметров функций. Динамическое выделение и
освобождение памяти. Примеры.

17. Функции
Описание функций. Параметры. Возвращаемые значения. Примеры.

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


Понятие рекурсии. Числа Фибоначчи. Рекуррентные соотношения. Стек
(магазин). Косвенная рекурсия. Примеры.
19. Строки
Представление строк в языке C. Посимвольная обработка строк. Фукции
обработки строк. Примеры.

20. Структуры
Тип данных структура. Использование структур. Массив структур.
Примеры.

21. Файлы
Структурированный тип данных – файл. Процедуры и функции для работы
с файлами. Обработка текстовых файлов. Примеры.

22. Массивы и функции, как параметры


Передача массивов и функций в качестве параметров. Примеры.

23. Технологии программирования


Структурное программирование, модульное программирование, объектно-
ориентированное программирование, компонентное программирование,
структурная декомпозиция и нисходящее программирование.

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

№ пп № темы Наименование лабораторных работ, объем в часах


1. 1 Основные приемы работы в среде Turbo Pascal (4 часа).
2. 2 Стандартные типы данных (4 часа).
3. 3 Операторы цикла (4 часа)
4. 3,4 Одномерные массивы. (4 часа)
5. 4 Матрицы. (4 часа)
6. 5 Процедуры и функции (4 часа)
7. 6,7 Строки и записи (4 часа).
8. 9 Файлы (6 часов)
9. 13,14 Простейшие программы на языке Си. (4 часа)
10. 15,17 Подпрограммы (4 часа)
11. 18 Рекурсивные алгоритмы. (4 часа)
12. 16,19,21 Работа с динамической памятью (6 часов)

4.4. Расчетно-графическая работа, ее содержание.

Расчетно-графическая работа выполняется на тему «Ввод, обработка и


отображение информации на экране». Реализуется простейший графический
интерфейс.
Пример задания на расчетно-графическую работу.
Вывести на экран в графическом режиме графики двух функций на интервале
от хнач до хкон с шагом dx. Первая функция задана с помощью ряда Тейлора,
точность ее вычисления должна вводится с клавиатуры. Значения b, хнач и хкон
вводятся с клавиатуры. Графики должны быть плавными и различаться цветами.
Предусмотреть расчет и отображение на экране значений функций для заданного
значения x.

1 1 1 1 
y ( x ) = 2∑ 2 n +1
= 2  + 3 + 5 + ...  ,| x |> 1;
n = 0 (2n + 1) x  x 3x 5x 
x +1
z ( x) = ln + b.
x −1
Изображение должно занимать большую часть экрана, сопровождаться
заголовком, содержать наименования и градации осей и масштабироваться в
зависимости от исходных данных. При любых допустимых значениях исходных
данных изображение должно полностью помещаться на экране. Программа не
должна опираться на конкретные значения расширения экрана.

4.5 Кусовая работа и её содержание


Курсовая работа выполняется на тему «Базовые структуры и алгоритмы
обработки данных». В работе используются основные структуры и алгоритмы
обработки данных. Реализуется простейший пользовательчкий интерфейс.
Основная цель курсовой работы - научиться разрабатывать на языке
высокого уровня (С/С++) сложные программы, имеющие многофункциональную
структуру.
Работа должна быть выполнена в течение одного семестра. Для выданного
преподавателем задания необходимо разработать и отладить на компьютере
программу на языке С (или С++) и оформить отчет по курсовой работе. Список
индивидуальных заданий приведен ниже.
Оценка курсовой работы зависит от качества выполнения и оформления
курсовой работы, от результатов и сроков ее защиты.
Программа должна иметь многофункциональную структуру: состоять не из
одной главной функции main(), но и еще из нескольких подпрограмм. Можно
оформить отдельные функции в виде отдельных модулей, которые
компилируются раздельно, а потом с помощью компоновщика объединяются в
единый загрузочный модуль (exe-файл).
Всю необходимую функциям информацию следует передавать в виде
параметров, а не через глобальные переменные, изменение которых трудно
отследить.
Программа должна удовлетворять требованиям структурного
программирования, должна содержать комментарии, поясняющие назначение
каждой функции, ее параметров, локальных переменных и отдельных ее частей.
Программа должна быть хорошо читаемой и понятной не только Вам, но и
любому пользователю, знакомому с языком С (С++). Для наглядности программы
соблюдайте ступенчатую форму записи, имена функций и переменных выбирайте
осмысленные (Вам самим это поможет при отладке программы).
Программа должна быть отлажена. Для этого нужно обдуманно подобрать
набор тестов, на котором будет проверяться работа программы, причем делать это
нужно не после написания программы, а до написания (тесты "черного ящика") и
в процессе написания (тесты "белого ящика").
Пример задания на курсовую работу
Дан файл, содержащий информацию о сотрудниках отдела учреждения.
Структура записи файла:
− фамилия и инициалы сотрудника;
− год рождения;
− пол;
− стаж работы;
− оклад.
Написать программу, выдающую
− информацию о заданном сотруднике;
− список сотрудников пенсионного возраста в алфавитном порядке;
− средний оклад сотрудников отдела.

5. Учебно-методическое обеспечение дисциплины.


5.1. Рекомендуемая литература.
а) Основная литература
1. Фаронов В.В. Turbo Pascal 7.0 Начальный курс. Учебное пособие. М.:
«ОМД Групп», 2003.- 616с. (обеспеченность 0,5)
2. Павловская Т.А. Паскаль. Программирование на языке высокого уровня.
Учебник для ВУЗов. СПб: «Питер», 2007. – 393с. (обеспеченность 0,1)
3. Павловская Т.А. Паскаль. Программирование на языке высокого уровня.
Практикум. СПб: «Питер», 2007. – 317с. (обеспеченность 0,2)
4. Павловская Т.А. C/С++ Программирование на языке высокого уровня.
Учебник для ВУЗов. СПб: «Питер», 2005. – 461с. (обеспеченность 0)
5. Павловская Т.А. C/C++.Структурное программирование. Практикум. СПб:
«Питер», 2005. – 239с. (обеспеченность 0)

б) Дополнительная литература
1. Лавров С. Программирование. Математические основы, средства, теория
СПб.: BHV, 2002. – 304 с. (обеспеченность 0,1)
2. Культин Н. Turbo Pascal в задачах и примерах. Учебное пособие. СПб.:
BHV, 2007. – 384 с. (обеспеченность 0)
3. Немюгин С.А. Turbo Pascal. Программирование на языке высокого уровня.
Учебник для ВУЗов. 2 изд. СПб: «Питер», 2007. – 544 с. (обеспеченность 0)
4. Керниган Б. Язык программирования Си. изд.2 Киев: Диалектика, 2006. –
352 с. (обеспеченность 0)

5.2. Средства обеспечения освоения дисциплины:


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

6. Материально-техническое обеспечение дисциплины.


Аппаратное обеспечение:
Компьютерный класс на 12 рабочих мест студентов. Рабочее место
преподавателя. Проектор, экран, интерактивная доска.

Программное обеспечение:
Windows XP, Turbo Pascal, Turbo C, Delphi Developer Studio, NetOp School

7. Методические рекомендации по организации изучения дисциплины.


При изучении дисциплины используется балльно-рейтинговая система
оценки знаний. Контрольные тестирования организуются на 6, 12, 17 неделях
каждого семестра. Тестирование проводится в свободное от учебы время.
Рекомендуемый список контрольных вопросов по курсу приведен в
приложении 1.
Программа составлена в соответствии с Государственным образовательным
стандартом высшего профессионального образования по направлению подготовки
(специальности) 552800 (230100) «Информатика и вычислительная техника»,
специальность 220400 (230105) «Программное обеспечение вычислительной техники
и автоматизированных систем»

Программу составил:

________________ Шершуков К.В., ст.преподаватель каф. ПМИ КГТУ им.


А.Н.Туполева

Программа обсуждена и одобрена на заседании кафедры ПМИ

«____» ______________200__г., протокол №_____.

Зав. кафедрой ________________Роднищев Н.Е.

Председатель Учебно-методической ________________Суздальцев В.А.


комиссии факультета

Декан факультета ________________Емалетдинова Л.Ю.