Тып зьвестак

У мовах праграмаваньня **тып зьвестак** (**тып даных**) — атрыбут кавалачка зьвестак, які паведамляе кампутару (і праграмісту) пэўныя зьвесткі пра тое, зь якім відам зьвестак ён мае справу. Гэта ўключае накладаньне абмежаваньняў на зьвесткі, напрыклад, якія значэньні можа мець гэты кавалачак зьвестак і якія апэрацыі могуць быць зь ім праведзеныя.

Агульныя тыпы зьвестак могуць быць наступнымі: цэлыя лікі, лікі з плыўной кропкай (дробы) і літаралікавыя радкі. Напрыклад, у мове праграмаваньня Java тып «int» прадстаўляе сабой мноства 32-бітавых цэлых лікаў у межах ад —2,147,483,648 да 2,147,483,647, а таксама дэкляруе апэрацыі, якія могуць быць праведзеныя з цэлымі лікамі: дадаваньне, адыманьне і памнажэньне.

## Азначэньне

У больш шырокім сэнсе **тып зьвестак** вызначае мноства значэньняў і апэрацыі, дапушчальныя з гэтымі значэньнямі. Амаль усе мовы праграмаваньня маюць мэханізм яўнага пазначэньня тыпу зьвестак, хаця розныя мовы могуць выкарыстоўваць для гэтага розныя спосабы. Большасьць моваў праграмаваньня таксама дазваляе праграмісту вызначыць дадатковыя тыпы зьвестак, звычайна шляхам камбінаваньня некалькіх элемэнтаў іншых тыпаў і вызначэньня дапушчалных апэрацыяў з новым тыпам зьвестак. Напрыклад, праграміст можа стварыць новы тып зьвестак з назвай «Асоба», які будзе вызначаць, што зьвесткі, якія інтэрпрэтуюцца як асоба будуць уключаць у сябе імя і дату нараджэньня.

Таксама тып зьвестак можна разглядаць як абмежаваньні, накладзеныя на зьвесткі ў пэўнай сыстэме тыпізаваньня, якія апісваюць прадстаўленьне, інтэрпрэтацыю і структуру значэньняў або аб’ектаў, якія захоўваюцца ў памяці кампутара. Сыстэма тыпізаваньня выкарыстоўвае інфармацыю пра тып зьвестак для праверкі карэктнасьці кампутарных праграм, якія зьвяртаюцца да зьвестак альбо апрацоўваюць іх.

## Перавагі выкарыстаньня тыпаў зьвестак

* **Надзейнасьць**. Тыпы зьвестак абараняюць ад трох відаў памылак:
# Некарэктнае прысвойваньне. Дазваляе пазьбегнуць запісу недапушчальнай інфармацыі ў зьменную.
# Некарэктная апэрацыя. Дазваляе пазьбегнуць выкананьня ненапушчальных для пэўнага тыпу зьвестак апэрацыяў.
# Некарэктная перадача парамэтраў. Дазваляе ўпэўніцца, што мэтад у якасьці парамэтра атрымае зьвесткі таго тыпу, які ён чакае, і ведае, як апрацоўваць.

* **Стандартызацыя**. Стандартызацыя дазваляе дастаткова хутка і бяз значных выдаткаў пераносіць ужо напісаныя праграмы з адной мовы альбо сыстэмы на іншую.

## Кантраляваньне тыпаў

Працэс праверкі і накладаньня абмежаваньняў на тыпы зьвестак называецца *кантраляваньнем тыпаў*. Кантраляваньне тыпаў можа ажыцьцяўляцца падчас кампіляваньня праграмы альбо падчас ейнага выкананьня. У першым выпадку праверка называецца статычнай, а ў другім — дынамічнай. Статычнае кантраляваньне тыпаў зьяўляецца асноўнай задачай сэмантычнага аналізу, які ажыцьцяўляецца кампілятарам.

## Клясыфікацыя тыпаў зьвестак

Адрозьніваюць наступныя тыпы зьвестак.

* Простыя тыпы зьвестак
** Пералічальны тып. Можа захоўваць толькі яўна пазначаныя ў ягоным апісаньні значэньні.
** Лікавыя тыпы. Захоўваюць лікі. З гэтым тыпам зьвестак могуць ажыцьцяўляцца звычайныя арытмэтычныя апэрацыі.
*** Цэлалікавы тып зьвестак. Можа быць знакавым, то бок захоўваць як станоўчыя, так і адмоўныя значэньні, а можа бяззнакавым, то бок захоўваць толькі неадмоўныя значэньні.
*** Дробавы тып зьвестак. Можа быць зь фіксаванай коскай, а можа быць з плыўной.
** Сымбальны тып зьвестак. Захоўвае адзін сымбаль.
** Лягічны тып зьвестак. Можа захоўваць адно з двух значэньняў: ісьціна і мана.
** Мноства. Звычайна супадае з матэматычным паняткам мноства.
* Складаныя тыпы зьвестак
** Масіў. Зьяўляецца наборам элемэнтаў аднаго тыпу. Аднамерны масіў называецца вэктарам, двумерны — матрыцай.
** Радковы тып зьвестак. Захоўвае радок сымбаляў. Часам разглядаецца як масіў сымбаляў, а часам — як самастойны тып.
* Іншыя тыпы зьвестак
** Паказальнік. Захоўвае адрас у памяці кампутара, дзе ўтрымліваецца пэўная інфармацыя, звычайна — адрас зьменнай.
** Спасылка.

## Вонкавыя спасылкі

Катэгорыя:Праграмаваньне