APP 09 Rekordy

background image

Rekordy 1

Definicja.

Typ strukturalny nazywamy typem

rekordowym, jeżeli zawiera pewną ilość
składowych, które mogą być różnych typów.

Dostęp do składowych zmiennej typu

rekordowego uzyskuje się przez podanie
nazwy zmiennej, po której piszemy kropkę i
następnie nazwę odpowiedniej składowej typu.
Taką formę zapisu nazywa się

wybraną

składową

(

selected component

).

background image

Rekordy 2

W notacji EBNF mamy definicje:

record_type_definition ::= record

component_list

end record

component_list ::= component_declaration

{component_declaration}

component_declaration ::= component_identifier

: subtype_mark

subtype_mark :: type_name | subtype_name

selected_component ::=

record_variable.component_identifier

background image

Rekordy 3

Słowniczek

Record type definition

– definicja typu

rekordowego

Component list

– lista składowych

Component declaration

– deklaracja składowej

Component identifier

– identyfikator składowej

Subtype mark

– oznaczenie typu

Selected component

– wybrana składowa

background image

Rekordy 4

Przykład.

type Complex is

record
Re : Float;
Im : Float;
end record;

..
Liczba : Complex;
Liczba.Re := 0.0;
Liczba.Im := 1.0;

background image

Rekordy 5

W ogólnym przypadku ilość operatorów

zdefiniowanych wstępnie dla typu rekordowego
jest ograniczona do dwóch operatorów
relacyjnych:

• operatora równości

=

• operatora nierówności /=

Definicja.

Dwa rekordy są równe jeżeli wszystkie

składowe w jednym rekordzie są równe
odpowiednim składowym w drugim rekordzie.

Nazwy składowych umieszczone na liście

składowych rekordu

muszą być unikalne

wewnątrz definicji typu rekordowego

.

background image

Rekordy 6

Nadawanie wartości domyślnych przy definicji

rekordu

Nadawanie wartości domyślnych przy deklaracji

typu rekordowego jest

wyłącznie

własnością tych

typów. Inne typy i podtypy nie mają tej własności.

Agregaty rekordowe

Literały rekordowe nazywamy agregatami

rekordowymi.

Definicja.

Zespół wartości składowych rekordu

ujęty w nawiasy okrągłe nazywamy agregatem
rekordowym.

background image

Rekordy 7

Przykład.

type Osoba is record
Pierwsze_Imie : String (1 .. 10) :=

(others => ' ');

Drugie_Imie : String (1 .. 10) :=

(others => ' ');

Nazwisko : String (1 .. 20) := (others

=> ' ');

end record;
Student : Osoba;

background image

Rekordy 8

Student := (Pierwsze_Imie => "Anna ",

Drugie_Imie => "Maria ",
Nazwisko => "Zdolna ");

Ten agregat rekordowy jest agregatem, w

którym wartości są

związane przez nazwę

z

odpowiednimi składowymi rekordu. W tym
przypadku mówimy o

agregacie nazywanym

.

W takim agregacie kolejność nadawania
wartości składowym rekordu

nie musi

być

taka sama jak w definicji typu rekordowego.

background image

Rekordy 9

Drugi rodzaj agregatu nosi nazwę

agregatu

pozycyjnego

.

Student := ("Anna ",

"Maria ",
"Zdolna ");

W tym przypadku

musi

być taka sama kolejność

nadawania wartości jak w definicji typu
rekordowego.

Program.

Rekordy

background image

Rekordy 10

Literatura podstawowa

Morawski, M., A. M. Zajączkowski.

(2003).
Wstęp do programowania w języku
Ada’95. Rozdział 5.3.


Document Outline


Wyszukiwarka

Podobne podstrony:
APP Zadania 09 Rekordy
download Zarządzanie Produkcja Archiwum w 09 pomiar pracy [ www potrzebujegotowki pl ]
09 AIDSid 7746 ppt
09 Architektura systemow rozproszonychid 8084 ppt
TOiZ 09
Wyklad 2 TM 07 03 09
09 Podstawy chirurgii onkologicznejid 7979 ppt
Wyklad 4 HP 2008 09
09 TERMOIZOLACJA SPOSOBY DOCIEPLEŃ
09 Nadciśnienie tętnicze
wyk1 09 materiał
Niewydolność krążenia 09
09 Tydzień zwykły, 09 środa
W 4 S 52(APP 2)KOLORY I SYMBOLE
09 Choroba niedokrwienna sercaid 7754 ppt
TD 09

więcej podobnych podstron