+48 575 455 366

Pascal – tablice, tryb rekordowy

Typ rekordowy jest rozbudowaną wersją typu tablicowego. Dzięki niemu możemy pod jedną zmienną przechowywać wiele danych o różnych typach. Typ ten jest szczególnie przydatny np. podczas tworzenia mało skomplikowanych baz danych.
// typ rekordorwy definiujemy przed begin
type tnazwa = record
 pole1: typ;
 pole2: typ;
 .
 .
 .
 poleX: typ;
end;

Aby móc użyć typu rekordowego w programie należy go przypisać do jakiejś zmiennej.

Setki realizacji, tysiące rozwiązanych problemów

Skontaktuj się już teraz!

type tnazwa = record
 pole1: typ;
 pole2: typ;
 .
 .
 .
 poleX: typ;
end;
 
var baza: tnazwa;

Niestety, w takiej deklaracji typu rekordowego można przechować tylko jedną daną z każdego pola. Aby zniwelować ten problem należy utworzyć typ rekordowy, a następnie tablicę zbudowaną z typu rekordowego.

type tnazwa = record
 pole1: typ;
 pole2: typ;
 .
 .
 .
 poleX: typ;
end;
 
var baza: array[min..max] of tnazwa;

Odwoływanie do elementów w tablicy było proste, dokładając do niej typ rekordowy nie wprowadzamy wielkich zmian. Po podaniu nazwy tablicy i wskazaniu do którego elementu się odwołujemy stawiamy kropkę, a następnie dane pole z typu rekordowego.

type tbaza = record
 imie: string;
 nazwisko: string;
 wiek: byte;
end;
 
var tab: array[1..5] of tbaza;
begin
 writeln(tab[1].imie);
 writeln(tab[5].wiek);
 writeln(tab[2].nazwisko);
 readln;
end.

Przykład na to jak można wykorzystać typ rekordowy.

type tbaza = record
 imie: string;
 nazwisko: string;
 wiek: byte;
end;
 
var
 tab: array[1..5] of tbaza;
 i: byte;
begin
 for i:=1 to 5 do
 begin
 write('Podaj imie: ');
 readln(tab[i].imie);
 write('Podaj nazwisko: ');
 readln(tab[i].nazwisko);
 write('Podaj wiek: ');
 readln(tab[i].wiek);
 end;
 writeln;
 for i:=1 to 5 do
 writeln(tab[i].imie, ' ', tab[i].nazwisko, ', wiek: ', tab[i].wiek);
 readln;
end.

Przykład na to jak można wykorzystać typ rekordowy.

Skontaktuj się już teraz!

Wystarczy, że wypełnisz poniższy formularz, a z przyjemnością Ci pomożemy!

    Wysyłając wiadomość wyrażasz zgodę na przetwarzanie swoich danych osobowych zgodnie z RODO (Rozporządzenie 2016/679) przez administratora danych Rekurencja.com Sp. z o.o. (NIP: 5472217092) celem przygotowania oferty. Więcej informacji znajdziesz w naszej polityce prywatności