- •СОДЕРЖАНИЕ
- •Раздел 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
- •ЛИТЕРАТУРА
Пример 6.4.
Пример описания типов.
Type
L = Boolean;
Int = Integer;
Ned = (Pn, Vt, Sr, Ch, Pt, Sb, Vs);
В данном примере введено три новых типа. Первое и второе описания используют стандартные типы Boolean и Integer (для описания типа используется <Имя_типа>, см. рисунок 6.10). Третье описание задает нестандартный тип данных – перечислимый тип (для описания типа используется <Задание_типа>, см. рисунок 6.10). Ему присвоено имя Ned (Неделя). При вычислениях переменные типа Ned смогут принимать одно из перечисленных в скобках значений. Введенные в разделе Type типы могут использоваться в дальнейшем при описании переменных.
6.5. Раздел переменных
Каждая переменная, используемая в программе, обязательно должна быть объявлена (описана). Это значит, что переменной должно быть присвоено имя и указан тип значений, которые может принимать данная переменная.
Описание переменных содержатся в разделе переменных. Раздел начинается служебным словом Var и имеет вид, который представляет рисунок
6.11.
<Раздел_переменных> ::=
Var <Имя_переменной> : <Тип> ;
,
Рисунок 6.11 – Синтаксическая диаграмма раздела переменных
С учетом синтаксической диаграммы (см. рисунок 6.10) тип переменной можно задать двумя способами.
138
1-ый способ. Тип описан в разделе типов или является стандартным. В этом случае в разделе переменных указывается <Имя_типа>.
Пример 6.5.
Использование имени типа при объявлении переменных (применительно к примеру 6.4).
Var
X: L;
I: Int;
Day: Nеd;
A, B, C: Real;
Здесь L, Int, Ned – описанные в разделе Type типы, Real – стандартный
тип.
2-ой способ. В описании переменной используется явное задание типа. При таком способе описывается переменная и одновременно задается
новый тип без имени.
Пример 6.6.
Использование задания типа при объявлении переменных.
Var
Day: (Pon, Vt, Sr, Cht, Pyat, Sub, Vosk);
Предпочтение следует отдавать первому способу описания переменных. Каждая переменная должна быть описана обязательно и ровно один раз.
Раздел переменных используется для описания автоматических переменных.
Автоматические переменные – это переменные, память для которых выделяется автоматически при входе в блок, где они локализованы (объявлены).
Автоматические переменные создаются при вызове подпрограммы и уничтожаются при ее завершении.
139
6.6. Раздел операторов
Это основной раздел программы. В нем описываются действия, необходимые для решения данной конкретной задачи.
Раздел операторов имеет вид, который иллюстрирует рисунок 6.12. Данный раздел представляет собой последовательность операторов
программы, разделенных точкой с запятой (;), заключенную в операторные скобки Begin, End.
<Раздел_операторов> ::=
Begin <Оператор> End .
;
Рисунок 6.12 – Синтаксическая диаграмма раздела операторов
140