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:

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.

Typy okrojone w językach programowania
język programowaniaformat definicjidopuszczalne typy bazoweprzykład definicji
Pascal[3][4]type identyfikator=w1..w2typy porządkowetype miesiąc=1..12;
Ada[2]<subtype | type> identyfikator is typ_bazowy range w1..w2;typy skalarnesubtype miesac is INTEGER range 1..12;
Modula 2[5]TYPE <identyfikator=typ_bazowy[w1..w2] | identyfikator=[w1..w2]>typy porządkoweTYPE miesiac=INTEGER[1..12]

Przypisy

  1. 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
  2. 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
  3. 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
  4. Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika MikrokomputerówISBN 83-85060-53-7​, ISSN 0867-6011
  5. Niklaus Wirth, Modula 2, Wydawnictwa Naukowo-Techniczne, Warszawa 1987, Seria: Biblioteka Inżynierii Oprogramowania, ​ISBN 83-204-0828-8