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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

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


УПИ

"Утверждаю"
Проректор по учебной работе

____________ А. Б. Соболев

«______» _________________2004 г.

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

Программирование на языке высокого уровня

Рекомендована Методическим советом УГТУ – УПИ


Для направления 654600 – Информатика и вычислительная техника
Специальности 220200 – Автоматизированные системы обработки инфор-
мации и управления

Екатеринбург
2004
2

Программа составлена в соответствии с Государственным образователь-


ным стандартом высшего и среднего образования и учебным планом по
направлению подготовки 654600 – Информатика и вычислительная техни-
ка, специальности 220200 – Автоматизированные системы обработки ин-
формации и управления, утвержденным приказом Минобразования РФ
№686 от 02.03.2000г.

Программу составили доц. кафедры АСУ Зверева О.М.

Программа одобрена на заседании кафедры Автоматизированных систем


управления 4 ноября 2004 года, протокол № 4

Заведующий кафедрой _______________ Л.Г. Доросинский

Программа одобрена на заседании Методической комиссии радиотехниче-


ского факультета

Председатель Методической комиссии ________________О. Г. Дружинина

АННОТАЦИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ

Дисциплина посвящена изучению принципов построения современных


Дисциплина посвящена изучению языков программирования высокого
уровня Паскаль и С++. Изучаются основные конструкции языков и совре-
менные приемы и технологии программирования.
3

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

Современный уровень инженерного труда требует хорошего знания


вычислительной техники и умения использовать ее в своей практической
деятельности. Одним из основных требований к специалистам в области
автоматизированных систем управления является умение программировать
и знание языков программирования. Курс "Программирование на языке
высокого уровня" относится к тем дисциплинам, которые закладывают ос-
нову знаний по программированию на языках высокого уровня. Он должен
заложить основу для всех последующих курсов в области программирова-
ния.
Основная цель дисциплины - развить знания и навыки в области алго-
ритмизации, а также дать студенту знания и практические навыки в облас-
ти разработки, отладки и тестирования программных продуктов на языках
высокого уровня
В настоящее время разработаны и эксплуатируются сотни различных
языков программирования. Вместе с тем можно выделить ограниченное
число языковых конструкций, которые присутствуют в каждом алгоритми-
ческом языке и знание которых дает возможность без труда освоить любой
подобный алгоритмический язык. Изучение таких конструкций произво-
дится на примере языка Паскаль, специально разработанного Никлаусом
Виртом для обучения слушателей программированию «регулярным обра-
зом», а следовательно, как нельзя лучше подходит в качестве первого язы-
ка программирования для обучения программированию. Вторым предла-
гаемым для изучения языком программирования является язык С++. Этот
язык используется для написания большинства системных программ. Та-
кие ОС как ОС семейства Windows и большинство версий UNIX написаны
в основном с использованием этого языка.
Будучи первым курсом в цикле курсов по программированию данный
курс базируется на знаниях, полученных в процессе изучения курса «Ин-
форматики» и, являясь базовым, готовит студента к последующим дисцип-
линам, связанным с вычислительной техникой.
4

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

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


иметь представление
- о возможностях языков программирования различного уровня;
- о современных тенденциях в области развития языков и систем про-
граммирования;
- об основных принципах создания Windows-приложений
знать
- основные структуры данных, используемые в языках;
- синтаксис основных операторов языка Pascal и С++l;
- структуру программ на языке;
- структуру интегрированной среды Turbo Pascal и Turbo C++;
- основные принципы алгоритмизации;
уметь
- создавать схему алгоритма для любой функциональной задачи;
- написать программу на языках Паскаль и С++;
- провести отладку и тестирование созданного программного продукта
средствами изученных интегрированных сред;
- анализировать полученные результаты
5

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

Вид учебной работы Всего Семестры


