ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.01.2024
Просмотров: 1076
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
ЛР 1. Операторы и выражения Delphi
Управление жизненным циклом объекта
Ограничение видимости членов класса
Особенности объявления методов
Принадлежность к родительскому контейнеру
Размещение и размеры элемента управления
Видимость и активность элемента управления
ЛР5. Обработка клавиатурных событий и событий мышки
Языки программирования
ЛР 1. Операторы и выражения Delphi
После знакомства с основами объявления переменных и констант и построения простейших структур нам предстоит перейти на очередной уровень освоения языка— научиться использовать в программах операторы и выражения Delphi.В терминах программирования под выражением понимается логически законченный фрагмент исходного кода программы, предоставляющий способ получения (вычисления) некоторого значения. Простейшим примером выражения может стать строка кода X:=Y+Z, возвращающая результатсуммирования двух значений. Предложенное выражение содержит три операнда (X, Yи Z) и два оператора: :=и+.Перечень операторов входящих в состав языка Delphi весьма обширен, при классификации операторов можно выделить следующие группы:-
оператор присваивания; -
арифметические операторы; -
оператор конкатенации строк; -
логические операторы; -
операторы поразрядного сдвига; -
операторы отношения; -
операторы множеств; -
строковые операторы; -
составной оператор; -
условные операторы.
Оператор присваивания
Едва ли не самый популярный среди всех операторов Delphi— оператор присваивания нам уже хорошо знаком. Комбинация символов ":=" уже неоднократно встречалась на предыдущих страницах книги, с ее помощью мы передавали значения в переменные. Например,X:=10;//присвоитьпеременнойXзначение10Благодаряоператору:=впеременнойXокажетсяновоезначение.Арифметические операторы
Как и следует из названия, арифметические операторы необходимы для осуществления математических действий с целыми и вещественными типами данных. Помимо известных еще из курса начальной школы операторов сложения, вычитания, умножения и деления, Delphi обладает еще двумя операторами целочисленного деления (табл. 1.1).
Таблица1.1.АрифметическиеоператорыDelphi
| Операто р | Операция | Входные значения | Результат операции | Пример | Результ ат |
| + | Сложение | integer, double | integer, double | X:=3+4; | 7 |
| - | Вычитание | integer, double | integer, double | X:=10-3.1; | 8.9 |
| * | Умножение | integer, double | integer, double | X:=2*3.2; | 4.4; |
| / | Деление | integer, double | double | X:=5/2; | 3.5; |
| div | Целочисленно е деление | integer | integer | X:=5 div 2; | 2 |
| mod | Остаток от деления | integer | integer | X:=5 mod 2; | 1 |
var{X:integer;-неподходящийтипданных} X:extended;{-правильно}begin
X:=4/2;//результатдолженбытьпереданвпеременнуювещественноготипа WriteLn(X);end.Даже ученик начальной школы знает, что 4/2=2, другими словами в результате деления мы получим целое число. Однако Delphi обязательно забракует код, если мы попытаемся поместить результат операции деления в целочисленную переменную, и уведомит об этом программиста сообщением, о несовместимости типов.ПримечаниеОператоры +и–могут применяться не только для сложения и вычитания, но и для определения знака значения. Например: X:=-5.
Оператор конкатенации строк
Оператор конкатенации строк позволяет объединять две текстовые строки в одну. Для простоты запоминания еще со времен языка Pascal в качестве объединяющего оператора используется тотже самый символ, что и для сложения двух числовых величин — символ плюса + (листинг 1.2).Листинг 1.2. Конкатенация строкconstS1='Hello';varS:String='World'; CH:Char='!';beginS:=S1+','+S+CH;WriteLn(S);//'Hello,World!' ReadLn;end.Обратитевнимание,чтооператорконкатенацииможетбытьпримененнетолькодлятипаданныхString,ноиксимвольномутипуChar.
Логические операторы
В табл. 1.2 представлены четыре логических (булевых) оператора, осуществляющих операции логического отрицания, логического "И", логического "ИЛИ" и исключающего "ИЛИ". В результате выполнения любой из логических операций мы можем ожидать только одно значение из двух возможных: истина (true) или ложь (false).Таблица1.2.ЛогическиеоператорыDelphi| Оператор | Операция | Пример | Результат |
| NOT | Логическое отрицание | var x: boolean = NOT true; | false |
| x:= NOT false; | true | ||
| AND | Логическое умножение (конъюнкция, логическое "И") для двух выражений | x:=true AND true; | true |
| x:=true and false; | false | ||
| x:=false AND true; | false | ||
| x:=false AND false; | false | ||
| OR | Выполняет операцию логического "ИЛИ" (сложения) для двух выражений | x:=true OR true; | true |
| x:=true OR false; | false | ||
| x:=false OR true; | true | ||
| x:=false OR false; | false | ||
| XOR | Выполняет операцию исключающего "ИЛИ" для двух выражений | x:=true XOR true; | false |
| x:=true XOR false; | true | ||
| x:=false XOR true; | true | ||
| x:=false XOR false; | false |
Логические операции разрешено проводить с целыми числами. Если вы не забыли порядок перевода чисел из десятичной системы счисления в двоичную и наоборот, то вам наверняка покажется интересным листинг 1.3.Листинг 1.3. Логические операции с целыми числами
varX,Y,Z:byte;begin{*******логическоеумножение*******} X:=5; //вбинарномвиде0101Y:=3; //вбинарномвиде0011Z:=XANDY;//0101AND0011=0001{десятичное1} WriteLn(X,'AND',Y,'=',Z);{*******логическоесложение*******} X:=1; //вбинарномвиде0001 Y:=2; //вбинарномвиде0010Z:=XORY;//0001OR0010=0011{десятичное3} WriteLn(X,'OR',Y,'=',Z);{*******исключениеили*******} X:=5; //вбинарномвиде0101Y:=3; //вбинарномвиде0011Z:=XXORY;//0101XOR0011=0110{десятичное6} WriteLn(X,'XOR',Y,'=',Z);{*******отрицание*******}X:=1; //вбинарномвиде00000001Z:=NOTX;//NOT00000001=11111110{десятичное254} WriteLn('NOT',X,'=',Z);ReadLn;end.