Программирование на языке Object Pascal

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

та соответствующая ключу, управление передается оператору, который следует за else. Часто операторы, включающие в себя else можно опустить и тогда, при отсутствие нужной константы, ничего не произойдет и Case завершает свою работу.

 

Procedure Calk (a, b: integer);: integer;: char;:= edit: text;op of

+ c:= a + b;

- c:= a - b;

* c:= a * b;

/ c:= a dir b;begin1.Lines.Add (указан неверный арифметический оператор);

Exit;;.Lines.Add (c=+IntToStr(c));;

Процедура имитирует процедуру арифметического калькулятора.

Метки и оператор перехода go to.

 

Go to ;

 

Этот оператор позволяет передать управление оператору, следующему за меткой.

Метка располагается, непосредственно, перед оператором, которому передается управление и отделяется от него (:). Перед появлением в коде программы, метка должна быть объявлена в блоке описания (label). Метка, описанная в блоке label, обязательно должна быть объявлена.

Метки, объявленные в процедуре или функции, локализуются в ней, поэтому передача управления извне процедуры или функции на внутреннюю метку невозможна.

to ;ABC;: integer;, ab

…:

…to ab;

…:

…;

Типы данных языка OPascal

 

Любые константы, переменные и значения функций OPascal характеризуются своими типами. Тип определяет множество допустимых значений, которые можно иметь тот или иной объект, а так же множество операций допустимых над этим объектом. Тип определяет формат представления переменной или константы в память ЭВМ..Простые:

1).Порядковый тип.

Порядковый тип - отличается тем, что имеет конечное число возможных значений, эти значения можно упорядочить и каждому из них поставить в соответствие некоторое число (порядковый номер значения).

Целый тип.

Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать в памяти: 8, 16, 32, 64 бита.

 

ТипДиапазон Размер (в битах) Shortint-128…127 8 (со знаком) Smallint -32768…32767 16 (со знаком) Integer -2147483648…2147483647 32 (со знаком) INT64 ?-10263…10263-164 (со знаком)Byte 0…2558 (без знака)Word 0…6553516 (без знака)LongWord0…429496729532 (без знака)

Во всех выражениях, функциях и процедурах использующих целые числа действует правило вложенности: вместо значения с большим диапазоном, может использоваться значение с меньшим диапазоном.

Функции применимые к целым типам:

ABS(x) - возвращает модуль числа;

CHR(x) - возвращает символ с ASCII кодом;

Inc(x,[i]) - увеличивает переменную x на значение i;

DEC(x,[i]) - уменьшает переменную x на значение i;

HI(x) - возвращает старший байт аргумента;

LO(x) - возвращает младший байт аргумента.

В памяти ЭВМ младший и старший байт хранятся в обратном порядке.

байта составляют машинное слово.

машинных слова составляют 2-ное слово.

Машинное слово состоит из старшего и младшего слова, которые в памяти хранятся в обратном порядке.

ODD(x) - возвращает (истина), если аргумент не четное число и (ложь) - если четное;

Random(x) - возвращает случайное число в диапазоне от 0 до x;

SQR(x) - возвращает квадрат числа (x);

Swap(x) - меняет местами старший и младший байт аргумента.

При действие с целыми числами, тип результата соответствует типу операнда, если операнды имеют разный тип, то тип результата будет соответствовать типу операнда с максимальным запасом значения. OPascal не контролирует возможные переполнения выполнения операции.

Логический тип.

Значением логического типа может быть одна из двух констант: false(0), true(1).

 

Pred(true)=false(false)=true

 

Типы данных:

(bytebool) - false, true = 8 битbool - false, true 16 битbool - false, true 32 бита

Логический тип является порядковым и может быть использован в качестве параметра четного цикла.

Логические операции допустимые над этими числами:

Not - инвертирует значения (false true)

Or - оператор выбора (false или true)

And - оператор объединения (false и true)

Xor - обратно инвертирует значения (true false)

Символьный тип.

Значением символьного типа является множество всех символов персонального компьютера, каждому символу соответствует его код (0-255 (код ASCII), 0-65535 (код Unicode)).

Для кодирования основных и управляющих символов достаточно 7 бит (1 половина таблицы ASCII).

Кодируется значение 0-127. Эта часть является стандартной и неизменной для всех персональных компьютеров. Управляющие коды имеют значение 0-32.

Символьный тип - Char 1 байт (ASCII), Wide Char 2 байта (Unicode):

 

Var:=Char;:= Wide Char;

…:= a:= bx= a to z do

 

Для символьного типа определены следующие функции:

Chr(x) - возвращает символ ASCII кода = x

Ord(x) - возвращает код определенного символа x

Apcase(x) - переводит в верхний регистр значение x

Locase(x) - переводит в нижний регистр значение x

Значение функций Apcase и Locase работают только для символов латинского алфавита.

Перечисляемый тип.

Передается перечислением тех значений, которые он может иметь. Каждое значение именуется идентификатором и располагается в списке обрамленном круглыми скобками. При записи идентификатора работает правило их именования.

Соответствие между значениями перечисляемого типа и их порядковыми номерами устанавливается порядком перечисления. Первое значение имеет номер 0. Максимальная мощность 65535.

Порядковые типы объявляются в блоке описания типов:

 

Type

Имя типа (идентификатор1, идентификатор2…)

Day=(mon, tue, wen, thu, fri, sat, sun);=(white, red, black);:=day;:=color;

…:=tue:=redx:=mon to fri do …

 

Тип диапазон.

Тип диапазон - является подмножеством базового типа. В качестве базового типа может выступать любой порядковый тип, кроме типа диапазона. Тип д?/p>