часов 2 3 4
Общая трудоемкость дисциплины 260 120 120 20
Аудиторные занятия 136 68 68
Лекции 68 34 34
Практические занятия (ПЗ)
Семинары (С)
Лабораторные работы (ЛР) 68 34 34
Другие виды аудиторных занятий
Самостоятельная работа 102 52 52 20,0
Подготовка к лекциям 27,2 13,6 13,6
Подготовка к лабораторным работам 20,4 10,2 10,2
Выполнение курсовой работы 20,0 20,0
Подготовка к контрольной работе 4,0 2,0 2,0
Подготовка к коллоквиуму 4,0 2.0 2,0
Выполнение домашней работы 24,0 12,0 12,0
Самостоятельная работа за ПК 10,2 12,2
Вид итогового контроля Э З Э
Экзамен - 2- -
6

4 Содержание дисциплины
4.1. Разделы дисциплины и виды занятий
№ Раздел дисциплины Лекц., ЛР,
п/п час час
1 Введение. Этапы решения задачи на 2
ЭВМ
2 Технология нисходящего структурно- 2 2
го программирования
3 Язык Turbo Pascal. История создания. 1
4 Среда Turbo Pascal. Основные файлы 3 2
системы.
5 Алфавит языка. Общая структура 2
программы на языке Turbo Pascal.
6 Типы в языке. 2
7 Программирование линейных алго- 1 2
ритмов.
8 Программирование разветвляющихся 1
алгоритмов.
9 Программирование циклических ал- 2 6
горитмов.
10 Составные типы в Паскале. 2 4
11 Подпрограммы в языке. 2 4
12 Работа с файлами. 2 4
13 Указатели и динамическая память. 2 4
14 Модули в языке. 2
15 Стандартные модули.
15.1 Модуль CRT 2 2
15.2 Графика в Turbo Pascal. Модуль 4 4
GRAPH.
16 Состав языка Си++ 1
17 Этапы создания исполняемой про- 1
граммы.
18 Основные типы данных языка. 2 4
19 Основные операции в языке. Приори- 4
теты операций
20 Операторы языка: 4 8
21 Указатели и адреса 8 12
22 Функции и указатели 6 4
23 Ссылки 2
24 Перегрузка функций 2
25 Структуры и объединения 2 10
26 Средства препроцессора 2
7

5 Содержание разделов дисциплины

Ведение. Этапы решения задачи на ЭВМ.


Постановка задачи.
Выбор метода решения.
Алгоритмизация.
Свойства алгоритма.
Схема алгоритма.
Рекурсивные алгоритмы.
Программирование.
Трансляция.
Тестирование и отладка.
Создание документации.
Сопровождение и эксплуатация.
Раздел 2. Технология нисходящего структурного программирования.
Понятие простой программы.
Теорема структурного программирования.
Модульное нисходящее проектирование.
Раздел 3. Язык Turbo Pascal. История создания.
Раздел 4. Среда Turbo Pascal. Основные файлы системы.
4.1.Меню Edit.
Меню Search.
Меню Run.
Меню Compile.
Меню Debug.
Меню Tools.
Меню Options.
Меню Help.
Раздел 5. Алфавит языка. Общая структура программы на языке Turbo
Pascal.
5.1. Раздел объявлений.
5.2.Общий блок программы.
Раздел 6. Типы в языке.
Целые типы.
Символьный тип.
Вещественные типы.
Булевский тип.
Ограниченные типы.
Перечислимые типы.
Раздел 7. Программирование линейных алгоритмов.
Оператор присваивания.
Операции в языке. Порядок вычисления в выражениях.
Стандартные функции
Операторы ввода/вывода.
8

Раздел 8. Программирование разветвляющихся алгоритмов.


