Шупрута В.В. - Delphi 2005 - Учимся программировать (1080891), страница 21
Текст из файла (страница 21)
Payment div 4; // Оклад Сумкина равен// 10000.end;Изучаем основные типывыражений и операцииОсновными элементами, из которых состоит исполняемая часть программы,являются константы и переменные, а также различные действия, которые с нимипроизводятся. Каждый из этих элементов характеризуется своим значением ипринадлежит к какому-либо типу данных.
С помощью знаков операций и скобокиз них можно составлять выражения, которые фактически представляют собойправила получения новых значений. В общем случае выражения состоят изнескольких элементов (операндов) и знаков операций. Тип получаемого результата определяется типом операндов и видом примененных к ним операций.В языке Delphi определены следующие операции:>• унарные (например, not)>• мультипликативные (*, / , div, mod, and);>• аддитивные (+, -, or );>• отношения (=, о , >, <, >=, <=).Приоритет операций убывает в указанном порядке, то есть высшимприоритетом обладают унарные операции, низшим - операции отношения. Порядок выполнения нескольких операций равного приоритетаустанавливается компилятором из условия оптимизации кода и необязательно слева направо.
А при вычислении логических выраженийоперации равного приоритета всегда вычисляются слева направо. Ниже втабл. 3.6 приведены некоторые основные операции, которые можноиспользовать в языке Delphi.Таблица 3.6 т Основные операции , используемые в языке DelphiОперацияКакое действиеп роизводитсяТип используемыхоперандов+++сложениелюбой целыйнаименьший целыйсложениесцепление строклюбой вещественныйextendedстроковыйстроковыйТип получаемогорезультатаИзучаем основные т и п ы в ы р а ж е н и й и операции^ ± fТаблица 3.6 т Основные операции, используемые в языке Delphi (окончание)ОперацияКакое действиепроизводитсяТип используемыхоперандовТип получаемогорезультата-вычитаниевычитаниелюбой целыйлюбой вещественныйнаименьший целый*умножениенаименьший целый*умножениелюбой целыйлюбой вещественный/делениелюбой вещественныйextendeddivлюбой целыйнаименьший целыйmodцелочисленное делениеостаток от делениялюбой целыйнаименьший целыйnotотрицаниелогическийлогическийnotотрицание •любой целыйнаименьший целыйandлогическое Илогическийлогическийandлогическое Илюбой целыйнаименьший целыйorлогическое ИЛИлогическийлогическийorлогическое ИЛИлюбой целыйshlлевый сдвиглюбой целыйнаименьший целыйнаименьший целыйshr=правый сдвигравнолюбой целыйлюбой простой или строковыйнаименьший целыйлогическийоне равнолюбой простой или строковыйлогический<меньшелогическийлогический>большелогическийлогический<=меньше или равнологическийлогический>=больше или равнологическийлогическийextendedextendedНемного подробнее остановимся на логических операциях языка Delphi.
В языке существуют следующие логические операции:>• n o t - логическое НЕ (отрицание);>• and - логическое И (логическое умножение);>• o r - логическое ИЛИ (логическое сложение)> хог - исключающее ИЛИ.Логические операции можно применять к операндам логического или целого типов. Если операнды - целые числа, то результат логической операции тоже целое число, биты которого формируются из битов операндов по приведенным в табл.
3.7 правилам.Таблица 3.7 т Логические операции над данными целого типаОперанд 1Операнд 2notandor1отсутствуетотсутствуетотсутствуетотсутствует01отсутствует0отсутствуетотсутствуетотсутствуетхог\№fГЛАВА 3 • Язык программирования DelphiТаблица 3.7 • Логические операции над данными целого типа (окончание)Операнд 1Операнд 2notandorxor0001010100010111отсутствуетотсутствуетотсутствуетотсутствует1110Логические операции над данными логического типа дают результат,сформированный по правилам, указанным в табл. 3.8Таблица 3.8 т Логические операции надданными логического типаОперанд 1Операнд 2notandorxortruefalsefalsefalsetruetrueотсутствуетотсутствуетfalsetruefalsetruefalsetrueотсутствуетотсутствуетотсутствуетотсутствуетотсутствуетотсутствуетfalsefalsefalsetrueотсутствуетотсутствуетfalsetruetruetrueотсутствуетотсутствуетfalsetruetruefalseЗнакомимся с операторами языка DelphiС некоторыми операторами языка Delphi мы уже познакомились по ходупрочтения книги и разбору примеров.
Это, например, оператор присваивания(:=), с помощью которого мы присваивали значения переменным. Длясоставления исходного кода программ нам потребуется знание некоторогоколичества основных операторов языка (инструкций). Объем данной книги непозволяет подробно рассмотреть все инструкции языка, поэтому будут рассмотрены только самые основные операторы:tСоставной оператор beginСоставной оператор - последовательность произвольных операторов, заключенных в операторные скобки, - зарезервированные слова b e g i n и end. Языкпрограммирования Delphi не предполагает никаких ограничений по использованию этого оператора - составной оператор может содержать сколькоугодно вложенных составных операторов.Как правило, подобный оператор используется в описанных ниже операторах,где требуется выполнять определенную последовательность действий.Знакомимся с операторами языка DelphiУсловный операторУсловный оператор позволяет проверить некоторое условие и в зависимости отрезультатов выполнить то или иное действие.
Таким образом, условныйоператор - это средство ветвления вычислительного процесса.Структура условного оператора имеет следующий вид:if <условие> then <оператор1> else <оператор2>;Здесь if, then, e l s e - зарезервированные ключевые слова (в переводе сангл. означающие: если, то, иначе), <условие> - произвольное выражениелогического типа, <оператор1> и <оператор2> - любые операторы языка Delphi (или последовательности операторов, заключенные в конструкции b e g i n end). Допускается также использовать и сокращенный вариант условногооператора:if <условие> then <оператор>;Работает условный оператор по следующему алгоритму, представленномуна рис. 3.3. Сначала вычисляется условное выражение (<условие>).
Еслирезультатом логического выражения будет значение True (Истина), товыполняется оператор, стоящий после слова then. Если же результатомлогического выражения будет значение F a l s e (Ложь), то будет выполненоператор, стоящий после слова e l s e . Сокращенный вариант условного оператораработает аналогично (рис. 3.4), отличие состоит в том, что оператор после словаthen не выполняется (пропускается), если значение условия равно False.Рассмотрим вариант использования условного оператора:varх,у,value:integer;beginif x>y then value:=x+y else value:"x^y;end;В приведенном примере значение переменной v a l u e определяется взависимости от результата сравнения переменных х и у.
Если х>у, то в переменную v a l u e запишется сумма этих двух чисел, в противном случае разность.Условие в условном операторе может быть составным. В этом случае отдельные условия «закрываются» в круглые скобки и объединяются логическимиГЛАВА 3 Т Язык программирования DelphiIFДА (TRUE)s^условие^ ч .
НЕТ (FALSE)" ^ ч . выполняется? . / "THENELSEлюбой оператор(последовательностьоператоров)языкаDelphiлюбой оператор(последовательностьоператоров)языкаDelphiРис. 3.3 т Блок-схема работы условного оператора i f - t h e n - e l s eIFДА (TRUE)S^условие ^ N . НЕТ (FALSE)•^выполняется?^/THENлюбой оператор(последовательностьоператоров) языкаDelphiРис. 3.4 т Блок-схема работы сокращенного оператора i f - t h e nЗнакомимся с операторами языка Delphi•операторами not, or, and или хог.
Формат такого условия выглядит следующимобразом:(<условие1>) <логический_оператор1> (<условие2>)<логический_оператор2> ... <логический_операторЫ-1> (<условиеЫ>)Пример использования сложного условия приведен ниже:varage:integer;begin.// Если возраст от 18 до 50,if (age>=18) and (age<=50) then ... //выполнить действия.end ;Операторы повторенийВ языке Delphi имеются специальные операторы, позволяющие выполнятьидентичные операции некоторое количество раз. Такие операторы называются операторами повторения, или операторами цикла.
Мы рассмотримнесколько подобных операторов.Счетный оператор цикла f or-to-do имеет следующую структуру:for <параметр_цикла>:=<начальное_значение> to <конечное_значение>do <оператор>;Здесь for, to, do - зарезервированные слова (в переводе с англ. - для, до,выполнить), <параметр_цикла> - переменная типа I n t e g e r , <начальное_значение> - начальное значение или выражение того же типа, < к о нечное_значение> - конечное значение или выражение того же типа,<оператор> - произвольный оператор Delphi (или последовательностьоператоров, заключенная в конструкцию begin-end).Оператор f or-to-do работает следующим образом:1.