
- •Оглавление
- •Введение
- •Основные этапы решения задач на эвм
- •Анализ постановки задачи и ее предметной области
- •Формальное решение задачи
- •Алгоритмизация
- •Основные средства представления алгоритмов
- •Визуальные алгоритмы
- •Процесс программирования
- •Языки программирования
- •Язык программирования Pascal
- •Среда программирования Delphi
- •Событийная модель ос Windows
- •Концепция объектно-ориентированного программирования
- •Delphi. Основные характеристики продукта
- •Высокопроизводительный компилятор в машинный код
- •Быстрая разработка приложения из прототипов
- •Структурное объектно-ориентированное программирование
- •Создание приложения в Delphi
- •Свойства в Delphi
- •События в Delphi
- •Основные понятия алгоритмического языка Состав языка
- •Основные символы
- •Элементарные конструкции
- •Выражения
- •Комментарии
- •Директивы компилятора
- •Тип данных
- •Приведение типов
- •Простые типы данных Целые типы данных
- •Битовая арифметика
- •Вещественные типы данных
- •Логический тип данных
- •Символьный тип данных
- •Структура программы
- •Константы
- •Переменные
- •Операторы Оператор присваивания
- •Оператор перехода
- •Структурные операторы
- •Операторы управления выполнением цикла
- •Оператор варианта
- •Подпрограммы
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Структурированные типы данных Массивы
- •Строковой тип данных (строки)
- •Множества
- •Файлы. Файловый тип
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Последовательный и прямой доступ к компонентам файла
- •Процедурный тип
- •Вариантный тип
- •Адресный тип. Указатели
- •Динамические переменные
- •Динамические структуры данных
- •Динамические массивы
- •Очереди
- •Статические методы
- •Виртуальные методы
- •Динамические методы
- •Методы обработки сообщений
- •Конструкторы и деструкторы
- •Замещенные методы
- •Абстрактные методы
- •Свойства
- •Обработчики событий
- •Список рекомендуемой литературы
Логический тип данных
Логический тип данных определяет данные, которые могут принимать логические значения TRUE и FALSE (истина и ложь).
ObjectPascal содержит логический тип Boolean, который требует один байт памяти.
Логические типы в ObjectPascal:
Тип |
Требуемая память, байт |
Boolean |
1 |
ByteBool |
1 |
WordBool |
2 |
LongBool |
4 |
Основным логическим типом является тип Boolean, остальные типы предназначены для совместимости с другими языками программирования и библиотеками ОС.
Для логических типов определены следующие выражения:
Boolean |
ByteBool, WordBool, LongBool |
False < True |
False <> True |
Ord(False) = 0 |
Ord(False) = 0 |
Ord(True) = 1 |
Ord(True) <> 0 |
Succ(False) = True |
Succ(False) = True |
Pred(True) = False |
Pred(False) = True |
К логическим операндам применимы следующие логические операции:
not and or xor.
К операндам логического типа можно применять все операции отношения, при этом результат операции вычисляется согласно таблице приведенной выше.
Символьный тип данных
Символьный тип данных определяет упорядоченную совокупность символов, допустимых в ЭВМ. Значение символьной переменной или константы - это один символ из допустимого набора.
В ObjectPascal существуют символьные типы данных AnsiChar и WideChar, а также Char, который эквивалентен типу AnsiChar.
Тип AnsiChar требует 1 байт памяти и определяет набор символов ASCII.
Тип WideChar требует 2 байта памяти и определяет набор символов Unicode. Первые 256 кодов Unicode соответствуют кодам ASCII.
Символьная константа может записываться в тексте программы следующими способами:
- как один символ, заключенный в апострофы, например:
'A' 'a' 'Ю' 'ю';
- с помощью конструкции вида #K, где K - код соответствущего символа;
К величинам символьного типа применимы все операции отношения.
Для величин символьного типа определены две функции преобразования:
Ord(C) Chr(K).
Первая функция возвращает порядковый номер символа С в наборе символов, вторая возвращает по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип.
К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:
Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .
Для литер из интервала 'a'..'z' применима функция UpCase(C), которая переводит символ C в верхний регистр 'A'..'Z'.
Структура программы
Программа на языке Object Pascal состоит из заголовка, разделов описаний и раздела операторов.
Заголовок программы содержит имя программы. Структура:
Program <имя_программы>;
Описания могут включать в себя раздел подключаемых модулей, раздел описания меток, раздел описания констант, раздел описания типов, раздел описания переменных, раздел описания процедур и функций.
Раздел описания модулей содержит имена подключаемых модулей Раздел описания модулей должен быть первым среди разделов описаний.
Структура:
Uses <имя_модуля> [in ‘<путь>’][,…];
<путь> указывает директорию и имя модуля и используется, когда модуль расположен в неизвестной для компилятора директории.
Любой оператор в программе может быть помечен меткой. В качестве метки используются произвольные целые без знака, содержащие не более четырех цифр, либо имена. Метка ставится перед оператором и отделяется от него двоеточием. Все метки, используемые в программе, должны быть перечислены в разделе описания меток. Метки используются только в операторе goto.
Структура:
Label <имя_метки>[,…];
Описание констант, переменных, процедур и функций будет рассмотрено ниже. Отдельные разделы описаний могут отсутствовать, но следует помнить, что в языке Object Pascal должны быть обязательно описаны все элементы программы.
Раздел операторов представляет собой составной оператор, который содержит между служебными словами begin.......end последовательность операторов. Операторы отделяются друг от друга символом ;. Текст программы заканчивается символом точка.