НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра программирования
 
Программа курса лекций по
ПРОГРАММИРОВАНИЮ
Для студентов 1-го курса по специальностям
"математика, "механика" и "прикладная математика"
на 1997-98 учебный год
 
2-й семестр
 

1. Введение

Понятия алгоритма, ЭВМ, операционной системы, машинного представления программ и данных, языков программирования высокого уровня, транслятора и основных этапов решения задач на ЭВМ.

2. Способы описания языков программирования

Синтаксис и семантика языка программирования. Лексемы и понятия, синтаксические диаграммы и металингвистические формулы. Методы описания семантики: операционная, денотационная и аксиоматическая семантики.

3. Языковый уровень представления данных

Понятие типа и системы типов. Стандартные типы данных и их представление на современных ЭВМ. Арифметические типы данных: целые, вещественные, представление их значений, операции. Конструируемые типы данных, отрезки типов, типы, заданные перечислением значений, записи, массивы, множества, файлы.

4. Языковый уровень представления алгоритмов

Переменные и константы, операции и стандартные функции. Выражения, порядок их вычисления и побочные эффекты. Понятие оператора, простые и составные операторы. Процедуры и функции как абстракции операторов и выражений. Блоки и правила локализации имен.

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

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

6. Методы разработки программ

Базовые алгоритмы обработки информации. Пошаговая разработка программ: нисходящий и восходящий подходы. Структурное программирование. Модули и модульное проектирование программ.

7. Верификация, отладка и тестирование программ

Правильность программ. Методы промежуточных утверждений и структурной индукции. Отладка программ. Тестирование и система тестов. Средства отладки и тестирования программ.

Литература
Учебники

1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль.- М.: Наука, 1988.

2. Бауэр Ф., Гооз Г. Информатика.- М.:Мир,1990, Ч.1,2.

3. Вирт Н. Алгоритмы + структуры данных = программы. - М.:Мир,1985.

4. Грис Д. Наука программирования. - М.:Мир,1984.

5. Зуев Е.А. Программирование на языке Turbo-Pascal 6.0 - 7.0.- М.:Веста, Радио и связь, 1993.

6. Иордан Э. Структурное проектирование и конструирование программ. - М.: Мир, 1979.

7. Касьянов В.Н. Основы программирования на языке Паскаль. - Новосибирск: НГУ, 1987.

8. Климов Ю.С., Касаткин А.И., Мороз С.М. Программирование в среде TURBO PASCAL 6.0. - Минск: Высшэйшая школа, 1992.

9. Мейер Б., Бодуэн К. Методы программирования.- М.:Мир,1982, т.1,2.

Задачники

1. Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию. - М.:Наука,1988.

2. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по программированию. - Новосибирск:НГУ,1986.

3. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ.- М.:Наука,1986.

4. Агафонов В.Н., Поттосин И.В., Бежанова М.М., Сабельфельд В.К. Сборник упражнений по программированию на языке Паскаль. - Новосибирск: НГУ,1985.

 

Программу составили:
профессор И.В. Поттосин
профессор В.Н. Касьянов
профессор М.М. Бежанова