Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика программирование, учебник.doc
Скачиваний:
0
Добавлен:
25.12.2019
Размер:
22.08 Mб
Скачать

276

ФЕДЕРАЛЬНОЕ АГЕНТСТВО МОРСКОГО И РЕЧНОГО ТРАНСПОРТА

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ВОДНЫХ

КОММУНИКАЦИЙ»

_____________________________________________________________________________

Е.Г. Барщевский, А.Н. Егоров, Н.В. Крупенина, С.А. Неклюдова

ИНФОРМАТИКА

Структурное программирование

Санкт-Петербург

2008

УДК 681.3.06: 800.92

ББК 32.98

Инфо 741

Рецензенты:

доктор технических наук, профессор

Д.П. Голоскоков

доктор физико-математических наук, профессор

А.Ю. Александров

Информатика. Структурное программирование: учебно – методическое пособие / Е.Г. Барщевский, А.Н. Егоров, Н.В. Крупенина, С.А. Неклюдова – СПб.: СПбГУВК, 2008 – 281 с.

ISBN

В учебно - методическом пособии представлены краткие теоретические сведения, рассмотрены примеры выполнения и приведены индивидуальные задания для лабораторных работ по дисциплине «Информатика»: основные этапы решения задач с использованием компьютеров (часть I), программирование основных вычислительных процессов (§§1-10, часть II), графическое программирование (§11, §12, часть II). Технология выполнения лабораторных работ предполагает формализацию, алгоритмизацию и программирование основных вычислительных процессов, на базе которых разрабатываются программные продукты, необходимые в инженерно-технической деятельности. Наиболее сложные и трудоёмкие разделы пособия рассмотрены в части III, где приводятся основные теоретические сведения и примеры решения задач.

Цикл лабораторных работ в полном объеме рассчитан для подготовки профессиональных программистов по специальностям: «Прикладная математика и информатика» 010501.65, «Информационные системы и технологии» 230201.65, 090105.65 «Комплексное обеспечение информационной безопасности автоматизированных систем», а в сокращенном варианте предназначен для использования при изучении дисциплины «Информатика» студентами всех инженерно – технических специальностей.

УДК 681.3.06: 800.92

ББК 32.98

Инфо 741

ISBN

© Санкт-Петербургский государственный университет водных коммуникаций, 2008

© Барщевский Е.Г., Егоров А.Н., Крупенина Н.В., Неклюдова С.А.

О Г Л А В Л Е Н И Е

ВВЕДЕНИЕ 6

Часть I. Этапы решения задачи на компьютере 7

1.1 Постановка и формализация условий задачи 7

1.2 Алгоритмизация задачи 7

1.2.1 Интерпретация объектов 8

1.2.2 Вычислительная схема 8

1.2.3 Вычислительная схема решаемой задачи 9

1.2.4 Составление блок-схемы 9

1.2.5 Трассировка 10

1.3 Составление программы на языке Паскаль 11

1.4 Подготовка текста программы на машинном носителе 12

1.5 Трансляция (компиляция) программы 12

1.6 Компоновка (редактирование связей) 13

1.7 Запуск программы на исполнение 13

1.8 Анализ результатов 14

Часть II. Задачи. Алгоритмизация и программирование 15

КЛАССИЧЕСКИХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ 15

1 ЛИНЕЙНЫЙ ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС 15

1.1 Программирование формул 17

1.2 Формализация и алгоритмизация задачи 27

2 РАЗВЕТВЛЯЮЩИЙСЯ ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС 30

2.1 Программирование формул 33

2.2 Формализация и алгоритмизация графических задач 36

2.3 Параметрические задачи 41

3 ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ 47

3.1 Арифметический цикл 50

3.2 Итерационный цикл 63

3.3 Арифметические циклы с рекуррентными соотношениями 72

3.4 Итерационные циклы с рекуррентными соотношениями 79

3.5 Двойной вложенный цикл 87

4. ПОЛЬЗОВАТЕЛЬСКИЕ АЛГЕБРАИЧЕСКИЕ ФУНКЦИИ 93

4.1 Применение функции в линейных и разветвляющихся вычислительных процессах 93

4.2 Использование функции в циклических процессах 97

5 ОДНОМЕРНЫЕ ЧИСЛОВЫЕ МАССИВЫ 106

5.1 Работа с компонентами массива 114

5.2 Работа с векторами 117

6 ДВУМЕРНЫЕ ЧИСЛОВЫЕ МАССИВЫ 122

6.1 Работа с элементами массива 124

6.2 Работа с векторами и матрицами 127

6.3 Использование процедур и функций для работы с массивами 131

7 РАБОТА СО СТРОКАМИ 138

7.1 Анализ и преобразование текста строки 138

7.2 Работа со строковыми функциями и процедурами 141

8 РАБОТА СО СПИСКАМИ 152

8.1 Стеки 152

8.2 Очереди 153

8.3 Бинарные деревья 153

9 РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ 155

10 РАБОТА С ФАЙЛАМИ ЗАПИСЕЙ 163

11 КОМПЬЮТЕРНАЯ ГРАФИКА 178

12 АНИМАЦИЯ ИЗОБРАЖЕНИЙ 184

Часть III. Теоретические положения и примеры программ 188

1 ВЫЧИСЛЕНИЕ ОПРЕДЕЛИТЕЛЯ КВАДРАТНОЙ МАТРИЦЫ 188

1.1 Вычисление определителя второго порядка 188

1.2 Вычисление определителя третьего порядка 188

1.3 Вычисление определителя четвертого порядка 188

2 ЗАПИСИ, ТИП ДАННЫХ RECORD 189

2.1 Структура записи 189

2.2 Использование записей для описания таблиц 190

2.3 Вложение записей 192

3 ФАЙЛЫ ЗАПИСЕЙ 194

3.1 Структура файла 195

3.2 Встроенные процедуры и функции обработки файлов 196

3.3 Организация последовательного доступа к записям файла 198

3.4 Организация прямого доступа к компонентам файла 202

3.5 Создание индексного файла 204

3.6 Работа с файлом произвольного доступа 205

3.7 Информационное взаимодействие текстовых файлов и файлов записей 215

3.8 Запросы к файлам записей 219

4 ГРАФИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 225

4.1 Управление видеорежимом 225

4.2 Построение графических фигур 227

4.3 Корректировка изображения 235

4.4 Создание пользовательского шаблона заливки 236

4.5 Работа с текстом 241

5 АНИМАЦИЯ ИЗОБРАЖЕНИЙ 244

5.1 Дублирования спрайта цветом фона 245

5.2 Манипулирование фрагментами изображения 250

5.3 Использование страниц видеопамяти 257

6 СООБЩЕНИЯ ОБ ОШИБКАХ 261

6.1 Ошибки стадии компиляции 261

6.2 Ошибки стадии выполнения 270

БИБЛИОГРАФИЧЕСКИЙ СПИСОК 274