• Nie Znaleziono Wyników

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
1
0
0

Pełen tekst

(1)

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

Ćwiczenie 5.

Pliki tekstowe i zdefiniowane

Cel ćwiczenia: projektowanie algorytmów wykorzystujących pliki tekstowe (text) oraz pliki zdefiniowane (file of ...); łączenie posortowanych plików; wstawianie danej typu łańcuchowego do pliku tekstowego oraz danej typu rekordowego do pliku zdefiniowanego;

wstawianie zawartości pliku do innego pliku.

1. Zdefiniować tablicę liczb całkowitych o rozmiarze N. Zainicjować tablicę losowymi liczbami z przedziału [-a, a] (np. a=100). Posortować tablicę rosnąco, a następnie przepisać liczby do pliku znakowego o nazwie p1.txt. W utworzonym pliku liczby powinny być

oddzielone spacjami. W podobny sposób utworzyć plik p2.txt zawierający posortowane liczby całkowite, ale zawierający inną liczbę danych. Opracować procedurę, która utworzy plik p3.txt zawierający posortowane dane zawarte w plikach p1 i p2. Należy wykorzystać algorytm sortowania przez łączenie, tzn. wczytać liczbę z pliku p1, a następnie z pliku p2; porównać liczby i mniejszą wpisać do pliku p3; jeżeli mniejsza liczba należała

do p1, to wczytać kolejną liczbę z tego pliku i ponownie dokonać porównania; w przeciwnym przypadku wczytać kolejną liczbę z p2 i dokonać porównania; przedstawione kroki powtarzać, aż do napotkania końca jednego z plików; dane należące do pliku, który nie został jeszcze całkowicie przeczytany należy dopisać do pliku p3. Łączenie wykonywać bez udziału tablic (tylko na plikach). Przykład:

P1.txt: 2 3 4 5 7 9; P2.txt: 1 2 6 8; P3.txt: 1 2 2 3 4 5 6 7 8 9.

2. Opracować program umożliwiający wprowadzenie nowej danej typu string na zadanej pozycji w pliku tekstowym (uwaga: plik typu text jest „rozsuwany” tak, aby pojawiło się miejsce na nową daną). Użytkownik podaje nazwę pliku, postać danej typu string oraz odległość (w znakach - bajtach) od początku pliku. Przed utworzeniem zmodyfikowanego pliku powinno nastąpić sprawdzenie czy plik o podanej (nowej) nazwie (ścieżce) nie istnieje. Podczas dostępu do plików korzystać z opcji {$I-} oraz IOResult.

3. Opracować program umożliwiający wprowadzenie nowej danej typu rekordowego na zadanej pozycji w pliku zdefiniowanym (uwaga: plik typu file of record jest „rozsuwany”

tak, aby pojawiło się miejsce na nową daną). Użytkownik podaje nazwę pliku, postać danej rekordowej oraz odległość od początku pliku mierzoną liczbą elementów. Przed utworzeniem zmodyfikowanego pliku powinno nastąpić sprawdzenie czy plik o podanej (nowej) nazwie (ścieżce) nie istnieje. Podczas dostępu do plików korzystać z opcji {$I-}

oraz IOResult.

4. Opracować program umożliwiający wstawienie zawartości dowolnego pliku p2 do pliku p1, począwszy od zadanej pozycji poz, gdzie 0<= poz <= rozmiar(p1). Wykorzystać zmienną plikową typu file of byte.

(2)

Cytaty

Powiązane dokumenty

Cel ćwiczenia: projektowanie algorytmów wykorzystujących pętle; przekazywanie parametrów do procedur i funkcji; obliczanie sum szeregów; praca w trybie znakowym ekranu.. Sprawdzić

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ę,

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

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

Opracować procedury umożliwiające obsługę kolejki typu FIFO zrealizowanej za pomocą listy jednokierunkowej o następującej strukturze type L = ^lst; lst

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