- •Оглавление
- •Введение
- •Основные этапы решения задач на эвм
- •Анализ постановки задачи и ее предметной области
- •Формальное решение задачи
- •Алгоритмизация
- •Основные средства представления алгоритмов
- •Визуальные алгоритмы
- •Процесс программирования
- •Языки программирования
- •Язык программирования Pascal
- •Среда программирования Delphi
- •Событийная модель ос Windows
- •Концепция объектно-ориентированного программирования
- •Delphi. Основные характеристики продукта
- •Высокопроизводительный компилятор в машинный код
- •Быстрая разработка приложения из прототипов
- •Структурное объектно-ориентированное программирование
- •Создание приложения в Delphi
- •Свойства в Delphi
- •События в Delphi
- •Основные понятия алгоритмического языка Состав языка
- •Основные символы
- •Элементарные конструкции
- •Выражения
- •Комментарии
- •Директивы компилятора
- •Тип данных
- •Приведение типов
- •Простые типы данных Целые типы данных
- •Битовая арифметика
- •Вещественные типы данных
- •Логический тип данных
- •Символьный тип данных
- •Структура программы
- •Константы
- •Переменные
- •Операторы Оператор присваивания
- •Оператор перехода
- •Структурные операторы
- •Операторы управления выполнением цикла
- •Оператор варианта
- •Подпрограммы
- •Перечисляемый тип данных
- •Интервальный тип данных
- •Структурированные типы данных Массивы
- •Строковой тип данных (строки)
- •Множества
- •Файлы. Файловый тип
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Последовательный и прямой доступ к компонентам файла
- •Процедурный тип
- •Вариантный тип
- •Адресный тип. Указатели
- •Динамические переменные
- •Динамические структуры данных
- •Динамические массивы
- •Очереди
- •Статические методы
- •Виртуальные методы
- •Динамические методы
- •Методы обработки сообщений
- •Конструкторы и деструкторы
- •Замещенные методы
- •Абстрактные методы
- •Свойства
- •Обработчики событий
- •Список рекомендуемой литературы
Константы
Константы определяют синонимы для числовых или строковых значений. Каждая константа, используемая в программе, должна быть описана в разделе описания констант:
Const <имя_константы>[:<тип>]=<значение>[,…];
Константы называются типизированными, когда указан <тип>. Если <тип> не указан, то тип констант определяется по их виду: константы целого типа - это целые числа, не содержащие десятичной точки, константы действительного типа - действительные числа, логические константы - логические значения TRUE и FALSE, символьные константы – либо строки длиной в один символ, либо конструкции вида #K, строковые – текст заключенный в апострофы.
Переменные
Переменная это область памяти, которая может содержать значения определенного типа. Обращения к области памяти происходит по имени переменной или адресу, который можно получить при помощи операции @. Каждая переменная, используемая в программе, должна быть описана в разделе описания переменных:
Var <имя_переменной>:<тип>[=<значение>];
В откомпилированной программе для всех глобальных переменных отведено место в памяти, и всем переменным присвоены нулевые значения. Для задания начальных значений переменным можно присвоить начальные значения переменным одновременно с их описанием.
Операторы Оператор присваивания
Структура:
<имя_переменной>:=<выражение>;
Тип переменной и тип выражения должны быть совместимыми.
Оператор перехода
Обычно операторы в программе выполняются в том порядке, в каком они записаны. Оператор перехода прерывает естественный порядок выполнения программы и указывает, что дальнейшее выполнение должно продолжаться, начиная с оператора, помеченного меткой, указанной в операторе перехода.
Структура: goto <имя_метки>;
Использование данного оператора не рекомендуется, так как он нарушает принцип структурированности программы.
Структурные операторы
Под структурным программированием понимается метод программирования, обеспечивающий создание программы, структура которой ясна и неразрывно связана со структурой решаемой задачи.
Структурированная программа (или подпрограмма) - это программа, составленная из фиксированного множества базовых конструкций. Ими являются: следование, ветвление, цикл. Применяя только эти три конструкции, можно реализовать алгоритм решения любой задачи.
В языке Object Pascal существуют следующие разновидности базовых конструкций:
-следование;
-ветвление (двухалтернативный выбор);
-цикл с предусловием;
-цикл с постусловием;
-цикл с параметром;
-вариант (многоалтернативный выбор).
Конструкция следования реализуется последовательной записью операторов отделяемых друг от друга ;, а также составным оператором – последовательность операторов заключенных между begin и end.
Оператор условия
Оператор условия реализует конструкцию ветвления. Структура:
If <выражение> then <оператор1> [else <оператор2>];
<выражение> - выражение, дающее результат логического типа.
Если результат истина, то выполняется <оператор1>.
Если результат ложь, то выполняется <оператор2>, если он есть.
Оператор цикла с предусловием.
Данный оператор реализует конструкцию цикла с предусловием.
Структура:
While <выражение> do <оператор>;
<выражение> - выражение, дающее результат логического типа, вычисляемое перед каждой итерацией цикла. Пока результат выражение истина выполняется <оператор>(итерация цикла).
Оператор цикла с постусловием.
Данный оператор реализует конструкцию цикла с постусловием.
Структура:
Repeat <констр.следование> Until <выражение>;
<выражение> - выражение, дающее результат логического типа, вычисляемое после каждой итерации цикла. Пока результат выражение ложь выполняются операторы из < констр.следование> (итерация цикла).
Оператор цикла с параметром
Данный оператор реализует конструкцию цикла с параметром, которая является разновидностью цикла с предусловием.
Структура:
For <имя_перем.>:=<знач1> to|downto <знач2> do <оператор>;
<имя_перем.> имя ранее объявленной переменной порядкового типа. Это параметр цикла, который принимает значения от <знач1> до <знач2> на каждой итерации цикла. Шаг изменения значения может быть 1 или –1 и задается служебными словами соответственно to и downto. В каждой итерации цикла выполняется <оператор>. Если перед первой итерацией <знач1> больше <знач2> (при to) или меньше (при downto), то цикл не выполняется.