- •Тема 1. Технология программирования. Основные понятия и подходы
- •1.1 Технология программирования и основные этапы ее развития
- •1.1 Проблемы разработки сложных программных систем (пс)
- •1.2 Блочно-иерархический подход к созданию сложных систем (сс)
- •1.4 Жизненный цикл и этапы разработки программного обеспечения
- •1.5 Оценка качества процессов создания программного обеспечения
- •Тема 2. Основы теории программирования
- •2.1 Понятие технологичности программного обеспечения
- •Диалоговые программы
- •2.2 Модули и их свойства
- •2.3 Основные понятия программирования. Средства описания структурных алгоритмов
- •Описание алгоритма с помощью естественного языка
- •Описание алгоритма с помощью блок-схемы
- •Описание алгоритма с помощью алгоритмических языков
- •2.4 Стиль оформления программы
- •Тема 3. Программирование на языке высокого уровня Pascal
- •3.1 Введение
- •3.2 Основные понятия языка Pascal
- •3.3 Операторы ввода-вывода данных
- •Простые типы данных
- •Структурированные типы данных
- •Работа с текстовыми файлами
- •Другие типы данных
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.5 Выражения, операнды, операции
- •Порядок вычисления выражений
- •3.6 Операторы языка Простые операторы
- •Структурные операторы
- •Работа с массивами
- •3.6 Подпрограммы
- •Процедуры
- •Функции
- •Рекурсивные подпрограммы
- •Параметры и аргументы
- •Стандартные процедуры и функции
- •3.7 Списки: основные виды и способы реализации
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
- •Задания для студентов заочной формы обучения по курсу «Технология программирования (ТеПр)»
- •Вопросы для экзамена по курсу «Технология программирования»
- •1. Технология программирования и основные этапы ее развития
3.5 Выражения, операнды, операции
При выполнении программы осуществляется обработка данных, в ходе которой с помощью выражений вычисляются и используются различные значения. Выражение представляет собой конструкцию, определяющую состав данных, операции и порядок выполнения операций над данными. Выражение состоит из операндов, знаков операций и круглых скобок. В простейшем случае выражение может состоять из одной переменной или константы. Тип значения выражения определяется типом операндов и составом выполняемых операций.
Операнды представляют собой данные, над которыми выполняются действия. В качестве операндов могут использоваться константы, переменные, элементы массивов и функции.
Операции – это действия, которые выполняются над операндами. Операции бываю унарными и бинарными. Унарнаяоперация относится к одному операнду, и ее знак записывается перед операндом, например, - x . Бинарная операция выражает отношение между двумя операндами, и знак ее записывается между операндами, например, x + y.
Круглые скобки используются для указания порядка выполнения операций.
Если в операциях используется несколько данных, то их типы должны быть либо идентичными, либо совместимыми.
В зависимости от типов операций и операндов выражения могут быть арифметическими, логическими и строковыми.
Арифметические выражения (АВ). Результатом выполнения АВ является число, тип которого зависит от типов операндов, составляющих это выражение. В АВ можно использовать числовые типы (целочисленные и вещественные), арифметические операции и функции, возвращающие числовое значение.
Тип значения АВ определяется типом операндов и операциями. Если в операции участвуют целочисленные операнды, то результат операции также будет целочисленного типа. Если хотя бы один из операндов принадлежит к вещественному типу, то результат также будет вещественным. Исключением является операция деления, результат которой всегда вещественный.
Унарные арифметические операции + (Сохранение знака) и – (Отрицание знака) относятся к знаку числа и не меняют типа числа.
Примеры. Пусть в программе есть строки:
var a, b, c, d: integer; x, y: real;
. . .
a:=40; b:=13 ;
c:= a div b; d:= a mod b; //c=3, d=1
y:=sin(a) + b/exp(x) - 12.5; // y=sin a + b/ e x – 12,5
Примечание . Знаки +, -, * можно использовать и с операндами других типов, но тогда они будут иметь другой смысл.
Над данными целочисленного типа можно выполнять также следующие побитовые (поразрядные) операции:
Shl – сдвиг влево;
Shr – сдвиг вправо;
And – И (арифметическое умножение);
Or – ИЛИ (арифметическое сложение);
Xor – арифметическое исключающее ИЛИ;
Not – Не (арифметическое отрицание).
Особенностью побитовых операций является то, что они выполняются над операндами поразрядно.
Примеры. Пусть в программе есть строки:
var a, b, c, d: integer;
. . .
a:=5; b:=9 ;
c:= Not a; // a= 0101, Not (0101) = 1010 =10 дес .
d:= a And b; // b=1001, 0101 And 1001 = 0001 = 1 дес .
Примечание 1. Кроме перечисленных побитовых операций существуют одноименные логические операции, применяемые к данным логического типа.
Примечание 2. В Object Pascal отсутствует операция возведения в степень. Для возведения числа (выражения) в целую степень можно применять многократное умножение на данное число в цикле. Возведение положительного ненулевого числа x в любую степень a можно выполнить с помощью выражения exp ( a * Ln ( x )) .
Примечание 3. К данным целочисленного типа применима также функция Odd ( x ): Boolean , которая анализирует четность выражения x .
Задание 4. а). a=12, b=22, a and b = ?
b). a=5, b=9, a or b = ?
c). a=12, b=22, a or b = ?
Логические выражения (ЛВ). Результатом выполнения ЛВ является логическое значение True или False. Такие выражения чаще всего используются в условных операторах и операторах цикла. Логические выражения могут содержать:
логические константы True и False ;
логические переменные типа Boolean;
операции сравнения (отношения);
логические операции;
круглые скобки.
Для установления отношения между двумя значениями, заданными выражениями, переменными или константами, используются следующие операции сравнения: =, <, >, <=, >=, <>. Операции сравнения выполняются после вычисления соответствующих выражений. Результатом операции сравнения является значение False, если соответствующее отношение не имеет место, и значение True в противном случае.
Примечание. Приоритет операций сравнения ниже, чем приоритет логических операций. Поэтому, если логическое выражение, содержащее операцию сравнения, является операндом логической операции, его нужно заключит в круглые скобки.
Результат выполнения логических операций при применении их к логическим выражениям (операндам логического типа) будет логического типа (Boolean). Логические операции And, Or, Xor являются бинарными, операция Not – унарной.