8.1. Условный оператор.
8.2. Составной оператор.
Оператор варианта.
Оператор выбора.
Раздел 9. Программирование циклических алгоритмов.
Оператор цикла с предусловием.
Оператор цикла с постусловием.
Оператор цикла с параметром.
Операторы Break и Continue.
Раздел 10. Составные типы в Паскале.
Регулярные типы (массивы).
Комбинированные типы (записи). Записи с вариантами. Оператор
WITH.
Строковые типы. Стандартные подпрограммы работы со строками.
Множественные типы.
Раздел 11. Подпрограммы в языке.
Параметры подпрограмм.
Тело подпрограммы.
Формальные и фактические параметры.
Параметры-переменные и параметры-значения.
Особенности функций. Рекурсия.
Параметры-константы.
Параметры без типа.
Параметры массивы без размерности и параметры – строки открытого
типа.
Досрочный выход из подпрограммы.
Процедурные типы.
Параметры – процедуры и параметры-функции.
Директива FORWARD.
Раздел 12. Работа с файлами.
Операции над файловыми переменными.
Типизированные файлы.
Текстовые файлы.
Файлы без типа.
Раздел 13. Указатели и динамическая память.
Адресация: с6егментная и линейная.
Типизированные и не типизированные указатели.
Односвязные и двусвязные списки.
Выделение и освобождение динамической памяти для типизированных
указателей.
Не типизированные указатели: выделение и освобождение памяти.
Массивы указателей. Динамические массивы.
Раздел 14. Модули в языке.
9

Общая структура модуля.


Подпрограммы в модулях.
Компиляция модулей.
Использование модулей.
Раздел 15. Стандартные модули.
15.1. Модуль CRT.
Программирование клавиатуры.
Текстовый вывод на экран.
Программирование звукового генератора.
Другие подпрограммы.
Графика в Turbo Pascal. Модуль GRAPH.
Инициализация графического режима.
Установка цветов.
Рисование точек и линий.
Рисование фигур.
Вывод текста в графическом режиме.
Работа со страницами видео памяти.
Работа с текстом.
Создание движущихся изображений.
Раздел 16. Состав языка Си++:
1 алфавит языка;
16. 2 идентификаторы;
16.3 ключевые слова;
16.4 знаки операций;
16.5 константы;
16.6 комментарии.
16.7 Структура программы на языке С++
Раздел 17. Этапы создания исполняемой программы.
Раздел 18. Основные типы данных языка.
18.1. Стандартные преобразования типов.
Описания переменных. Классы памяти. Область видимости и область
действия переменной.
Раздел 19. Основные операции в языке. Приоритеты операций.
19.1 Выражения (леводопустимое выражение, праводопустимое
выражение).
Раздел 20. Операторы языка:
операторы выбора
if … else,
switch;
операторы цикла:
цикл с предусловием;
цикл с постусловием;
итерационный цикл.
операторы передачи управления (goto, break, continue);
10

ввод-вывод в языке.
Раздел. 21. Указатели и адреса.
Указатели и массивы.
связь указателей с массивами;
элементы массива;
символьные массивы;
многомерные массивы;
массивы указателей;
массивы динамической памяти;
Раздел 22. Функции и указатели:
определение функции, прототип функции, сигнатура функции.
параметры функции;
вызов функции;
начальные (по умолчанию) параметры функции;
передача массивов через параметры;
функции с переменным числом параметров;
подставляемые (inline) функции;
рекурсивные функции;
указатели на функцию.
Раздел 23. Ссылки:
понятие ссылки;
передача параметра по ссылке.
Раздел 24. Перегрузка функций.
Раздел 25. Структуры и объединения:
структура как тип данных;
список как пример использования структурного типа;
объединения разнотипных данных;
битовые поля структур и объединений.
Раздел 26. Средства препроцессора:
замены в тексте;
включения текстов из файлов;
условная компиляция;
макроподстановки средствами препроцессора.

Раздел 6. Практические и лабораторные занятия

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

Цель лабораторных работ слушателей – получить навык получить


навык создания отладки и тестирования программ. Занятия проводятся в
компьютерном классе Используются интегрированные среды программи-
рования Turbo Pascal 7.0. и Turbo C++ 3.0
11

