Rrekordy

Typ rekordowy, zmienna rekordowa, instrukcja with, tabele rekordów

Typ rekordowy jest typem strukturalnym o strukturze jednowymiarowej i o skła­dowych dowolnych typów, które nazywają się polami:

Opis typu:

record

lista_nazw_pól_1: typ1;

lista_nazw_pól_2: typ2;

........

end;

np.

type

data = record

rok: 1900..2000;

mies: 1..12;

dzien: 1..31;

end;

type osoba = record

nazw: string[20];

imie: string[15];

data_ur: data;

stopnie: array[1..5] real;

end;

var student: osoba;

Uwagi

nazwa_zmiennej . nazwa_pola [. ewentualnie_nazwa_pola_składowego ...]

np.

student . nazw := 'Kowalski';

if student . data_ur . rok < 1975 then ...

var grupa: array[1..30] of osoba; {wcześniej zdefiniowany typ}

var grupa: array[1..30] of record

pole1: typ1;

pole2: typ2;

...

end;

begin

...

grupa[1]. nazw := 'Nowak';

if grupa[2]. data_ur. rok < 1975 then writeln(`weteran'); ... end.

Instrukcja wiążąca - with

Instrukcja with upraszcza zapis dostępu do pól rekordu. Odwołanie w instrukcji (także złożonej) może nastąpić bezpośrednio do nazw pól wymienionych w liście zmiennych, bez wyspecyfikowanej nazwy zmiennej całościowej.

with lista_zmiennych_rekordowych do Istrukcja;

np. with student do

begin

nazw:='Nowak';

imie: =`Jan';

with data_ur do

begin

rok: =1978;

mies:= 1;

dzien:= 14;

end;

end;

Zadanie 1

Napisz program, który:

Imię i nazwisko

Datę urodzenia w postaci rok miesiąc dzień

Jan Kowalski - 1956.01.21

Bez instrukcji with

Z wykorzystaniem instrukcji with

Zadanie 2

Napisać program, który:

numer studenta (liczba całkowita)

nazwisko studenta (do 20 znaków)

średnia ocen studenta ( liczba rzeczywista)

Zadanie 3.

Napisać program, który pobierze z klawiatury ciąg danych ( nie dłuższy niż 20)

o towarach w magazynie, podających dla każdego towaru jego nazwę, ilość i cenę jednostkową. Pusta nazwa towaru oznacza zakończenie pobierania danych.

Dane należy umieścić w wektorze. Program ma wyznaczyć towar o największej wartości .

PODSTAWY PROGRAMOWANIA

TEMAT : Typ rekordowy, zmienna rekordowa

---------------------------------------------------------------------------------------------------------------------------------

2