Программирование на языке 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>