300 likes | 468 Views
ВЫРАЖЕНИЯ в DELPHI. Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения. В выражении выполняются некоторые действия над параметрами. КОНСТАНТЫ. Константами называют параметры, значения которых не могут изменяться в процессе выполнения программы.
E N D
ВЫРАЖЕНИЯ в DELPHI Выражение - это синтаксическая единица языка, определяющая способ вычисления некоторого значения. В выражении выполняются некоторые действия над параметрами.
КОНСТАНТЫ Константаминазывают параметры, значения которых не могут изменяться в процессе выполнения программы. В выражениях возможно двоякое использование констант: • непосредственное использование значения константы; • использование имени константы.
КОНСТАНТЫ Возможно не только десятичное представление числовых констант, но и шестнадцатеричное, например $F5, где первый символ указывает, что далее следует шестнадцатеричная константа.
КОНСТАНТЫ • Для задания имени константы используется следующее объявление: const <имя> = <значение>; например, const a = 5; L ='Pascal’;
ТИПИЗИРОВАННЫЕ КОНСТАНТЫ Типизированная константа определяется ключевым словом Const,например Const Maximum: integer = 100; типизированные константы используются для задания начального значения переменных.
ПЕРЕМЕННЫЕ Переменныминазывают параметры, значения которых могут изменяться в процессе выполнения программы. примеры объявления переменных: Vara: integer; x, у: single; operat: (plus, minus, mult, divide);. В данном случае объявлены четыре переменных: а - целого типа, х, у-вещественного типа, operat- типа перечень.
арифметические; логические; операции над битами; операции отношения; операции со строками; операции с множествами; операции над объектами; адресная операция @. ОПЕРАЦИИ
ЛОГИЧЕСКИЕ ОПЕРАЦИИ Применяются к операндам логического типа, Результат вычисления логической операции получается также логического типа. Определяются эти операции специальными таблицами.
Операции над битами выполняются над целыми числами. Существуют следующие битовые операции: • not X - инверсия всех битов числа X; • X and Y - побитовое логическое умножение чисел X и Y; • X or Y - побитовое логическое ИЛИ над X и Y; • X xor Y - побитовое исключающее ИЛИ над X и Y; • X shr J - сдвиг содержимого числа X на J бит вправо; • X shl J - сдвиг числа X на J бит влево. Операции сдвига часто используются для умножения и деления целых чисел на 2, 22,23 и т. д. Например, пусть X = 3 (в двоичной форме 0011). Выполним X shl1 - 0011 сдвигаем влево на 1 разряд, получим 0110. Двоичное число 0110 равно 6 в десятичной системе, т. е. выполнено умножение на 2.
Операции отношения • Предназначены для сравнения двух величин. • Величины должны быть сравнимых типов. • Результат сравнения имеет логический тип. • Существуют шесть операций: • = равно, • < меньше, • <= меньше или равно, • <> не равно, • > больше, • >=больше или равно.
Адресная операция @ Позволяет определить адрес расположения • переменной, • типизированной константы, • подпрограммы и • некоторых других программных элементов в памяти.
ФУНКЦИИ Функция представляет собой специальную подпрограмму, предназначенную для вычисления какого-либо параметра, исходя из значений ее аргументов. Имеется большое количество встроенных стандартных функций. Возможно создание собственных функций. Любая функция задается своим именем с указанием после него в круглых скобках перечня аргументов, например sin(X)
ПОРЯДОК ВЫЧИСЛЕНИЯ ВЫРАЖЕНИЙ • Для того чтобы изменить приоритет выполняемых действий, используются круглые скобки.
ВИДЫ ОПЕРАТОРОВ • С помощью операторовосуществляется контроль за потоком вычислений и проводятся различные манипуляции с данными. • Операторами описываются выполняемые программой алгоритмические действия, которые необходимы для решения задачи. • Все операторы условно можно разделить на две группы: • простые • структурированные.
ВИДЫ ОПЕРАТОРОВ • Простыминазывают операторы, которые не содержат внутри себя других операторов. • Структурированнымиявляются такие операторы, которые состоят из других операторов. • К ним относятся: • составной оператор; • операторы условного перехода; • операторы цикла; • оператор над записями; • операторы обработки исключительных ситуаций.
ПРОСТЫЕ ОПЕРАТОРЫ • Таких операторов четыре: • оператор присваивания, • обращение к процедуре, • оператор безусловного перехода • пустой оператор.
ОПЕРАТОР ПРИСВАИВАНИЯ Является средством изменения содержимого памяти. С помощью этого оператора переменной присваивается значение какого-либо выражения. у := <выражение>; Например,Х:= 5; С := 'А'; Тип переменной должен быть совместим с типом выражения. Например, переменной вещественного типа можно присваивать выражения целого типа, но переменной целого типа нельзя присваивать значения выражений вещественного типа.
ОБРАЩЕНИЕ К ПРОЦЕДУРЕ позволяет выполнить вычисления, задаваемые подпрограммой вида Процедура. Как и функция, процедура имеет имя и может иметь список аргументов. При вызове вычислений из процедуры записывается имя нужной процедуры, а затем справа от имени в круглых скобках записывается список параметров-аргументов. Например, ProcName(X, Y);. Существует большое количество встроенных стандартных процедур, например Dec(X) и Inc(Х) Программист может составлять собственные процедуры.
ОПЕРАТОР БЕЗУСЛОВНОГО ПЕРЕХОДА записывается в следующем виде: goto <метка>;. Этот оператор позволяет изменить последовательный порядок выполнения операторов и перейти к выполнению программы, начиная с заданного оператора. Оператор, на который происходит переход, должен быть помечен меткой. Метки бывают двух видов: или какое-либо число 1...9999 или обычный идентификатор: А, В25. Все метки должны быть описаны в объявлении Label: 56, В25; Одной меткой можно пометить только один оператор: А := 2*х;. Использование оператора GOTO считается плохим стилем программирования. Пустой операторне выполняет никаких действий и никак не отображается в программе, разве только точкой с запятой.
СОСТАВНОЙ ОПЕРАТОР • представляет собой совокупность последовательно выполняемых операторов, заключенных в так называемые операторные скобки begin и end, т. е. Begin <Оператор 1>; . . . <Оператор N>; End; • Этот оператор, как правило, используется в составе других операторов.
ОПЕРАТОРЫ УСЛОВНОГО ПЕРЕХОДА • Операторы условного перехода позволяют строить разветвляющиеся вычислительные процессы. • Сначала рассматривается некоторое условие, а затем, в зависимости от того, ложно это условие или истинно, осуществляется переход на выполнение тех или иных действий. • Существует два оператора условного перехода: IF и CASE. • В операторе IF осуществляется выбор одного из двухвариантов расчета. • В операторе CASEосуществляется выбор одного из нескольких вариантов расчета.
ОПЕРАТОР IF Возможны 2 варианта записи этого оператора:. IF <условие> THEN <оператор 1>; IF <условие> THEN <оператор 1> ELSE <оператор 2>; Условие ветвления для оператора IF задается логическим выражением. Если <условие> возвращает true, то выполняется <оператор1>; Если <условие> возвращает false, то <оператор 1> не выполняется, а выполняется <оператор 2>, если таковой задан. Например, IF Х< 0 THEN Y:= -X; IF С<>25 THEN Y:= X + 5 ELSE Y:= A + X;. В первом операторе присваивание Y:= -х выполняется, если логическое выражение х < 0 истинно. Во втором случае имеется выбор, какой оператор выполнить.
ОПЕРАТОР CASE Оператор CASE имеет следующий синтаксис записи: CASE <селектор> OF С1: <оператор 1> C2: <оператор 2> CN: <оператор N>; ELSE <оператор>; End;. Условие ветвления - <селектор> - для оператора case задается выражением порядкового типа. С1 ... CN - CASE-константы должны совпадать по типу с селектором. <оператор 1> ... <оператор n> - это операторы, из которых должен выполниться только один - тот, у которого соответствующая CASE-константа совпадет с селектором. Если не обнаружено ни одного совпадения селектора с какой-либо CASE-константой, выполняется оператор, записанный после else. Ветвь else может отсутствовать. Тогда, если селектор не совпадет ни с одной CASE-константой, оператор case будет пропущен, т. е. не выполнится ни одного оператора внутри case. Например, VAR L: integer; CASE L OF 0: Label1.Caption := 'Числонуль'; 2,4,6,8: Label1.Caption := 'Четнаяцифра'; 1,3,5,7,9: Labell.Caption := 'Нечетнаяцифра'; 10..100: Labell.Caption := 'Числоот 10 до 100'; ELSE Labell.Caption := 'Число L < 0 или L > 100'; End;.
ОПЕРАТОРЫ ЦИКЛА • используются для программирования циклических вычислительных процессов. • Циклический вычислительный процесс представляет собой неоднократно повторяющиеся вычисления при различных значениях исходных данных. • Однократное выполнение расчета внутри цикла называется итерацией. • Существуют три оператора цикла: • For, • While и • Repeat.
ОПЕРАТОР ЦИКЛА FOR Оператор Forпозволяет организовать выполнение какого-либо другого оператора заранее заданное число раз. Существуют 2 варианта этого оператора: For <управляющая переменная> := <Start> to <Finish> do < оператор>; For < управляющая переменная> := <Start> downto <Finish> do <оператор>;. Управляющая переменная позволяет ограничить количество расчетов заданного оператора, которое зависит от значений выражений <Start> и <Finish>. Выражение<Start>определяет начальное значение управляющей переменной, выражение<Finish>- конечное значение. При каждой итерации управляющая переменная увеличивается на единицу в первом оператореи уменьшает свое значение на единицу во втором операторе. Как только значение управляющей переменной превзойдет значение < Finish> в первом операторе (станет меньше во втором операторе), цикл прекращается. Например, FOR I:= 1 ТО 10 DO Y:=sin (I); FOR I:= 10 DOWNTO 1 DO Y:=sin (I);. Если в самом начале цикла значение <Finish> будет больше, чем значение <start> для первого оператора, или значение <Finish> меньше, чем <start> для второго оператора, то не будет выполнено ни одной итерации. В Delphi имеют место ограничения на управляющую переменную, которая должна: • иметь порядковый тип; • быть объявлена в том же блоке, в котором помещен цикл, т. е. должна быть локальной.
ОПЕРАТОР ЦИКЛА WHILE Оператор цикла While используется, когда заранее неизвестночисло выполняемых итераций. while <логическое выражение> do <оператор>;. Итерации выполняются до тех пор, пока логическое выражение остается истинным. Если с самого начала значение логического выражения ложно, то оператор While будет пропущен
ОПЕРАТОР ЦИКЛА WHILE В отличие от оператора цикла Fог, который автоматически изменяет управляющую переменную и управляет циклом, в операторе while программист должен сам организовать управление: • выбрать какую-либо управляющую переменную, в данном случае i -счетчик циклов; • присвоить ей начальное значение (например, i: = 0;) ; • в операторе while записать условие продолжения выполнения цикла,например divider <= half; • (как только это условие станет равным false,цикл закроется); • внутри цикла осуществлять изменение управляющей переменной на каждой итерации, например inc (i) - увеличить значение i на единицу.
ОПЕРАТОР ЦИКЛА REPEAT Оператор цикла Repeat записывается следующим образом: Repeat <Оператор1>; <Оператор n>; Until <логическое выражение>;. В этом цикле выполняются все операторы между Repeat и until, пока логическое выражение не станет истинным. В операторе Repeat логическое выражение определяет условие окончания цикла. Независимо от значения логического выражения, хотя бы одна итерация обязательно должна выполниться. Как и в случае с циклом while, программист должен сам организовать управление итерациями в цикле Repeat.