Typ okrojony
Typ okrojony (typ zakresowy) – typ danych zdefiniowany na bazie innego typu, w celu ograniczenia możliwych wartości typu bazowego[1].
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. Ada[2]) rozróżnia pojęcia typu pochodnego i podtypu.
język programowania | format definicji | dopuszczalne typy bazowe | przykład definicji |
---|---|---|---|
Pascal[3][4] | type identyfikator=w1..w2 | typy porządkowe | type miesiąc=1..12; |
Ada[2] | <subtype | type> identyfikator is typ_bazowy range w1..w2; | typy skalarne | subtype miesac is INTEGER range 1..12; |
Modula 2[5] | TYPE <identyfikator=typ_bazowy[w1..w2] | identyfikator=[w1..w2]> | typy porządkowe | TYPE miesiac=INTEGER[1..12] |
Przypisy
- ↑ Michael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1342-7
- ↑ a b A. Nico Habermann, Dewayne E. Perry, Ada dla zaawansowanych, Wydawnictwa Naukowo-Techniczne, Warszawa 1989 r., seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1058-4
- ↑ Michał 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, ISBN 83-204-0597-1
- ↑ Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów ISBN 83-85060-53-7, ISSN 0867-6011
- ↑ Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-0828-8