- •СОДЕРЖАНИЕ
- •Раздел 1. ОБЩИЕ СВЕДЕНИЯ О ПРОГРАММНОМ ОБЕСПЕЧЕНИИ
- •1.1. Принцип программного управления
- •1.2. Автоматическое выполнение команд программы
- •1.3. Этапы постановки и решения задачи на компьютере
- •1.4. Назначение и классификация языков программирования
- •1.4.1. Машинно-ориентированные языки
- •1.4.2. Машинно-независимые языки
- •1.5. Структура программного обеспечения
- •1.5.1. Системы программирования
- •1.5.2. Операционные системы
- •Раздел 2. ОСНОВЫ АЛГОРИТМИЗАЦИИ
- •2.1. Алгоритм и его свойства
- •2.2. Способы описания алгоритмов
- •2.2.1. Словесное описание
- •2.2.2. Графическое описание
- •2.2.3. Запись на алгоритмическом языке
- •2.3. Разновидности структур алгоритмов
- •2.3.1. Линейный вычислительный процесс
- •2.3.2. Разветвляющийся вычислительный процесс
- •2.3.3. Циклический вычислительный процесс
- •Раздел 3. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
- •3.1. Теория структурного программирования
- •3.2. Реализация структурного проектирования в современных языках программирования
- •3.3. Преобразование неструктурированных программ в структурированные
- •3.3.2. Метод введения переменной состояния
- •3.3.3. Метод булевого признака
- •3.4. Способы графического представления структурированных схем алгоритмов
- •3.4.1. Метод Дамке
- •3.4.2. Схемы Насси-Шнейдермана
- •Раздел 4. АЛГОРИТМИЧЕСКИЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ
- •4.1. Общая характеристика языка Паскаль
- •4.2. Алфавит языка Паскаль
- •4.3. Основные понятия языка
- •4.3.1. Идентификаторы
- •4.3.2. Комментарии
- •4.4. Структура простейшей программы
- •4.5. Способы описания синтаксиса
- •4.5.2. Синтаксические диаграммы
- •Раздел 5. ОСНОВНЫЕ ТИПЫ ДАННЫХ
- •5.1. Классификация данных
- •5.2. Стандартные скалярные типы данных
- •5.2.1. Целочисленные типы
- •Формат
- •5.2.2. Вещественные типы
- •Функция
- •5.2.3. Символьный тип (тип Char)
- •5.2.4. Логический тип (тип Boolean)
- •Функция
- •5.3. Выражения
- •5.4. Оператор присваивания
- •Раздел 6. СТРУКТУРА ПРОГРАММЫ
- •6.1. Программный модуль
- •6.2. Раздел меток
- •6.3. Раздел констант
- •6.4. Раздел типов
- •6.5. Раздел переменных
- •6.6. Раздел операторов
- •Раздел 7. ОПЕРАТОРЫ
- •7.1. Составной оператор
- •7.2. Программирование линейных и разветвляющихся структур алгоритмов
- •7.2.1. Оператор перехода Goto
- •7.2.2. Условный оператор If
- •7.2.3. Оператор варианта (выбора) Case
- •7.2.4. Пустой оператор
- •7.3. Программирование циклических структур алгоритмов
- •7.3.1. Оператор цикла с параметром (оператор For)
- •7.3.2. Оператор цикла с постусловием
- •7.3.3. Оператор цикла с предусловием
- •7.3.4. Операторы Continue и Leave
- •Раздел 8. СТРУКТУРИРОВАНИЕ И ОФОРМЛЕНИЕ ПРОГРАММ
- •Раздел 9. ОПИСАННЫЕ СКАЛЯРНЫЕ ТИПЫ
- •9.1. Перечислимый скалярный тип
- •9.2. Тип диапазон
- •10.1. Массивы
- •10.1.1. Задание массивов
- •10.1.2. Действия над элементами массивов
- •10.1.3. Действия над массивами
- •10.1.4. Типизованные константы типа массив
- •10.2. Строковые данные
- •10.2.1. Строковые константы
- •10.2.2. Строковые переменные
- •10.2.3. Встроенные функции, определенные над данными типа String
- •ЛИТЕРАТУРА
УЧЕБНОЕ ПОСОБИЕ
по дисциплине
Основы алгоритмизации и программирования
Часть 1
Для студентов первого курса специальности I 40 01 01
«Программное обеспечение информационных технологий»
Минск 2006
Автор – Глухова Лилия Александровна, канд.техн.наук, доцент кафедры «Программное обеспечение информационных технологий» Белорусского государственного университета информатики и радиоэлектроники.
2
|
|
СОДЕРЖАНИЕ |
|
Раздел 1. |
Общие сведения о программном обеспечении................................... |
6 |
|
1.1. |
Принцип программного управления............................................................. |
6 |
|
1.2. Автоматическое выполнение команд программы....................................... |
7 |
||
1.3. Этапы постановки и решения задачи на компьютере................................. |
8 |
||
1.4. Назначение и классификация языков программирования ......................... |
9 |
||
1.4.1. Машинно-ориентированные языки......................................................... |
9 |
||
1.4.2. Машинно-независимые языки ................................................................. |
9 |
||
1.5. |
Структура программного обеспечения ...................................................... |
11 |
|
1.5.1. Системы программирования.................................................................. |
12 |
||
1.5.2. Операционные системы.......................................................................... |
14 |
||
Раздел 2. |
Основы алгоритмизации....................................................................... |
15 |
|
2.1. Алгоритм и его свойства.............................................................................. |
15 |
||
2.2. |
Способы описания алгоритмов................................................................... |
15 |
|
2.2.1. Словесное описание................................................................................ |
15 |
||
2.2.2. Графическое описание............................................................................ |
17 |
||
2.2.3. Запись на алгоритмическом языке......................................................... |
32 |
||
2.3. |
Разновидности структур алгоритмов.......................................................... |
33 |
|
2.3.1. Линейный вычислительный процесс..................................................... |
33 |
||
2.3.2. Разветвляющийся вычислительный процесс........................................ |
35 |
||
2.3.3. Циклический вычислительный процесс................................................ |
38 |
||
Раздел 3. |
Структурное программирование......................................................... |
46 |
|
3.1. |
Теория структурного программирования .................................................. |
46 |
|
3.2. Реализация структурного проектирования в современных языках |
|
||
программирования ................................................................................................ |
50 |
||
3.3. |
Преобразование неструктурированных программ в структурированные. |
||
|
......................................................................................................................... |
|
51 |
3.3.1. Метод дублирования кодов программы................................................ |
52 |
||
3.3.2. Метод введения переменной состояния................................................ |
57 |
||
3.3.3. Метод булевого признака....................................................................... |
64 |
||
3.4. Способы графического представления структурированных схем |
|
||
алгоритмов............................................................................................................. |
67 |
||
3.4.1. Метод Дамке ............................................................................................ |
68 |
||
3.4.2. Схемы Насси-Шнейдермана................................................................... |
72 |
||
Раздел 4. Алгоритмический язык программирования паскаль......................... |
81 |
||
4.1. Общая характеристика языка Паскаль....................................................... |
81 |
||
4.2. |
Алфавит языка Паскаль ............................................................................... |
82 |
|
4.3. |
Основные понятия языка............................................................................. |
84 |
|
4.3.1. Идентификаторы...................................................................................... |
84 |
||
4.3.2. Комментарии............................................................................................ |
87 |
||
4.4. |
Структура простейшей программы ............................................................ |
88 |
|
|
|
|
3 |
4.5. |
Способы описания синтаксиса.................................................................... |
91 |
|
4.5.1. Расширенная форма Бэкуса-Наура (РБНФ).......................................... |
91 |
||
4.5.2. Синтаксические диаграммы................................................................... |
94 |
||
Раздел 5. Основные типы данных........................................................................ |
97 |
||
5.1. |
Классификация данных................................................................................ |
97 |
|
5.2. |
Стандартные скалярные типы данных....................................................... |
98 |
|
5.2.1. Целочисленные типы.............................................................................. |
98 |
||
5.2.2. Вещественные типы.............................................................................. |
112 |
||
5.2.3. Символьный тип (тип Char).................................................................. |
119 |
||
5.2.4. Логический тип (тип Boolean).............................................................. |
121 |
||
5.3. Выражения................................................................................................... |
123 |
||
5.4. Оператор присваивания............................................................................. |
128 |
||
Раздел 6. |
Структура программы ........................................................................ |
130 |
|
6.1. Программный модуль................................................................................. |
130 |
||
6.2. Раздел меток................................................................................................ |
133 |
||
6.3. Раздел констант........................................................................................... |
134 |
||
6.4. Раздел типов................................................................................................ |
137 |
||
6.5. Раздел переменных..................................................................................... |
138 |
||
6.6. Раздел операторов....................................................................................... |
140 |
||
Раздел 7. |
Операторы............................................................................................ |
141 |
|
7.1. Составной оператор.................................................................................... |
141 |
||
7.2. |
Программирование линейных и разветвляющихся структур алгоритмов |
||
|
....................................................................................................................... |
|
142 |
7.2.1. Оператор перехода Goto ....................................................................... |
142 |
||
7.2.2. Условный оператор If............................................................................ |
144 |
||
7.2.3. Оператор варианта (выбора) Case........................................................ |
147 |
||
7.2.4. Пустой оператор.................................................................................... |
149 |
||
7.3. Программирование циклических структур алгоритмов......................... |
151 |
||
7.3.1. Оператор цикла с параметром (оператор For).................................... |
151 |
||
7.3.2. Оператор цикла с постусловием.......................................................... |
154 |
||
7.3.3. Оператор цикла с предусловием.......................................................... |
156 |
||
7.3.4. Операторы Continue и Leave ................................................................ |
158 |
||
Раздел 8. |
Структурирование и оформление программ................................... |
161 |
|
Раздел 9. Описанные скалярные типы............................................................... |
166 |
||
9.1. Перечислимый скалярный тип.................................................................. |
166 |
||
9.2. Тип диапазон............................................................................................... |
170 |
||
Раздел 10. |
Структурные типы.............................................................................. |
173 |
|
10.1. Массивы....................................................................................................... |
173 |
||
10.1.1. Задание массивов................................................................................. |
173 |
||
10.1.2. Действия над элементами массивов.................................................. |
179 |
||
10.1.3. Действия над массивами..................................................................... |
181 |
||
10.1.4. Типизованные константы типа массив ............................................. |
181 |
||
10.2. Строковые данные...................................................................................... |
184 |
||
4 |
|
|
|
10.2.1. Строковые константы ......................................................................... |
184 |
10.2.2. Строковые переменные....................................................................... |
185 |
10.2.3. Встроенные функции, определенные над данными типа String..... |
189 |
10.2.4. Встроенные процедуры, определенные над данными типа String 191 |
|
Литература............................................................................................................... |
194 |
5