- •2. Понятие класса в Делфи. Взаимосвязь класса и объекта. Дерево классов в Делфи.
- •5. Понятие и достоинства подхода объектно-ориентированного программирования.
- •21. Что такое событийное программирование? Понятие события и его роль в современном программировании. 22. События в Делфи программах, их назначения, средства реализации, примеры разнообразных событий.
- •23. Примеры событий в конкретных программах на Делфи.
- •24. Составные имена в программах – когда они возникают, как формируются и с помощью каких средств можно сократить длину таких имен. (например, оператор With)
- •25. Запись как тип данных, их определение, назначение, структура. Обращение к полям записей: составные имена, оператор With. Примеры применения в программах.
- •26. Условный оператор, его назначение, структура. Варианты условных операторов. Вложенные условные операторы. Примеры.
- •27. Массив как тип данных, определение, назначение, структура. Объявление и программирование ввода-вывода одномерного, двух и многомерного массивов. Примеры применения в программах.
- •Имя: array [нижний_индекс. .Верхний_индекс] of тип
- •Имя: array[НижняяГраница1..ВерхняяГраница1, НижняяГраница2..ВерхняяГраница2] of Тип
- •29. Файлы как типы данных. Определения и свойства файлов, типы файлов: текстовые, типированные и нетипированные файлы. Операторы чтения из файла и записи в файл.
- •30. Применение логических переменных, логических функций, логических выражений при программировании в системе Делфи. Логические операции, разрешенные в Делфи.
- •1. Отрицание: not ("не")
- •2. Логическое умножение (конъюнкция) - and ("и")
- •3. Логическое сложение (дизъюнкция) - or ("или")
- •4. Исключающее "или" - xor
- •31. Конструкторы и деструкторы – средства порождения и уничтожения объектов в системе Делфи. Их необходимость и область применения в программах.
30. Применение логических переменных, логических функций, логических выражений при программировании в системе Делфи. Логические операции, разрешенные в Делфи.
С логическим типом данных мы уже неоднократно встречались при изучении свойств объектов. Этот тип данных состоит всего из двух значений: истина и ложь. На языке Pascal (а также на многих других языках) это соответственно True и False. В некоторых языках допускается использование чисел вместо этих переменных: 1 - истина, 0 - соответственно ложь. Итак, логический тип данных указывает, есть ли что-то или его нет, верно ли что-то или неверно.
В Pascal логический тип данных носит название Boolean (англ. - логический). Значения, как уже было сказано - True и False. Простой пример объявления логической переменной и присвоения ей значения "ложь":
var X: Boolean; X:=False;
Операции над логическими выражениями
А вот и самое интересное. Для логических выражений введены 4 операции. Работа с ними чем-то похожа на работу с числами. Рассмотрим подробно эти операции.
1. Отрицание: not ("не")
Как понятно из названия, данная операция меняет значение логического выражения на противоположное: если была истина, то станет ложь, а если была ложь, то станет истина. Выражение, над которым будет произведена операция, указывается либо после слова NOT через пробел, либо в скобках. Примеры:
k:=True; m:=not(k); n:=not m; p:=not(not(m));
Подразумевается, что все переменные описаны типом данных Boolean. Итак, разберём, что здесь происходит:
Сначала мы присваиваем переменной k значение True;
Далее, выполняя NOT для k получаем False: m становится равным False;
n становится противоположным m, т.е. True;
Над m делается двойное отрицание, т.е. значение p станет также False.
2. Логическое умножение (конъюнкция) - and ("и")
В отличие от рассмотренного выше NOT, оператор AND работает уже с двумя (и более) выражениями. Логическое умножение равно истине тогда и только тогда, когда все выражения, связанные этим оператором, истинны. Если хотя бы один является ложью, то весь результат будет также ложью. Поэтому, собственно, операция и называется умножением: если истину обозначить за 1, а ложь - за 0, а числа перемножить, то при наличии хотя бы одного нуля весь результат будет нулевым. Примеры:
a:=True; b:=False; c:=True; d:=a and b; e:=a and c; f:=not(b) and c;
Значение d будет False, т.к. один из операндов (операнды - выражения, которыми управляют операторы) равен False (b). Переменная e примет значение True, ведь и a и c истинны. Наконец, f тоже станет True, ведь not(b) - это истина и c тоже истина.
3. Логическое сложение (дизъюнкция) - or ("или")
Как и AND, OR работает с несколькими операндами. Название "или" уже отвечает на вопрос "что будет в итоге": если хотя бы один из операндов - истина, то всё выражение будет истиной. Результат False будет только в случае, если все операнды будут ложными.
a:=False; b:=True; c:=a or b; d:=not(b) or a;
Значение переменной c станет True, а переменной d - False.