
- •Содержание
- •Тема 1. Основные понятия
- •1.2. Задача, алгоритм, программа
- •1.2.Структура модуля исходного кода
- •Тема 2. Линейный блок: оператор присваивания, переменная, процедура и функция
- •2.1 Линейный блок
- •2.2. Переменные и константы
- •Синтаксис объявления переменной в ObjectPascal
- •Синтаксис объявления именной константы в ObjectPascal
- •Синтаксис объявления переменных в VisualBasic
- •2.3Типыпеременныхиконстант
- •Var1: type definitions;
- •Var2, var3: type definition4;
- •Var4 : typel;
- •2.4. Простые типы данных
- •2.4.1. Порядковые типы
- •Поддиапазонные типы
- •Перечислимые типы
- •Операции над порядковыми типами
- •2.4.2. Целые переменные
- •Integer Shortint Smallint Longint Byte Word Cardinal
- •Физические целые типы
- •Логические целые типы
- •2.4.3. Вещественные переменные
- •Вещественные типы.
- •2.4.4. Строковые переменные
- •2.4.5. Булевы типы
- •Размеры переменных булевых типов
- •2.5. Процедуры и функции
- •Описание и вызов процедуры
- •Описание и вызов функции
- •Передача параметров
- •2.6 Область видимости переменных, констант, процедур и функций
- •2.7 Стандартные функции
- •Функции преобразования типов
- •Математические функции
- •Функции вещественных типов
- •Функции обработки строк
- •Строковые функции
- •2.8 Операции над данными
- •2.9 Приоритеты операций
- •2.10. Структурные типы
- •2.10.1. Записи
- •1: Variantnamel: varianttype3;
- •2, 3: Variantname2: varianttype4;
- •1: (KinfWorker: String[15];
- •2: (PosAdmin: String[20]);
- •2.10.2. Массивы
- •Var ИмяМассива: array [ТипИндекса1, ...., ТипИндексаN] of БазовыйТип
- •Var MyArray: Array [1..10] of Integer;
- •2.10.3. Множества
- •Var MyAlphaSet: CharSet;
- •2.10.4. Файловый тип
- •2.11. Указательные типы
- •Средства работы с указателями
- •2.12. Процедурные типы
- •2.13. Тип variant
- •Тема 3. Блок принятия решений: операторы ветвления
- •3.1 Оператор if
- •If условие1 then
- •3.3Операторcase
- •Тема 4. Цикличекий блок: операторы повторяющихся действий
- •4.1.Цикл for
- •4.2. Циклы while и repeat
- •4.3. Операторы break и cont inue
- •Тема 5. Работа с текстовыми файлами
- •5.1. Типы доступа к текстовым файлам
- •5.2. Текстовые файлы
- •5.2.2 Бинарные файлы
- •Id : String[12];
- •Тема 6. Работа с классами
- •6.1. Понятие класса
- •6.2. Классы в object pascal
- •6.3. Свойства класса
- •Способ глобальных и локальных переменных
- •Способ процедуры свойств
- •Создание и удалениеобъектов
- •Inherited Create;
- •Inherited Destroy;
- •6.4. Методы класса
- •6.5. Объявление и удаление объектов
- •Литература
Синтаксис объявления переменной в ObjectPascal
Var
ИмяПеременной1 : ИмяТипа1
[ ИмяПеременной2 : ИмяТипа2 ]
Примеры:
Var
sName : String
Var
rCost : Real
iPrice : Integer
Синтаксис объявления переменных в VisualBasic
Public/Private/Dim ИмяПеременной1 [AsИмяTипа1]
Примеры
Dim strName As String
Dim dblCost As Double, intPrice As Long
Константы
Как и переменная, константа хранится в ячейке оперативной памяти с определенным адресом. Константы делятся на именованные и неименованные. Числовая константа представляет собой какое-либо число, а строковая константа— произвольную строку. Например, число 7 является числовой неименованной константой, а строка количество дней в неделе — строковой неименованной константой. Таким образом, числа и строки, записанные в исходном коде, являются неименованными константами.
Именованной константойназывается некоторая именованная числовая или текстовая величина, которая получает своё значение на этапе разработки программы и остается неизменной на протяжении всего жизненного цикла программы.
От переменной именованная константа отличается фактически только тем, что ее значение остается неизменным. Именованная константа может быть определена с помощью любого математического или строкового выражения. Во время компиляции имя константы просто замещается в программе ее значением.
Изменить именованную константу довольно легко, для этого достаточно изменить одну строку исходного кода, в котором определено ее значение. В то же время изменять неименованную константу весьма неудобно: нужно найти и модифицировать каждую строку кода, в которой она используется. Поэтому для облегчения модификации программы рекомендуется использовать именованные константы.
Синтаксис объявления именной константы в ObjectPascal
Const
ИмяКонстанты1: ТипДанных1 = выражение1;
[ИмяКонстанты2: ТипДанных2 = выражение2;]
Примеры:
Const
PI : Single := 3.142
Синтаксис объявления переменных в VisualBasic
[Public/Private] Const ИмяКонстанты[AsТипДанных] =Значение
Примеры:
Const conPi = 3.142
Public Const conStav = 1000
2.3Типыпеременныхиконстант
С помощью типов данных программист указывает компилятору, как хранить информацию в программе. При объявлении переменной необходимо указать ее тип. Одни типы уже определены в языке, другие программисту приходится задавать самому. В ранних языках программирования допускалось ограниченное число типов данных, и Pascal оказался одним из первых языков, допускающих определение в программе новых типов. Типы данных, определяемые пользователем, обычно задаются в разделе определения типов программы или модуля, однако это можно делать и внутри процедур или функции. Объявления типов действуют в пределах того блока, в котором они размещены. Вне этого блока ссылаться на такие типы нельзя. Внутри же они заменяют все внешние типы с тем же именем. Объявленные типы данных можно применять в любом месте области их видимости; запрещена только ссылка определяемого типа на самого себя (тут, однако, есть одно исключение, касающееся указателей). Объявления типов в Pascal являются для компилятора чем-то вроде схем, которые он должен запомнить на случай, если вдруг встретит в программе ссылки на тот или иной тип. Само по себе объявление типа не вносит в программу никаких изменений. Что же касается объявлений var, то они задают компилятору некоторые действия, связанные с ранее объявленными типами. Тип переменной ограничивает как ее значения, так и операции, которые можно выполнять с этими значениями. Определения типов и переменных могут размещаться в нескольких местах компонентов программы. Выглядят же они следующим образом.
type
/Новые типы данных определяются в разделе "type".
//Каждому новому типу присваивается имя,
// затем он определяется через уже существующие типы
typel = type definitioni;
// В одном разделе "type" можно объявить несколько типов.
//Самое простое определение типа состоит из имени типа, определенного ранее
type2 = type__definition2 ;
type3 = typel;
// Новые переменные объявляются в разделе "var"
var
//. Каждой новой переменной сначала присваивается имя,
// а затем — тип (на основе ранее определенных типов).