Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Типы данных. В математике переменные классифицируются в соответствии с некоторыми важными характеристиками

 

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

Рисунок 14.1 - Структура типов данных.

При обработке данных на компьютере такая классификация еще более важна. Фундаментальным понятием программирования является тип данных.

Тип данных – множество допустимых значений, которые может иметь тот или иной объект (константа, переменная, выражение, функция), а также множество допустимых операций, которые применимы к нему. Кроме того, тип определяет также и формат внутреннего представления данных в памяти ПК.

 

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

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

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

 

VAR a:REAL; b:STRING;

 

BEGIN

a:=10.0;

b:='20.0';

Label1.Caption:=a+b;

END;

 

то еще до запуска программы транслятор выдаст сообщение об ошибке: "Type mismatch".

 

Object Pascal характеризуется разветвленной структурой типов данных (Рисунок 15.1). В языке предусмотрен механизм создания новых типов, благодаря чему общее количество используемых в программе типов может быть сколь угодно большим.

 

Очевидно, понятие типа данных неразрывно связано с понятием переменной. Именно переменная обладает тем или иным типом. А что же такое "переменная"? Можно рассматривать переменную как "коробочку" в оперативной памяти компьютера (Рисунок 15.2), у которой есть:

 

- имя или адрес;

- размер;

- тип данных;

- текущее значение.

 

Рисунок 14.2 – Понятие переменной.

 

Размер "коробочки" измеряется в байтах. Если мы сделали переменную для хранения целых чисел в диапазоне от 0 до 255, на это понадобится ровно один байт. Почему? Потому что байт состоит из восьми бит. Каждый бит может принимать два значения: 0 и 1. Если мы переберем все комбинации битов в байте (от 00000000 до 11111111), то их число будет равно 28=256. Ноль - такое же равноправное число, из-за этого 256 значений представляют диапазон от 0 до 255. В Object Pascal описание такой переменной будет выглядеть примерно так:

 

VAR x:BYTE;

 

Тип данных можно сравнить с "формой коробочки". Если нам нужно хранить не целые числа, а символ (букву, цифру, знак препинания…), то размер коробочки останется точно таким же – один байт, и в нее поместится один из 256 символов, определенных кодовой таблицей компьютера. Но программа должна знать, что в данной коробочке лежат не числа, а коды символов. Для этого и нужен тип данных. Опишем нашу переменную следующим образом:

 

VAR x:CHAR;

 

Такое описание резервирует в памяти один байт и говорит компьютеру: "В этом байте лежат коды символов. С ними нельзя делать арифметические операции". Если мы по ошибке напишем:

 

a:=b+x;

 

транслятор Object Pascal тут же укажет на возникновение ошибки несоответствия типов: "Type mismatch".

 

Разберем более подробно простые типы. Такой выбор связан с тем, что все остальные типы являются производными простых типов и довольно детально изучаются в специализированных источниках литературы [1, 2].

 

<== предыдущая лекция | следующая лекция ==>
 | Встроенные типы данных
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 356; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.