№ Номер и наименова- Наименование лабораторных работ (прак-


п/п ние раздела дисцип- тических занятий)
лины
1 Программирование Создание простой программы на Пас-
линейных алгорит- кале
мов. Программиро-
вание разветвляю-
щихся алгоритмов
2 Программирование Создание программы циклической
циклических алго- структуры. Работа с массивами
ритмов. Составные
типы в Паскале.
3 Подпрограммы в Процедуры и функции в среде Turbo
языке. Работа со Pascal.
строками
4 Работа со списками Создание списков в языке Паскль
5 Работа с файлами Записи и работа с файлами
6 Графика в Turbo Создание графических приложений
Pascal. Модуль
GRAPH.
7 18. Основные типы Работа с операторами ввода-вывода языка
данных языка С++
8 20. Операторы языка Создание простой циклической програм-
мы
9 21. Указатели и адре- Работа с двумерными массивами
са
10 22. Функции и указа- Функции в языке. Создание меню
тели
11 25. Структуры и объ- Динамические структуры данных. Органи-
единения зация данных в списковые структуры

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

7. Домашняя работа. Темы для самостоятельного изучения


Алгоритмизация. Рекурсивные алгоритмы.
Создание динамических структур.
Действия с данными основных типов языка С++.
12

Работа со строками в языке С++.

Темы для теоретического коллоквиума


Работа с файлами
Основные операторы языка С++.

Темы контрольных работ


Операторы языка Паскаль
Работа с указателями.

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

Рекомендуемая литература

Основная литература

1. Турбо Паскаль 7.0 – К.: издательская группа BHV, 1998. 448 с.


2. Зубов В.С. Программирование на языке Turbo Pascal (6.0 и 7.0). М.:
Информационно-издательский дом “Филин”, 1997. 320 с.
3. Подбельский В. В. Язык Си++. Учеб пособие. - 2 изд., перераб. и доп. -
М.: Финансы и статистика, 1996 - 560с.
4. Павловская Т. А. С/ С++. Программирование на языке высокого уровня.
СПб:Питер, 2002. -464с.

Вспомогательная литература
Мануйлов В.Г. Разработка программного обеспечения на Паскале.
М.: “ПРИОР”, 1996. 238 с.
Зуев Е.А. Язык программирования Turbo Pascal 6.0, 7.0. М.: Веста,
Радио и связь, 1993. 384 с.
Сергиевский М.В., Шалашов А.В. Турбо Паскаль 7.0. Язык, среда
программирования. М.: Машиностроение, 1994. 254 с.
Шилдт Г. Самоучитель С++, 3-е издание: Пер. с англ. СПб.: BHV -
Санкт-Петербург, 1998. 688 с.

Учебно-методические издания УГТУ

1. Зверева О.М., Саблина Н.Г. Среда Турбо Паскаль 7.0. Реализация


простейших алгоритмов: Конспект лекций. Часть 1. Екатерин-
бург: Изд-во УМЦ-УПИ, 2000. 112 с.
2. Зверева О.М., Саблина Н.Г. Среда Турбо Паскаль 7.0. Работа с
файлами. Модульное программирование: Конспект лекций. Часть
2. Екатеринбург: Изд-во УМЦ-УПИ, 2000. 89 с.
13

3. Зверева О.М., Саблина Н.Г. Среда Турбо Паскаль 7.0. Реализация


простейших алгоритмов: Рабочая тетрадь. Екатеринбург: Изд-во
УМЦ-УПИ, 2000. 46 с.
4. Зверева О.М., Саблина Н.Г. Работа в интегрированной среде про-
граммирования Турбо Паскаль 7.0. Методические указания и ва-
рианты заданий к лабораторным работам. Екатеринбург: Изд-во
УМЦ-УПИ, 2000. 24 с.

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

− ОС семейства Windows .
− Интегрированная среда программирования Turbo Pascal 7.0
− Интегрированная среда программирования Turbo С++ 3.0

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


Компьютерный класс
Носители.