Typy danych

background image

Typy danych

background image

Typy danych w Turbo Pascal

Typy proste

Typy porządkowe

Typ wyliczeniowy

Typy całkowite

Typy logiczne

Typ znakowy

Typy okrojone

Typy rzeczywiste

Typy łańcuchowe

Typy strukturalne

Typy tablicowe

Typ rekordowy

Typ zbiorowy

Typ plikowy

Typy wskaźnikowe

Typy proceduralne

Typ obiektowy

background image

Typy proste w języku Turbo
Pascal

Typy proste są podstawowymi typami

języka Turbo Pascal i za ich pomocą

określa się bardziej złożone struktury

danych. Wszystkie typy proste składają

się ze skończonego i uporządkowanego

zbioru wartości. Dzięki temu na

wartościach tych typów możemy m.in.

wykonywać operacje porównań.

background image

Typy porządkowe w języku
Turbo Pascal

Typami porządkowymi nazywamy wszystkie typy

proste z wyjątkiem typów rzeczywistych.

Wyróżnienie to jest spowodowane faktem, że typy

rzeczywiste często nie mogą występować w

kontekście dozwolonym dla innych typów prostych.

Dla wartości każdego typu porządkowego są

określone wartości poprzednie i następne (z

wyjątkiem wartości krańcowych). Do typów

porządkowych zaliczamy:

Typ wyliczeniowy

Typy całkowite

Typy logiczne

Typ znakowy

Typy okrojone

background image

Typ wyliczeniowy

Typ wyliczeniowy stosuje się zwykle dla zbiorów o

niewielkiej liczbie elementów, na których nie wykonuje się

operacji arytmetycznych. Definicja jednego typu

wyliczeniowego jest następująca:

TYPE identyfikator_typu = (lista_identyfikatorów);

Elementy typu wyliczeniowego są uporządkowane zgodnie

z kolejnością ich wyliczenia w definicji typu i posiadają

liczby porządkowe odpowiednio 0,1,2 itd.

Przyklady:
TYPE Uczniowie = (Antek, Franek, Zenek); {Antek ma 0,

Franek ma 1, a Zenek 2}
P_roku = (wiosna, lato, jesien, zima);

background image

Typy całkowite

Typy całkowite są w języku Pascal predefiniowane i nie

wymagają opisu w programie. Wszystkie typy całkowite są

podzbiorami zbioru liczb całkowitych. Wśród typów

całkowitych wyróżniamy:

ShortInt, przedział od -128 do 127

Byte, przedział od 0 do 255

Integer, przedział od -32768 do 32767

Word, przedział od 0 do 65535

LongInt, przedział od -2147483648 do 2147483647

Przyklad, przypuśćmy, że zdefiniowaliśmy nowy typ:

TYPE Liczba = Integer;

W takim razie poniższa deklaracja :

var i,j: Liczba;

jest równoważna deklaracji

var i,j: Integer;

background image

Typy logiczne

Standardowymi typami logicznymi są typy

Boolean,

ByteBool,

WordBool

LongBool.

Wartości typów logicznych są oznaczone za

pomocą dwu predefiniowanych literałów (stałych):

True i False, oznaczających odpowiednio wartości

logiczne fałsz i prawda, przy czym w sensie

uporządkowania stała False poprzedza stałą True.

Liczbami porządkowymi elementów typu Boolean

są tylko 0 (False) i 1 (True). Elemanty pozostałych

typów logicznych mogą posiadać inne (wyższe)

liczby porządkowe.

background image

Typ znakowy

Do oznaczenia typu znakowego
służy predefiniowany identyfikator
Char. Elementami typu znakowego
są znaki ASCII, z których każdy jest
pamiętany w jednym bajcie pamięci.

background image

Typy okrojone

Typy okrojone służą do ograniczania

zakresów wartości dowolnego z dotychczas

opisanych typów porządkowych. Definicja

jednego typu okrojonego ma postać:

TYPE identyfikator_typu = stała .. stała;

Pierwsza stała podaje ograniczenie dolne i

nie może być większa od drugiej -

ograniczenia górnego. Stałe te muszą być

tego samego typu porządkowego.
Przyklad:

TYPE Litery = 'A' .. 'Z';

background image

Typy rzeczywiste

Do typów prostych należą także standardowe

typy rzeczywiste, które jednak nie są typami

porządkowymi. Każdy z dostępnych typów

rzeczywistych jest dyskretnym i skończonym

podzbiorem zbioru liczb rzeczywistych.

Dostępnych jest pięć standardowych typów

rzeczywistych o następujących

predefiniowanych identyfikatorach:

Real, elementy zajmują po 6 bajtów pamięci

Single, typ o pojedyńczej długości (4 bajty pamięci)

Double, typ o podwójnej długości (8 bajtów pamięci)

Extended, typ o rozszerzonej długości (10 bajtów pamięci)

Comp, elementy to liczby całkowite z przedziału

od -2

63

+1 do 2

63

-1

background image

Typy łańcuchowe

Typy łańcuchowe służą do reprezentowania ciągu

znaków, w tym niewidocznego znaku spacji.

Elementami typu łańcuchowego są łańcuchy o

długości od 0 do długości podanej w definicji typu

łańcuchowego. Typ ten definiuje się następująco:

TYPE identyfikator_typu = String[rozmiar];

lub

TYPE identyfikator_typu = String;

gdzie rozmiar jest liczbą typu Byte.
Brak wyspecyfikowania rozmiaru powoduje domyślne

przyjęcie długości 255 znaków (warość maksymalna).
Przykład:

TYPE Nazwisko = String[20];

background image

Typy strukturalne

Typy strukturalne stosuje się do opisu

obiektów złożonych, przy czym dany obiekt

możemy opisać na kilka różnych sposobów.

Każdy z typów strukturalnych definiowany

jest przez podanie typów składowych i

metody strukturalizacji, która zarazem

określa sposób dostępu do elementów

składowych. W ogólności definicja

pojedynczego typu strukturalnego ma

postać:

TYPE Identyikator_typu =

Opis_typu_strukturalnego;

przy czym opis typu

strukturalnego może być opisem typu.

background image

Typy tablicowe

Typ tablicowy, a konkretnie tablica składa się z ustalonej liczby

elementów tego samego typu, zwanego typem składowym, który

może być zarówno typem prostym lub łańcuchowym, jak i typem

strukturalnym. Za pomocą tablic są reprezentowane regularne

układy danych, np. wektory i macierze. Dostęp do poszczególnych

elementów tablic uzyskuje się za pomocą indeksowania. Indeksem

może być dowolne wyrażenie, którego wartość jest zgodna w sensie

przypisania z typem indeksowym. Dopuszczalny zakres indeksów

jest podany w definicji typu tablicowego. Definicja pojedynczego

typu tablicowego ma postać:

TYPE Identyfikator_typu = array[typy_indeksowe] of typ_składowy;

gdzie typy indeksowe są opisami typu porządkowego (z wyjątkiem

typu LongInt), przy czym poszczególne opisy oddziela się

przecinkami. Typ składowy oznacza dowolny typ.
Przykłady:

TYPE Macierz = array[1..20,1..30] of Real;
Tablica = array[Boolean,1..20,znak] of Char;


Document Outline


Wyszukiwarka

Podobne podstrony:
4 TurboPascal Struktury i typy danych
typy danych, Elektronika i Telekomunikacja, informatyka
lab10a, Typy danych - pliki
Java 03 Podstawowe typy danych
SQL Server 2005 typy danych
2 Typy danychid 19692 Nieznany
!2 Pascal Typy Danych, szkoła VII LO, INFA
APP abstrakcyjne Typy Danych
20 typy danychid 21482 Nieznany (2)
Typy danych i ich klasyfikacja, INFORMATYKA, Programowanie strukturalne i obiektowe, Semestr 1
Typy danych, Skrypty, PK - materiały ze studiów, I stopień, SEMESTR 2, Geodezja, od Donia - geodezja
Programowanie i jezyk C Wyklad 01 Typy danych
APP 02 Typy Danych Podstawy 2010
Typy danych w MySQL
07. Typy danych w Delphi, Programowanie, Klasa II
02. MySQL - popularne typy danych, Typ
Algorytmy i struktury danych Wykład 2 Typ danych,Proste typy danych
6 typy danych 3
typy danych w pascalu

więcej podobnych podstron