Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_6W.DOC
Скачиваний:
12
Добавлен:
07.06.2015
Размер:
318.98 Кб
Скачать

2.1. Целые числа

В стандартном Паскале целочисленный тип определяется в пределах от –32768 до 32767, которые являются предельно допустимыми для процессора.

В Turbo Pascal, кроме того , поддерживаются четыре других целочисленных типа данных, каждый из которых имеет свой диапазон значений.

Целочисленные типы данных

Таблица 2.1.

Тип

Диапазон

Размер в байтах

Byte(целое длиной в байт)

0 .. 255

1

Shortint(короткое целое)

-128 .. 127

1

Integer(целое)

-32768 .. 32767

2

Word(длиной в слово)

0 .. 65535

2

Longint(длинное целое)

-2147483648 .. 21474833647

4

2.2. Вещественный тип данных

В стандартном Паскале тип Realпредставляет значение с плавающей точкой, содержащее мантиссу и экспоненту – степень числа 10.

Количество значащих цифр в мантиссе и диапазон значений экспоненты зависит от компьютере. В Turbo Pascalданные вещественного типа имеют размер в 6 байт, с 11 значащими цифрами мантиссы и экспоненты от 10**-38 до 10**38.

Кроме того, в Turbo Pascalдобавляются типы данныхSingle,Double,ExtendedиComp.

Вещественные типы данных

Таблица 2.2.

Тип

Диапазон

Значащие цифры

Размер в байтах

Real(вещественный)

2.9х10**-39 .. 1.7х10**38

11-12

6

Single(с одинарной точностью)

1.5х10**-45 .. 3.4х10**38

7-8

4

Double(с двойной точностью)

5.0х10**-342 .. 1.7х10**308

15-16

8

Extended(повышенной точности)

1.9х10**-4951 .. 1.1х10**4932

19-20

10

Comp(сложный, только целые значения)

(-2**63)+1 .. (2**63)-1

19-20

8

Вызовем редактор Turbo Pascalи введем программу:

Program DoRatio;

Var

A, B: Integer;

Ratio: Real;

Begin

Write(‘Enter two numbers: ‘);

ReadLn(A, B);

Ratio := A div B;

WriteLn(‘The ratio is ‘, Ratio);

End.

Сохраним ее в файле DORATIO.PASс помощью функции основного менюFile/Save As. НажмитеAlt-Rдля компиляции и запуска программы. Введем два значения, 10 и 3, и получим результат 3.000000.

Ожидая ответа 3.333333, мы получили результат 3. Получили такой результат, потому что был использован оператор “div” для деления целых чисел.

Исправим Ratio := A div B на

Ratio := A / B;

сохраним код (F2), откомпилируем и выполним. Новый результат – 3.3333333333, как и ожидали. Оператор деления «/» обеспечивает более точный результат.

2.3. Символьные и строковые типы данных

Научившись записывать числовые данные, познакомимся с записью и использованием символьных и строковых данных. Паскаль позволяет определять тип Char, имеющий размер в один байт и содержащий один символ. Символьные константы содержат один символ, заключенный в апострофы (‘A’, ‘e’, ‘r’, ‘2’). Заметим, что ‘2’ означает символ 2, а 2 означает целое число 2 (и 2.0 – вещественное число).

Program DoRatio;

Var

A, B: Integer;

Ratio: Real;

Ans: Char;

Begin

Repeat

Write(‘Enter two numbers: ‘);

ReadLn(A, B);

Ratio := A / B;

WriteLn(‘The ratio is ‘, Ratio);

Wrie(‘Do it again? (Y/N) ‘);

ReadLn(Ans);

Until UpCase(Ans) = ‘N’;

End.

После вычисления коэффициента, выдается сообщение:

Do it again? (Y/N).

(Повторить? (Да/Нет)).

Программа находится в состоянии ожидания одного из указанных символов и нажатия клавиши “Enter”. Если Вы нажмете “n” или заглавную “N”, то условие “until” будет выполнено и цикл закончится. В случае, если Вы ответите “Y” (“y”), то выполнение цикла будет продолжено.

“N” и “n” не одно и то же, потому, что они имеют различные значения в кодеASCII. Каждый символ имеет свой кодASCII, представленный 8-битным значением (символ занимает 1 байт).

В большинстве случаев используются строки символов. В стандартном Паскале не поддерживается тип строк символов. В Turbo Pascalреализована эта возможность. Рассмотрим программу

ProgramHello;

Var

Name: String(30);

Begin

Write(‘What is your name? ‘);

ReadLn(Name);

WriteLn(‘Hello, ‘, Name);

End.

Переменная Nameобъявлена какstring(строка), и под нее резервируется 30 байт (для 30 символов). Кроме того,Turbo Pascalотводит еще один байт, в котором содержится текущая длина строки. В этом случае, независимо от того, какой длины будет введено имя, операторWriteLnраспечатает имя указанной длины. Если будет введено имя больше 30 символов, то будут использоваться только первые 30 символов, а остальные будут проигнорированы.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]