Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Типы данных в Turbo Pascal





Тип данных- это множество величин, объединенных совокупностью допустимых операций.

Каждый тип имеет свое диапазон значений и зарезервированное слово для своего описания.

В языке Turbo Pascal существует развитая система стандартных (описанных в модуле System) типов. Кроме того, пользователь может сам создать свой собственный тип, используя служебное слово Type. Формат записи нового типа, определенного пользователем следующий:

Type <имя типа>=<описание типа>;

Рассмотрим стандартные типы.

Типы данных Turbo Pascal.

 

Простые(скалярные) Структурированные:

 

Порядковые: Вещественные строковый- string

Целые регулярный- array

логический записи- record

символьный множества- set

перечисляемые файлы-file, text

интервальный

 

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

Порядковые типы- типы данных, для которых всегда можно назвать число, непосредственно следующее за данным.

Целые типы - представляют собой совокупность данных, которые могут быть использованы в арифметических выражениях и занимают в памяти от 1 до 4 байт.

Идентификатор типа Диапазон Требуемая память
Byte [0..255]  
Word [0..65535]  
Shotint [-128..127]  
Integer [-32768..31767]  
longint [-2’147’483’648.. 2’147’483’647]  

Над данными целого типа определены следующие арифметические операции:

+, -, *, div, mod. Результатом всегда является целое число.

Над данными целого типа всегда определены следующие операции отношения:

<, >, <=, >=, <>, =.

Char - символьный тип, представляет собой набор символов кодовой таблицы ASCII. Во внутреннем представлении он занимает 1 байт, множество значений этого типа фиксировано и упорядочено. Все символы считаются перенумерованными, от 0 до 255.

Константой символьного типа является один из допустимых символов, взятый в апострофы. Если апостроф сам является символом, то апостроф, являющийся значением константы, записывается дважды, например ‘7’, ‘+’, ‘F’, ‘’’’, ‘j’, ‘?’.

Над данными символьного типа можно производить операции сравнения. Тот символ больше, чей порядковый номер в ASCII больше.

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

Пример. ‘A’<’a’

‘5’<’b’

5 <’b’-НЕДОПУСТИМО!

‘A’<’A’

часто, при работе с символьным типом, применяются следующие стандартные функции:

chr(x)- преобразует выражение типа byte в символ, соответствующий выражению по коду.

Chr(65)-‘A’

Chr(7)- писк

ord(ch)- возражает ASCII- код символа

ord(‘A’)=65

ord(‘A’)=128

pred(ch)- возвращает предыдущий ch символ

pred(‘5’)=’4’

pred(‘a’)=’Z’

pred(‘о’)=’н’

pred(‘9’)=8 НЕДОПУСТИМО!

succ(ch)- возвращает следующий за ch символ.

Boolean - логический тип, определяет диапазон логических значений, который содержит два элемента False (ложь) и True (истина). Во внутреннем представлении он занимает 1 байт. Применяется в операциях отношения и логический операциях. Над данными типа можно производить операции сравнения.

False<True

Перечисляемый тип - задается перечислением тех значений, которые он может получать. Существуют явно и анонимно описанные перечисляемые типы.

При явном описании типу дается имя, в разделе описании типов. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:

Type gaz=(ge,h,o,n);

Metal=(fe, zn, li);

Var a,b,c: gaz;

D,I,g:metal;

Переменные a,b,c могут принимать только значения ge,h,o,n. Попутка присвоить любое другое значение вызовет ошибки.

Анонимно(без имени) описанный тип:

Var season:(winter, summer);

Идентификатор season- это имя переменной. Значения, которые может принимать данная переменная это winter, summer

Для переменных одного и того же перечисляемого типа определены операции отношения. Сравнение происходит по порядковым номерам в списке описания типов или переменных.

Например, winter< summer

Или

A:= ge;

B:=o;

A<B-true

Тип-диапазон(интервальный) - подмножество своего базового типа, в качестве которого может быть любой порядковый тип, кроме типа-диапазон. Тип- диапазон задается границами своих значений внутри базового типа
<минимальное значение>..<максимальное значение>

При определении интервального типа нужно руководствоваться следующими правилами:
-".." рассматриваются как один символ, поэтому между точками пробелы недопустимы;
- левая граница не должна превышать правую границу.

Пример: Type month = 1..12;

lat = ’a’.. ’z’;

var mo: month;

a,b:lat;

Переменные mo может принимать любые значения из диапазона 1..12, a,b из ’a’.. ’z’. Выход из диапазона приведет к программному прерыванию.

Вещественный тип, строго говоря, имеет конечное число значений, которое определяется форматом внутреннего представления вещественного числа. Однако количество возможных значений вещественного числа настолько велико, что сопоставить с каждым из них целое число не представляется возможным. Во внутреннем представлении он занимает от 4 до 10 байт, диапазон возможных значений - от 1.5E-45 до1.1E4932, точность представления данных - 7..20 значащих цифр.

Вещественные числа

Тип Диапазон Знач. цифры Размер в байтах
Real Single Double Extended 2.9Е-39..1.7Е+38 1.5E-45.. 34E38 5E-324.. 1.7E308 1.6E-4951..1.1E4932 11-12 7-8 15-16 19-20 4 8 10

Вещественные цифры могут изображаться в привычном для нас виде 2,30 3,65 0,25 и виде с плавающей запятой- число вида <мантисса> Е<порядок>. Мантисса- число по модулю, меньше 1, порядок любое целое число.

7,32= 0,732 Е 1 0,023=0,23 Е-1

Над вещественными числами определены операции отношения и следующие арифметические операции: *,+,-,/.

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

Лекция 11.

Задачи:

Справедливы ли следующие утверждения?

Если с є char и ‘0’<c<’9’, то с- цифра

‘0’=0

‘f’=’F’

succ(‘0’)=pred(‘2’);

Вычислить значения:

Pred(‘7’)=’6’

Ord(‘A’)-ord(‘0’)=65-48=17

Succ(0)=1

Chr(ord(‘5’)+1)=’6’

Имеется литерная переменная с и логическая переменная t, присвоить переменной t true, если выполнится заданное условие и false, если условие не выполняется.

С- литера*

С- литера ‘a’ или’q’

C- заглавная латинская буква

С- цифра

Определить значение литерной переменной d после выполнения операторов:

C:=’1’; d:=c;

C:=’1’; d:=’c’;

Имеются описание типов и переменных:

Type season=(win, spr, sum, out);

Var x,y: season;

t:(heat, cold)

Можно ли присвоить?

X:=leto;

X:=win; y:=sum;

T:=out;

X:=y;

T:=x;

Верно ли, что

Sum>spr

Sum=out

win<=out

succ(sum)= out

Верно ли описаны типы:

Bukva=(‘a’, ‘b’, ‘c’, ‘d’)

Glasnya=(a, i, o, e, y,)

Soglesnaya=(b..d, f, g)

Logiski=Boolean;

digitC=’0’..’9’

digitN=0..9

const n=180; type ugol=-n..n;

 

Date: 2016-06-08; view: 541; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию