1. Typy definiowane przez programistę
Język Pascal posiada zbiór typów zmiennych stanowiących standardową część jego składni. Z tymi typami zapoznaliśmy się na poprzednich wykładach. Istnieje również możliwość definiowania własnych typów danych w tym języku. Definiowanie własnych typów danych pozwala zwiększyć czytelność kodu źródłowego programu, poprzez wprowadzenie do niego nowych pojęć i określenie. w jaki sposób komputer powinien te pojęcia traktować1. Pozwala również na uproszczenie kontroli poprawności wartości zmiennych.
2. Typy wyliczeniowe
Załóżmy, że chcemy w pisanym przez nas programie posługiwać się dniami tygodnia. Możemy to oczywiście zrobić ograniczając się do użycia poznanych przez nas wcześniej typów danych, ale prościej będzie zadeklarować odpowiedni typ wyliczeniowy, który będzie definiował takie pojęcie. Zanim przejdziemy do opisu rozwiązania takiego problemu przedstawmy trochę teorii dotyczącej typówr wyliczeniowych. Typy wyliczeniowa są typami porządkowymi i zazwyczaj używane są do definiowania zbiorów, które zawierają niewielka ilość elementów. Każdy z tych elementów otrzymuje swój numer porządkowy, przy czym pierwszy element ma numer 0, a ostatni o jeden mniejszy od liczby elementów w zbiorze. Elementy tego zbioru (wartości zmiennych typów wyliczeniowych) można ze sobą porównywać, można wyznaczać ich następniki i poprzedniki, ale nie można przeprowadzać na nich operacji arytmetycznych. Nazwy elementów typu wyliczeniowego, tworzy się tak samo jak inne identyfikatory. Język Pascal nie dostarcza żadnej predefiniowanej procedury, która pozwalałaby wypisać na ekran wartość zmiennej typu wyliczeniowego. Typ wyliczeniowy definiujemy wr części programu rozpoczynającej się słowrem kluczowym type, według następującego wrzoru:
nazwajypu. - (nazwa_elementu_l. nazwa_elementu_2. nazwa_elementu_3):
Wróćmy do naszego zagadnienia i przedstawimy jego rozwiązanie2:
program typ_wyliczeniowy; uses
crt;
2
Takie postępowanie nazywa się również „budowaniem abstrakcji". Polega ono na definiowaniu w programie pojęć właściwych rozwiązywanemu problemowi za pomocą pojęć właściwych narzędziu za pomocą którego ten problem się rozwiązuje (językowi programowania).
Program inspirowany przykładami z książki A. Marciniaka „Borland Pascal 7.0".