• Nie Znaleziono Wyników

Języki i metody programowania. Ćwiczenie 10.

N/A
N/A
Protected

Academic year: 2021

Share "Języki i metody programowania. Ćwiczenie 10."

Copied!
1
0
0

Pełen tekst

(1)

Języki i metody programowania. Ćwiczenie 10.

Rekordy i tablice rekordów

Cel ćwiczenia: Definiowanie zmiennych typu rekordowego i tablic rekordów. Inicjowanie rekordów losowymi danymi. Wykonywanie operacji na tablicach rekordów.

1. Zdefiniować typ rekordowy type tosoba = record

nazwisko: string[20];

id: longint;

end;

Zdefiniować zmienną stud typu tosoba.

a) Opracować procedurę inicjującą pola rekordu typu tosoba danymi wprowadzanymi z klawiatury (parametrem procedury jest zmienna typu tosoba).

b) Opracować procedurę inicjującą pola rekordu typu tosoba losowymi danymi. Do pola nazwisko wpisać łańcuch ’naz’ zakończony losową liczbą należącą do przedziału [0,100) (wykorzystać funkcję str). Przykładowe postaci nazwisk: ’naz10’, ’naz75’, itd.

Do pola id wpisać losową liczbę całkowitą należącą do przedziału [1, 1000) (parametrem procedury jest zmienna typu tosoba).

c) Opracować procedurę wyprowadzającą zawartość rekordu typu tosoba na ekran.

Zainicjować zmienną stud z klawiatury oraz wartościami losowymi. Dla obu przypadków wyprowadzić zawartości zmiennych na ekran.

2. Zdefiniować typ rekordowy tosoba, analogicznie jak w zadaniu 1, oraz typ ttab określający tablicę rekordów (array [1..N] typu tosoba) o rozmiarze N, gdzie N – stała. W programie głównym zdefiniować tablicę tab typu ttab oraz zmienną ile typu word, w której pamiętana jest liczba rekordów wprowadzonych do tablicy (0<ile<=N; wartość początkowa ile=0). Opracować następujące procedury:

a) Wpisującą do tablicy jeden rekord o losowych polach (wykorzystać procedurę b) opracowaną w zadaniu 1). Parametrami procedury powinny być tablica i jej rozmiar oraz zmienna ile. Nagłówek: procedure Wpisz(Var tab: ttab; N: word; Var ile: word).

Wpis może być zrealizowany jeśli ile<N. Pozycję aktualnego wpisu określa wartość zmiennej ile=ile+1.

b) Wyprowadzającą elementy tablicy na ekran. Liczbę elementów do wyprowadzenia określa wartość zmiennej ile.

W programie głównym wczytać do tablicy kilka losowych rekordów, a następnie wyprowadzić zawartość tablicy na ekran.

3. Dana jest tablica tab typu ttab zdefiniowana w zadaniu 2. Opracować procedury:

a) Wyprowadzającą na ekran wszystkie elementy tablicy o ustalonej wartości pola nazwisko.

b) Usuwającą pierwszy znaleziony rekord o podanym nazwisku, tj. dokonującą kompresji tablicy (przesunięcia elementów tablicy) i zmniejszającą wartość ile o jeden.

Przetestować opracowane procedury.

4. Dana jest tablica tab typu ttab zdefiniowana w zadaniu 2. Opracować procedury:

a) Wyprowadzającą na ekran rekordy, których identyfikatory należą do przedziału [p, q], gdzie p i q są parametrami procedury.

b) Sortującą elementy tablicy według pola nazwisko.

Przetestować opracowane procedury.

Cytaty

Powiązane dokumenty

Przyjmując, że zmienna dzien jest selektorem instrukcji wyboru case wyprowadzić pełną nazwę dnia tygodnia.. Opracować program realizujący funkcje prostego

Opracować program, który umożliwia przesuwanie po ekranie w trybie znakowym kursora reprezentowanego za pomocą dowolnego znaku, np.. Przesuwanie zrealizować za

Opracować procedurę, która oblicza sumę dwóch liczb rzeczywistych przekazywanych przez wartości za pomocą argumentów x i y oraz zwraca wynik dodawania argumentów za

Opracować funkcję, która oblicza sumę dwóch liczb rzeczywistych przekazywanych przez wartości, za pomocą argumentów x i y, oraz zwraca wynik dodawania

Opracować procedurę, która wpisuje do tablicy liczb całkowitych kolejne cyfry liczby naturalnej x w taki sposób, aby mniej znaczące cyfry liczby zajmowały pozycje tablicy o

W programie głównym zdefiniować zmienną tablicową tab

następujące operacje: otwiera plik; odczytuje daną z pliku; jeśli odczytana liczba jest nieparzysta, to dopisuje na końcu pliku liczbę dwa razy większą, a jeśli nie, to

c) Wpisującą do pliku tekstowego rekord typu tosoba oraz znaki przejścia do nowej linii (writeln); nagłówek: procedure WstawR(Var f: text; Var r: tosoba).. d) Odczytującą z