- •СОДЕРЖАНИЕ
- •Раздел 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
- •ЛИТЕРАТУРА
В данном выражении S – это строка (переменная типа String), S[I] – I-ый элемент строки (символ), Length – встроенная функция, вычисляющая текущую длину строки. При вычислении по полной схеме такая запись выражения является некорректной, т.к. при значении первого отношения, равном False, значение второго отношения не определено. При вычислении по короткой схеме вычисление выражения прекращается, как только первое отношение равно False (второе отношение вычисляться не будет).
И последнее. Если при записи длинных выражений вы не уверены, в какой последовательности будут выполняться операции, используйте круглые скобки, даже если с учетом приоритета операций они не нужны.
5.4. Оператор присваивания
Многие программы или фрагменты программ являются линейными – т.е. такими, в которых операторы выполняются строго последовательно, в порядке записи в тексте программы.
Наиболее часто используемым оператором линейной программы является оператор присваивания.
В общем случае оператор присваивания имеет формат, который представляет рисунок 5.11. Здесь <Ид._функции> −идентификатор (имя функции).
Оператор присваивания предписывает вычислить значение выражения, записанного в его правой части, и присвоить его переменной, имя которой записано в левой части. К моменту вычисления выражения все входящие в него переменные уже должны быть определены (иметь некоторые значения).
<Оператор_присваивания> ::=
<Переменная> ::= <Выражение><Ид._функции>
Рисунок 5.11 –Синтаксическая диаграмма оператора присваивания
Тип переменной в левой части оператора присваивания и тип выражения должны быть совместимыми по присваиванию. Поэтому, с учетом классификации скалярных стандартных выражений, существует три типа
128
скалярных стандартных операторов присваивания: арифметический,
логический, символьный.
Арифметический оператор присваивания.
Служит для присваивания значения переменной арифметического типа (вещественного или целочисленного). В правой части оператора должно быть записано арифметическое выражение.
Примеры арифметических операторов присваивания:
X := 0;
Y := 2 * a / b;
Z := sin(c * 2 + a * a);
Все переменные должны иметь арифметический тип.
Логический оператор присваивания.
Это оператор присваивания, в левой части которого указана переменная типа Boolean. В правой части оператора должно быть логическое выражение.
Примеры логических операторов присваивания:
A := False;
B := G > L;
C := (E <> F) Or Odd(X);
D := Y = Z;
Здесь: A, B, C, D – переменные логического типа, Х – переменная целого типа, E, F, G, L, Y, Z – переменные любых скалярных типов (совместимых между собой).
Символьный оператор присваивания.
Это оператор присваивания, в левой части которого указана переменная типа Char. В правой части оператора должно быть задано символьное выражение.
Примеры литерных операторов присваивания:
A := ‘A’;
B := C;
D := Pred(B);
Здесь A, B, C, D – переменные типа Char.
129