Простые стандартные типы данных. Операции с числовыми переменными. Логические операции

### Конспект урока | Вопросы самопроверки | Задания на дом | Практикум | Тест

### В Турбо Паскале пользователю предлагаются простейшие стандартные типы данных, которые не предполагают специального их описания. Каждый тип данных задает область значений, которые может принимать переменная данного типа. В Турбо Паскале имеются простые типы данных: целые, вещественные(действительные), символьные, логические. Каждая величина определяется именем (идентификатором), по которому она распознается, и значением. Имя величины может быть длиной до 127 символов (цифр или букв), но различаются в зависимости от версии первые 32 или 63 символа. Нельзя начинать имя величины с цифры и использовать русские буквы. Также недопустимы символы: (, +,-,/,\, =, и т.д), не относящиеся к буквам (Знак подчеркивания _ является буквой для языка программирования). Для постоянных величин (констант) тип величины определяется по форме записи. Для переменных указывается имя переменной и ее тип. Значение переменная принимает в процессе работы программы.

### Рассмотрим числовые величины.

### 1.Целые.

Пользователь может использовать несколько типов целых чисел, а именно:
BYTE - область значений 0 . . . 255
WORD – область значений 0 . . . 65535
SHORTING – область значений -128 … 127
LONGINT – область значений -2147483648 . . . 2147483647
Все целые типы данных представляются точно. Выбор конкретного типа целых чисел, используемых в качестве значений величин определяется конкретной задачей. В случае, если возможные значения переменных могут выйти за предел области значений типа Integer, лучше использовать тип данных с большей областью определения. Какой тип Вы определите сами!
Пример описания:
Постоянные:
Const А=3; компилятор воспринимает тип константы с именем А как целый.
Переменные:
Var A:Integer; I:Byte; в данном случае компилятор определяет тип величины а – как целый тип с областью значений -32768 . . .32767, а тип величины I – как целый с областью определения 0 . . . 255.
2. Вещественные.
Для представления чисел в вещественном формате также имеется несколько типов вещественных чисел.
REAL - положительные и отрицательные числа с модулем в интервале значений от 2.9*10-39 до 1.7-1038 (представляются приближенно с точностью до 11 знаков).
DOUBLE –– положительные и отрицательные числа с модулем в интервале значений от 5.0*10-324 до 1.7*10308 (представляются приближенно с точностью до 15 знаков). Есть и другие типы вещественных чисел, имеющие большие области определения или большую точность, но мы ограничимся выше перечисленными.
Пример описания:
Const max=3.45; c=2.1E2;
Var Summa:Real;
Вопрос: Как понимать эти записи? (по аналогии с целыми).

### Рассмотрим символьные величины.

Под символьными величинами в Паскале понимают величины, значением которых могут являться символы, входящие в множество символов кода ASCII, в том числе и не отображенные на клавиатуре
Значением может быть только один символ.
Значение констант такого типа записывается в апострофах: CONST PEX=’F’; d=’K’.

### Рассмотрим логические величины.

Данные такого типа могут принимать только два значения: истина (true) и ложь (false). Для описания величин данного типа используется служебное слово BOOLEN.
Например:
Var W:Boolen;

### Операции с числовыми переменными.

####

Уровень приоритета | Операция | Тип операнда(величины) | Тип результата | Значение операции

1.

a*b
a*b
a*b
a/b
a/b
a/b
a div b
a mod b

Integer, Integer
Integer, Real
Real, Real
Integer, Integer
Integer, Real
Real, Real
Integer, Integer
Integer, Integer

Integer
Real
Real
Real
Real
Real
Integer
Integer

Умножение
умножение
умножение
деление
деление
деление
деление без остатка
(целочисленное деление)
остаток от деления

2.

a+b
a+b
a+b
a-b
a-b
a-b

Integer, Integer
Integer, Real
Real, Real
Integer, Integer
Integer, Real
Real, Real

Integer
Real
Real
Integer
Real
Real

Сложение
Сложение
Сложение
Вычитание
Вычитание
Вычитаение

Пояснения к таблице:
Результатом операции DIV является целая часть от деления одного числа на другое. 5 div 3 – результат 1 Результатом операции Mod является остаток от деления. 5 mod 3 - результат 2. Выражения в Паскале записываются в строку. Например: выражение в Паскале запишется как следующая строка (a*b-c)/(a+c:b). Выполнение операций производится согласно приоритету.

### Логические операции.

####

Приоритет | Операция | Значение
0. | NOT | Логическое отрицание
1. | AND | Логическое умножение (конъюнкция И)
2. | OR XOR | Логическоесложение (ИЛИ) Исключающее ИЛИ

3.

=
<>
<
<=
>
>=

Равно
Не равно
Меньше
Не больше
Больше
Не меньше

#### Таблица истинности логических операций

a | b | a and b | a or b | a xor b
False False True True | False True False True | False False False True | False True True True | False True True False

### Согласно правилам приоритета, сначала выполняются выражения в скобках. Если скобок нет, то в составных выражениях сначала выполняется операция NOT, затем AND, затем OR и последней – XOR. Необходимо помнить, что при использовании в сложных выражениях простых операций сравнения их необходимо заключать в скобки.

#### Например:

A not b; (a не b).
(A>=0) and (a<=10);

A в интервале от 0 до 10. Если а=11 или а=-1, значение выражения FALSE, иначе значение выражения TRUE. (a<=10) or (a>=20)
Результат операции будет TRUE, если значение переменной а будет меньше или равно 10 или больше либо равно 20. В противном случае результат операции будет FALSE.

(a<-10) xor (a>=20)

Результат операции будет TRUE, если значение переменной будет больше или равно 10 или меньше либо равно 20. В противном случае результат операции будет FALSE.

1. Перечислите простые типы данных, имеющиеся в Турбо Паскале.
2. Чем определяется каждая величина?
3. Каковы правила написания имени величины?
4. Укажите область значений для переменной типа BYTE.
5. Укажите область значений для переменной типа WORD.
6. Укажите область значений для переменной типа SHORTING.
7. Укажите область значений для переменной типа LONGINT.
8. Чем определяется тип константы?
9. Перечислите типы и интервалы значений вещественных чисел.
10. Что понимают под символьными величинами в Турбо Паскале?
11. Сколько символов может быть значением символьной величины?
12. Какие значения может принимать переменная логического типа?

### 1. Прочитать текст урока.
2. Правильно ли записаны значения переменных?
5; -2; 3,7; 56.8; 2E2; 8.7E-3; .123E5; 345.; 3.6 E8;
3. Определите, почему программа отказывается выполнять операции:
а) X:=5mod2; b) x=7 div 3; c) x:=7.3 mod 7; d)x:=7 diw 3;
4. Определите результаты операций:
a) x:= 3 mod 5; b) x:=7 div 3+7 mod 3; c)x:=27 div 3 div 3; d) x:=27 mod 5+3;
5.Верно ли записаны имена переменных?
Summa; ma[; 12a; b7c; c-min;
6. Верна ли структура программы?
Uses CRT;
Var a:integer;
Const c=10;
Begin
Label 1;
X:=x+1;
End.
7. Определите значение переменной U (W:=True; V:=True; H:=False);
a) u:= v and h or w ; б) U:=v and h or w=h; в) U:= v and h or (w=h);
г) u:=v and (h or w)=h д) u:=not h or w; е)u:=not(h or w); ж)u:=not h and w; з) u:=not(h and w);
и) u: not h and not w; к) u:=not h or not w;