русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Понятие типа данных

Фундаментальным понятием программирования является тип данных. Тип данных– множество значений, которое может принимать константа, переменная, выражение, функция. Существуют языки со строгой типизацией (С, Pascal, Delphi) и без нее (VisualBASIC, Clipper, FoxPro, LISP). В языках со строгой типизацией программист явно описывает множество значений, которые может принимать каждая переменная. Транслятор языка следит за тем, чтобы "стулья не складывались с помидорами", то есть отслеживает правильность выполняемых действий по типу данных. Если неопытный программист напишет следующее:

VAR a:REAL; b:STRING;

BEGIN

a:=10.0;

b:='20.0';

Label1.Caption:=a+b;

END;

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

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

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

- размер;

- тип данных;

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

Рис. 4.3. Понятие переменной.

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

VAR x:BYTE;

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

VAR x:CHAR;

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

a:=b+x;

транслятор Паскаля тут же укажет на возникновение ошибки "Несоответствие типов".

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

Рис. 4.4. Проф. Н. Вирт, создатель языка Паскаль.

Создатель языка Паскаль швейцарский ученый Никлаус Вирт (Рис. 1.4) в своей книге [1] дает следующее определение строгой типизации данных:

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

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

3. Каждая операция или функция требует аргументов определенного типа и дает результат также фиксированного типа.

Именно на таких принципах и построены языки Паскаль, Модула-2, Delphi.

Просмотров: 856


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.