Переменные целого типа
В языке Free Pascal для обозначения целых чисел используют несколько типов.
Идентификатор
|
Диапазон представления чисел
|
Размер памяти
|
Название типа
|
Shortint
|
-128…127
|
1 байт
|
Короткое целое со знаком
|
Integer
|
-32768..32767
|
2 байт
|
Целое со знаком
|
Longint
|
-2147483648.. 2147483647
|
4 байт
|
Длинное целое
|
Int64
|
-2^63 – 2^63
|
8 байт
|
64-х разрядное целое
|
Byte
|
0..255
|
1 байт
|
Короткое целое без знака
|
Word
|
0..65535
|
2 байт
|
Целое без знака
|
При выборе того или иного типа следует учитывать диапазон в котором будет изменятся описываемая переменная. Если Вы знаете, что число положительное и не превосходит 255, то целесообразно описать его как тип Byte. Можно конечно описать его как World (Целое без знака) или Longint (Длинное целое), но при этом память выделяемая для хранения этой переменной будет в два или в четыре раза больше.
И так предположим, что наши два слагаемых и результат имеют тип Integer, то есть лежат в диапазоне чисел принятых для этого типа. Первому слагаемому дадим имя Chislo1, второму - Chislo2, и результат будем хранить в переменной с именем Resultat. Для этого опишем их в блоке глобальных переменных. В процедуре Init проведем действия по считыванию двух чисел с клавиатуры. В процедуре Work проведем сложение значений этих двух переменных, и результат поместим в переменную с именем Resultat. В процедуре Exi выведем значение переменной Resultat на экран. Наша новая программа примет следующий вид:
program Primer_4;
var
Chislo1,Chislo2,Resultat:Integer;
procedure Init;
begin
Write('Insert chislo1 -');
Readln(Chislo1);
Write('Insert chislo2 -');
Readln(Chislo2);
end;
procedure Work;
begin
resultat:=chislo1+chislo2;
end;
procedure Exi;
begin
writeln(resultat);
end;
begin
Init;
Work;
Exi;
end.
Обратите внимание, что текст основной программы Primer_4 относительно текста программы Primer_3 не изменился. Изменению подверглись только тексты процедур.
Для того, что бы получить произведение двух чисел надо просто изменить знак действия в процедуре Work:
resultat:=chislo1*chislo2;
Для получения разности двух чисел мы опять поменяем только знак в этом выражении:
resultat:=chislo1-chislo2;
Помимо операций сложения, вычитания, умножения в Free Pascal имеются еще операции целочисленного деления и нахождения остатка от деления. Они обозначаются соответственно div и mod. Формат записи для этих операций следующий:
resultat:=chislo1 div chislo2;
resultat:=chislo1 mod chislo2;
Так если первое число 7, а второе – 3, то результатом целочисленного деления будет 2, а остаток от деления 1. Внося изменения в программу, посмотрите какие результаты будут при использовании операций div и mod.
Однако если мы захотим поставить знак деления, например:
resultat:=chislo1/chislo2;
то, после запуска программы на выполнение система даст нам сообщение об ошибке:
Достарыңызбен бөлісу: |