
- •Заголовок программы
- •Раздел объявлений и соглашений
- •Раздел текстов процедур и функций
- •Тело программы
- •Структура программы, или главный порядок
- •4. Зарезервированные слова, идентификатор, константа, переменная, типизированная константа и инициализированная переменная. Зарезервированные слова Turbo Pascal 7.0
- •Идентификаторы или имена
- •4.2. Константы в Turbo Pascal 7
- •4.2.1. Целые константы
- •4.2.2. Вещественные константы
- •4.2.3. Строковые и символьные константы
- •4.2.4. Константные выражения
- •4.2.5. Типизированные константы
- •5. Арифметические и логические выражения, операнд, операция, оператор, комментарии.
- •1. Арифметические операции
- •2. Логические операции
- •8. Порядковые, перечисляемые, интервальные и структурированные типы.
- •9. Строки, массивы, множества, записи, указатели, файлы.
- •10. Иерархические структуры типов, данных и подпрограмм.
- •11. Описание, объявление и способы инициализации данных. Свойства типов и данных
- •12. Виды и приоритет элементарных операций (унарные, бинарные, арифметические, логические, отношения). Оператор присваивания и автоматическое преобразование типов операндов. Логические операции
- •13. Условные и безусловные операторы. Операторы перехода и выбора.
- •Оператор безусловного перехода
- •Оператор выбора
- •Цикл с предусловием
- •Цикл с постусловием
- •15. Директивы компилятора (препроцессора).
- •16. Процедуры и функции, их объявление, описание, вызов. Процедурные типы.
- •17. Формальные и фактические параметры. Особенности передачи параметров.
- •18. Стандартные и собственные модули, их организация.
- •19. Встроенные процедуры ввода-вывода информации. Спецификация формата вывода.
- •20. Подпрограммы для работы со строками.
- •22. Открытые и динамические массивы.
- •23. Динамическое определение и преобразование типа переменной.
- •24. Встроенные процедуры и функции для работы с динамическими элементами.
- •25. Указатели, односторонние и двухсторонние списки. Приемы работы с указателями.
- •Списки с двойной связью
- •28. Объектно-ориентированное программирование. Основная идея, принципы, понятия.
- •29. Классы, объекты, методы и свойства.
- •30. Инкапсуляция, наследование, полиморфизм. Конструкторы и деструкторы.
- •31. Интерфейс и система управления реализацией программного проекта.
- •36. Библиотеки, их организация и подключение.
- •37. Тестирование и оценка эффективности программ.
12. Виды и приоритет элементарных операций (унарные, бинарные, арифметические, логические, отношения). Оператор присваивания и автоматическое преобразование типов операндов. Логические операции
Над логическими аргументами в Турбо Паскаль определены следующие операции:
NOT - логическое отрицание ("НЕ")
AND - логическое умножение ("И")
OR - логическое сложение ("ИЛИ")
XOR - логическое "Исключающее ИЛИ"
Операции отношения
К операциям отношения в Турбо Паскаль относятся такие операции, как:
> - больше
< - меньше
= - равно
<> - не равно
>= - больше или равно
<= - меньше или равно
В операциях отношения могут принимать участие не только числа, но и символы, строки, множества и указатели.
унарные - not (отрицание);
мультипликативные - * (умножение), / (деление), div (деление нацело), mod (остаток от целочисленного деления), and (логическое “И”);
аддитивные - + (сложение), - (вычитание), or (логическое “ИЛИ”);
Приоритет операций
Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций. В языке Паскаль принят следующий приоритет операций:
унарная операция not, унарный минус -, взятие адреса @
операции типа умножения: * / div mod and
операции типа сложения: + - or xor
операции отношения: = <> < > <= >= in
Оператор присваивания.
Предназначен для присваивания переменной значения выражения. Оператор обозначается символом «:=», в левой части указывается имя переменной, в правой – вычисляемое выражение.
Оператор считается синтаксически правильным, если тип выражения в правой части совпадает с типом переменной. Допускается использование этого оператора с переменными любого типа, кроме файлового.
Автоматическое преобразование типов операндов.
При выполнении операций производится автоматическое преобразование типов, чтобы привести операнды выражений к общему типу или чтобы расширить короткие величины до размера целых величин, используемых в машинных командах. Выполнение преобразования зависит от специфики операций и от типа операнда или операндов. Рассмотрим общие арифметические преобразования. ■ 1. Операнды типа float преобразуются к типу double. ■ 2. Если один операнд long double, то второй преобразуется к этому же типу. ■ 3. Если один операнд double, то второй также преобразуется к типу double. ■ 4. Любые операнды типа char и short преобразуются к типу int. ■ 5. Любые операнды unsigned char или unsigned short преобразуются к типу unsigned int. ■ 6. Если один операнд типа unsigned long, то второй преобразуется к типу unsigned long. ■ 7. Если один операнд типа long, то второй преобразуется к типу long. ■ 8. Если один операнд типа unsigned int, то второй операнд преобразуется к этому же типу. Таким образом, можно отметить, что при вычислении выражений операнды преобразуются к типу того операнда, который имеет наибольший размер. Пример: double ft,sd; unsigned char ch; unsigned long in; int i; .... sd=ft*(i+ch/in); При выполнении оператора присваивания правила преобразования будут использоваться следующим образом. Операнд ch преобразуется к unsigned int (правило 5). Затем он преобразуется к типу unsigned long (правило 6). По этому же правилу i преобразуется к unsigned long и результат операции, заключенной в круглые скобки будет иметь тип unsigned long. Затем он преобразуется к типу double (правило 3) и результат всего выражения будет иметь тип double.