• Nie Znaleziono Wyników

Laboratorium informatyki II. Język Pascal. Semestr letni. Ćwiczenie 4.

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium informatyki II. Język Pascal. Semestr letni. Ćwiczenie 4."

Copied!
1
0
0

Pełen tekst

(1)

Laboratorium informatyki II. Język Pascal. Semestr letni.

Ćwiczenie 4.

Tablice rekordów

Cel ćwiczenia: projektowanie algorytmów wykorzystujących rekordy i tablice rekordów;

inicjacja rekordów losowymi wartościami; obsługa tablicy rekordów; realizacja kolejki, stosu oraz bufora cyklicznego rekordów w oparciu o tablicę.

1. Zdefiniować typ rekordowy tosoba = record nazw: string; id: longint; end oraz zmienną rekordową osoba typu tosoba. Opracować procedury: a) inicjującą pola rekordu typu tosoba losowymi danymi; do pola naz wpisać łańcuch ‘naz’ zakończony losową liczbą należącą do przedziału [0,100) (np. ‘naz10’, ‘naz23’, itd.); do pola id wpisać losową liczbę całkowitą należącą do przedziału [1, 1000); b) wyprowadzającą zawartość rekordu typu tosoba na ekran.

2. Dany jest rekord typu tosoba = record nazw: string; id: longint; end. Opracować program obsługujący kolejkę rekordów typu tosoba. Rekordy są pamiętane w tablicy.

Zmienna pocz określa pozycję pierwszego elementu w kolejce, zmienna kon pozycję pierwszego wolnego miejsca w tablicy, natomiast zmienna ile liczbę elementów w kolejce. Na początku pocz=kon=1 & ile=0. Liczba elementów w kolejce nie może przekroczyć rozmiaru tablicy N. Jeżeli ile>0, to element może być odczytany z pozycji pocz. W wyniku odczytu pocz=pocz+1 & ile=ile-1. Jeżeli kon<(N+1), to kolejny rekord może być wstawiany na pozycji kon. Po wpisaniu rekordu do tablicy wartość kon=kon+1

& ile=ile+1. Jeżeli kon=N+1 & ile<N & pocz>1, to należy przesunąć elementy w tablicy tak, aby pocz=1 & kon=ile+1. Opracować procedury: a) wstawiania elementu do kolejki;

b) odczytywania elementu z kolejki; c) wyprowadzania zawartości kolejki na ekran d) wyprowadzania długości kolejki oraz zawartości zmiennych pocz (początek kolejki) i kon (koniec kolejki).

3. Dany jest rekord typu tosoba = record nazw: string; id: longint; end. Opracować program obsługujący stos rekordów typu tosoba. Rekordy są pamiętane w tablicy.

Zmienna wsk określa położenie wierzchołka stosu, czyli ostatniego zajętego elementu. Na początku wsk=0. Jeżeli wsk<N, gdzie N jest rozmiarem tablicy, to rekord może być wprowadzony na pozycji wsk=wsk+1. Jeżeli wsk>0, to rekord może być odczytany z pozycji wsk.

Po każdym odczycie wsk=wsk-1. Opracować procedury: a) dodawania rekordu na stos;

b) usuwania rekordu ze stosu; c) wyprowadzania wszystkich rekordów na ekran wierszami, począwszy od pozycji wsk; d) wyprowadzania liczby elementów na stosie.

4. Dany jest rekord typu tosoba = record nazw: string; id: longint; end. Opracować program obsługujący bufor cykliczny rekordów typu tosoba. Rekordy są pamiętane w tablicy o rozmiarze N. Zmienna wo określa pozycję odczytu, zmienna wz pozycję zapisu, natomiast ile liczbę elementów w buforze. Na początku wo=wz=1 & ile=0. Jeżeli ile<N, to rekord może być wpisany na pozycji wz. Wówczas, ile=ile+1 oraz wz=(wz mod N)+1.

Jeżeli ile>0, to rekord może być odczytany z pozycji wo. Po odczycie wo=(wo mod N)+1

& ile=ile-1. Opracować procedury: a) wprowadzania rekordu do bufora; b) odczytywania

rekordu z bufora; c) wyprowadzania na ekran zawartości bufora; d) wyprowadzania na

ekran pozycji zapisu i odczytu oraz liczby elementów w buforze.

Cytaty

Powiązane dokumenty

Cel ćwiczenia: projektowanie algorytmów rekurencyjnych; rekurencja bezpośrednia i pośrednia; przekazywanie parametrów do procedur i funkcji; zarządzanie stosem programu1.

Opracować procedurę, która tworzy losowy łańcuch typu string[20] złożony z małych liter (znaki łańcucha należą do przedziału [’a’,...,’z’].. Opracować procedurę,

Cel ćwiczenia: projektowanie algorytmów wykorzystujących pliki tekstowe (text) oraz pliki zdefiniowane (file of ...); łączenie posortowanych plików; wstawianie danej

wyprowadzanie na ekran zawartości dowolnego pliku; kopiowanie fragmentu pliku, modyfikowanie zawartości pliku, znajdowanie zadanej sekwencji bajtów w pliku;

Cel ćwiczenia: definiowanie zmiennych wskaźnikowych; dostęp do zmiennych za pomocą wskaźników; inicjowanie wskaźników adresami zmiennych statycznych; wskaźniki typu

o wartościach większych). Zaprojektować procedury: a) dodawania losowego elementu (np. losowa liczba z przedziału od 0 do 100) do drzewa (element powinien być wstawiony do drzewa

inicjowanie wskaźnika na obszar pamięci o ustalonym adresie i rozmiarze; wczytywanie do pamięci pliku o rozmiarze przekraczającym rozmiar segmentu (64KB).. Opracować

Cel ćwiczenia: projektowanie bibliotek DLL oraz modułów importowych, wykorzystujących funkcje biblioteczne; funkcja wyjścia z biblioteki DLL; wyprowadzanie identyfikatora1.