- •Программирование в системе Pascal abc
- •Введение
- •1. Система программирования pascal abc
- •1.1. Структура меню среды
- •1.2. Команды редактора Pascal abc
- •Команды удаления и вставки
- •1.3. Правила оформления программ
- •1.4. Компиляция и исправление синтаксических ошибок
- •1.5. Этапы подготовки и решения задач на компьютере
- •1.6. Словарь основных терминов
- •2. Начальные сведения о языке pascal abc
- •2.1. Алфавит языка
- •2.2. Константы
- •2.3. Идентификаторы и типы данных
- •2.4. Переменные и именованные константы
- •2.5. Структура простой программы и комментарий
- •3. Оператор присваивания и числовые данные
- •3.1. Арифметические выражения
- •Приоритеты операций в выражении
- •3.2. Оператор присваивания
- •3.3. Процедуры ввода-вывода
- •3.4. Стандартные функции Pascal abc
- •3.5. Целые типы в Pascal abc
- •3.6. Вещественные типы
- •Переменные комплексного типа
- •3.7. Примеры и задания к самостоятельному выполнению
- •4. Программирование разветвленных алгоритмов
- •4.1. Логические выражения
- •4.2. Условный оператор if
- •4.3. Составной и пустой операторы
- •4.4. Оператор безусловного перехода
- •4.5. Пример и задания с оператором if
- •4.6. Оператор выбора варианта case
- •4.7. Примеры и задания с оператором case
- •5. Программирование алгоритмов циклической структуры
- •5.1. Оператор счётного цикла
- •5.2. Примеры и задания для оператора цикла со счётчиком
- •Задания к самостоятельному выполнению
- •5.3. Оператор цикла с предусловием
- •5.4. Пример и задания для оператора цикла с предусловием
- •5.5. Оператор цикла с постусловием
- •5.6. Процедуры прерываний циклов
- •5.7. Примеры и задания для циклов с постусловием
- •Задания для самостоятельного выполнения
- •6. Структурированные типы данных
- •6.1. Массивы данных
- •Типизированные константы-массивы
- •6.2. Пример и задания для одномерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •6.3. Ограниченный тип (диапазон)
- •6.4. Пример и задания для двумерных массивов
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •Задание 3
- •7. Структурное программирование
- •7.1. Структура сложной программы
- •7.2. Подпрограммы. Процедуры и функции
- •7.3. Структура подпрограммы-функции
- •7.4. Примеры и задания с подпрограммой-функцией
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •7.5. Структура подпрограммы-процедуры
- •7.6. Передача в подпрограмму массивов и строк
- •7.7. Рекурсия в программе
- •7.8. Вложенные подпрограммы
- •7.9. Процедуры exit и halt
- •7.10. Пример и задания с подпрограммой-процедурой
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •8. Обработка символьных данных
- •8.1. Символьный тип
- •8.2. Задания для символьных данных
- •9. Обработка строк текста
- •9.1. Строковый тип
- •9.2. Встроенные функции и процедуры для обработки строк
- •9.3. Пример и задания для обработки строк
- •Задания для самостоятельного выполнения
- •10. Файлы
- •10.1. Процедура связывания файлов
- •10.2. Процедуры и функции для работы с файлами
- •10.3. Типизированные файлы
- •10.4. Текстовые файлы
- •10.5. Процедуры ввода
- •10.6. Процедуры вывода
- •10.7. Примеры и задания для работы с файлами
- •Задания для самостоятельного выполнения Задание 1
- •Задание 2
- •11. Комбинированный тип – записи
- •11.1. Структура данных типа записи
- •11.2. Обработка полей записей
- •11.3. Задания с обработкой записей Задание 1
- •Задание 2
- •12. Процедурные типы
- •Библиографический список
- •Обозначения графические в схемах алгоритмов (гост 19.701-90)
- •Содержание
3. Оператор присваивания и числовые данные
3.1. Арифметические выражения
В программах на Паскале обрабатываются выражения различных типов. Простое выражение представляет собой константу или переменную.
Сложное выражение содержит константы и переменные, объединенные знаками операций, скобками и функциями. Данные, которые участвуют в операциях, называются операндами. Операциями называются действия, производимые над данными (т.е. операндами).
Арифметическим называется выражение, содержащее операнды целого или вещественного типов и арифметические операции. Правило для определения типа арифметического выражения: если в выражении все операнды целые и отсутствует операция деления, то результат выражения получится целого типа (integer), в противном случае вещественного типа (real).
В арифметических выражениях могут использоваться бинарные и унарные арифметические операции (табл. 1), а также стандартные функции.
Таблица 1
Приоритеты операций в выражении
№ п/п |
Арифметические |
Логические |
Отношения |
Другие |
1 2 3 4 |
*, /, div, mod +, -
|
NOT аnd, shl, shr, оr, xor
|
<=, >=, <>,<,>,= |
@ адресное преобразование
in |
К бинарным относятся арифметические операции, применяемые к двум операндам: умножение ( * ), деление ( / ), целочисленное деление ( DIV), остаток от целочисленного деления (MOD), сложение (+) и вычитание ( - ).
К унарным относятся арифметические операции, применяемые к одному операнду: операции + и – для целых вещественных чисел.
При выполнении целочисленного деления операцией DIV результатом является целая часть частного (остаток отбрасывается), например: 15 DIV 4 = 3.
В случае применения операции MOD результатом является остаток от деления левого на правый операнд (оба операнда целые), например: 11 MOD 3 = 2.
Согласно общим правилам вычисления в первую очередь вычисляются выражения, заключенные в круглые скобки, а затем вычисляются значения функций, входящих в выражение.
В арифметических выражениях без скобок вычисления выполняются в соответствии с приоритетом операций (табл. 1), т.е. сначала выполняется унарная операция (унарный минус), затем операции умножения и деления ( *, /, div, mod) и в последнюю очередь операции сложения и вычитания ( +, - ) .
3.2. Оператор присваивания
Как и во всех языках программирования, в Pascal ABC имеется оператор присваивания. Он служит для определения или переопределения значения переменной. В случае переопределения старое значение переменной стирается и записывается новое значение. Структура оператора присваивания имеет следующий вид:
<идентификатор> := <выражение>;
Для идентификатора (имени переменной) допускается использовать любой тип, за исключением файлового. При этом тип идентификатора и тип выражения в операторе присваивания должны быть совместимы [1–3], т.е. для арифметического выражения используется переменная арифметического типа, для логического выражения – переменная логического типа и т.п.
С помощью этого оператора переменной, идентификатор которой стоит в левой части, присваивается значение выражения. Для обозначения операции присваивания применяется составной символ присваивания ( := ), слева от которого записывается имя переменной, а справа выражение, значение которого предварительно вычисляется перед выполнением присваивания.
Пример арифметического оператора присваивания, где переменным присваиваются значения арифметических выражений:
y := x*y + sin(x); { VAR x, y: real ; }
x := 0; { VAR x: integer ;}
Пример логического оператора присваивания, где переменной присваивается значение логического выражения:
B := ( X<0 ) OR ( K>1 ); { VAR X, K: real; B: boolean;} .
Пример оператора присваивания, где переменной присваивается символ:
S := ' + '; { VAR S: char;}