Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации и программирования. Часть 1. Конспект лекций.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
465 Кб
Скачать

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

Диапазон возможных значений зависит от их внутреннего представления, которое может занимать 1, 2 или 4 байта (см. таблицу).

Длина в байтах

Название типа

Диапазон значений

1

byte

0...255

1

shortint

–128...127

2

word

0...65535

2

integer

–32768...32767

4

Longint

–2147483648...2147483647

Замечание. В современных языках, к примеру Free Pascal, основной тип integer занимает не 2 байта, а 4 и диапазон такой же, как в longint. Кроме того, в FP добавлены новые типы:

2

smallint

–32768

...32767

4

cardinal

0...4294967295

8

int64

–9223372036854775808...

9223372036854775807

8

qword

0...18446744073709551615

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

Вещественные числа в компьютере обычно представляются в виде чисел с плавающей точкой (запятой).

Пример. 1234567 = 123.4567*104 = 1.234567*106 = 0.1234567*107 = = 0.001234567*109 = 123456700*10-2 и т.д.

Нормализованным называют число, в записи которого в целой ча-

сти присутствует только одна значащая цифра.

Вопрос. Какая запись числа из вышеприведенного примера является нормализованной?

В компьютере числа обычно обрабатываются в нормализованном виде, в запись которого входят знак, мантисса (двоичная дробная часть) и степень двойки (порядок):

s

m

P

знак

мантисса

порядок

 

12

 

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

Длина

Название

Кол-во дес. цифр

Диапазон дес. порядка

в мантиссе

 

 

 

 

4

single

7...

8

–45...

+38

6

real

11...

12

–39...

+38

8

double

15...

16

–324...

+308

10

extended

19...

20

–4951...

+4932

8

comp

...19

20

–263...+263–1

Логический тип данных

Этот тип данных может принимать одно из двух значений: TRUE

(“Истина”) или FALSE (“Ложь”) (“Да” или “Нет”, 1 или 0). Декларируется указанием ключевого слова boolean.

Наряду с арифметическими действиями в ТР могут производиться и логические операции: “НЕ” (ОТРИЦАНИЕ), “И”, “ИЛИ” и др. Рассмотрим три основные логические операции.

X

 

NOT X

“НЕ”: ОТРИЦАНИЕ

0

 

1

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

X

Y

X AND

 

 

 

Y

 

 

“И”: Если хотя бы одно высказывание ложно,

0

0

0

 

 

0

1

0

 

 

то всевыражение будет ложно.

1

0

0

 

 

(КОНЬЮНКЦИЯ – логическое умножение)

1

1

1

 

 

 

 

 

 

 

 

X

Y

X

OR

 

 

 

Y

 

 

“ИЛИ”: Если хотя быодно высказывание истинно,

0

0

0

 

 

0

1

1

 

 

то все выражение будет истинно.

1

0

1

 

 

(ДИЗЪЮНКЦИЯ – логическое сложение)

1

1

1

 

 

 

 

 

 

 

13

Задача-пример. Пусть по результатам экзаменов получены следующие оценки: по математике – math, по физике – phis и по литературе

– lit. По каким условиям давать стипендию?

Если (math>3) and (phis>3) and (lit>3), то стипендия = 100 % + +25 % = 125 %.

Если (math=5) and (phis=5) and (lit=5), то стипендия = 100 % + +50 % = 150 %.

Если (math<3) or (phis<3) or (lit<3), то отчисление!!!

Символьный тип данных

Для кодировки символов в компьютере используется таблица

ASCII-кодов (American Standard of Codes for Information Interchange –

американский стандарт кодов для обмена информацией)

Один символ может иметь однобайтовый код, т.е. в одном байте можно закодировать до 256 различных символов (с кодами от 0 до 255). Символьный тип задается ключевым словом char. Значение символьной переменной может быть задано в виде символа, заключенного в кавычки, или предваряться спецcимволом #.

Пример.’A’, ’B’, ’C’; ’A’ = #65

14

Массивы в ТР

Массив представляет собой совокупность переменных одного и того же типа и предваряется ключевым словом array. Формат описания:

var <идентификатор> :array [<нач. номер>..<конеч. номер>] of <тип>;

Пример. var a:array[1..10] of integer;

Здесь мы описываем массив а123,...,а10 и все элементы имеют один и тот же тип integer. В ТР можно указывать различные диапазоны индексов, например: var x:array[-100..100] of real; Имеется также возможность создавать массивы больших размерностей, например, опишем матрицу А с M строками и N столбцами.

Пример. var a:array[1..M,1..N] of word;

Доступ к отдельному элементу осуществляется по его индексу (номеру):

математическая запись:

аналог на Паскале:

x1

x[1]

xi

x[i]

aijk

a[i,j,k]

zij

z[i,j]

Cтроки в ТР

Строка в ТР рассматривается как массив символов – переменных символьного типа char и декларируется ключевым словом string.

Пример. var s:string; {Аналогичное описание: var s:array[1..80] of char; }

var s1:string[255]; {Здесь описываем строку длиной до 255 символов.}

Вопрос. Пусть строка s имеет следующее содержимое: ‘мама мыла раму’. Чему равно содержимое s[7]?

Оператор присваивания в ТР

Формат записи: <идентификатор> := <выражение> ; Пара символов ‘:=’ означает операцию присваивания. Все, что бы-

ло вычислено в правой части, присваивается переменной, идентификатор которой стоит в левой части.

15

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