Typ okrojony (typ zakresowy) – typ danych zdefiniowany na bazie innego typu, w celu ograniczenia możliwych wartości typu bazowegoMichael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, .

Definicja typu okrojonego zawiera specyfikację zakresu w postaci: wartości granicy dolnej (najmniejszej wartości zakresu) wartości granicy górnej (największej wartości zakresu). Obie wartości muszą być tego samego typu bazowego i są wartościami definiowanego typu okrojonego (przedział domknięty). W niektórych językach typ bazowy jest specyfikowany jawnie w definicji typu okrojonego, w innych występuje domniemanie na podstawie zapisu wartości granicznych i kontekstu. W większości języków programowania wartości graniczne mogą zostać zdefiniowane zarówno jako: literał, jak i wyrażenie stałe. Do typów okrojonych można stosować te same operacje (operatory, funkcje, konwersje), co to typów bazowych, i występować w tych operacjach łącznie z wartościami typu bazowego, nawet w językach o silnej typizacji. Te cechy wskazują, że typ okrojony jest podtypem, chyba że konkretny język programowania (np. AdaA. Nico Habermann, Dewayne E. Perry, Ada dla zaawansowanych, Wydawnictwa Naukowo-Techniczne, Warszawa 1989 r., seria: Biblioteka Inżynierii Oprogramowania, ) rozróżnia pojęcia typu pochodnego i podtypu.

+ Typy okrojone w językach programowania język programowania format definicji dopuszczalne typy bazowe przykład definicji PascalMichał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów , ISSN 0867-6011 type identyfikator=w1..w2 typy porządkowe type miesiąc=1..12; Ada <subtype | type> identyfikator is typ_bazowy range w1..w2; typy skalarne subtype miesac is INTEGER range 1..12; Modula 2Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, TYPE <identyfikator=typ_bazowy[w1..w2] | identyfikator=[w1..w2]> typy porządkowe TYPE miesiac=INTEGER[1..12]

Przypisy

Kategoria:Typy danych Kategoria:Konstrukcje programistyczne