Pliki. Operacje na plikach w Pascalu

Podobne dokumenty
Wykład PASCAL - Pliki tekstowe

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

OPERACJE NA PLIKACH. Podstawowe pojęcia:

Pliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:

Pascal. 1. Pliki tekstowe. Przykład 1.1. Zapis do pliku tekstowego

Programowanie w językach wysokiego poziomu

Ćwiczenie 2 Wczytywanie i zapisywanie do plików tekstowych

PLIKI. Składnia deklaracji zmiennej plikowej: file of <typ>

Wstęp do programowania. Pliki. Piotr Chrząstowski-Wachtel

Wszystkie zmienne typu plikowego, z wyjątkiem Output i Input muszą być zadeklarowane w sekcji deklaracji programu, który z nich korzysta.

Funkcje zawarte w bibliotece < io.h >

Funkcje zawarte w bibliotece < io.h >

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Ćwiczenie: JavaScript Cookies (3x45 minut)

Pliki. Informacje ogólne. Obsługa plików w języku C

Podstawy i języki programowania

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

Wykład 4. Tablice. Pliki

Wykład 9 Kolekcje, pliki tekstowe, Przykład: Notatnik

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

System plików warstwa logiczna

PLIKI TEKSTOWE F C E 30 0D 0A 42 6F 72 6C 61 6E 64 1A T U R B O _ P A S C A L _ 7. 0

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Polecenia wewnętrzne:

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Programowanie w językach

Pliki. Informacje ogólne. Obsługa plików w języku C

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Programowanie strukturalne

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Zasady programowania Dokumentacja

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

Język programowania PASCAL

INSTRUKCJA OBSŁUGI PROGRAMU DO ODCZYTU PAMIĘCI FISKALNEJ DATECS OPF

Argumenty wywołania programu, operacje na plikach

Podstawowe kontrolki graficzne. Obsługa plików poprzez kontrolki

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

System operacyjny Linux

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

LEKCJA TEMAT: Zasada działania komputera.

TEMAT: Podejmowanie decyzji w programie instrukcja warunkowa (IF).

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie w języku Python. Grażyna Koba

Programowanie w Turbo Pascal

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

Programowanie i struktury danych

Algorytm. a programowanie -

PAMIĘĆ OPERACYJNA...107

System plików. Warstwowy model systemu plików

Programowanie kart elektronicznych. wykład 9: Polecenia - część 1

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

Podstawowe wiadomości o systemach plików.

7 Przygotował: mgr inż. Maciej Lasota

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

Spis treści. Podstawy posługiwania się komputerem

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 5. Karol Tarnowski A-1 p.

Kier. MTR Programowanie w MATLABie Laboratorium

Publiczne Technikum Informatyczne Computer College w Koszalinie

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Technologie informacyjne (3) Zdzisław Szyjewski

Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)

Wymagania - informatyka

GEO-SYSTEM Sp. z o.o Warszawa, ul. Kubickiego 9/5, tel./fax ,

Technologie informacyjne (3) Zdzisław Szyjewski

Tematy lekcji informatyki klasa 4a listopad 2011

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

Wstęp do programowania 2

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

APEK MeasureInWeb program komunikacyjny do systemów pomiarowych.

Podprogramy. Procedury

Trochę o plikach wsadowych (Windows)

Pascal - wprowadzenie

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Metody zawarte w klasie File: boolean createnewfile() tworzy nowy, pusty plik, ale tylko jeśli on wcześniej nie istniał. boolean delete() usuwa dany

Kompendium wiedzy z Pascala

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Smarty PHP. Leksykon kieszonkowy

Języki programowania. Karolina Mikulska-Rumińska Pokój 573, tel Konsultacje wtorek 9-10.

Instrukcja standardowa Writeln

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW DOTYCHCZASOWYCH GIMNAZJÓW ETAP SZKOLNY BIAŁYSTOK, 22 LISTOPADA 2017 R.

3. Które ze stwierdzeń dotyczących formatowania dysków jest fałszywe? Formatowanie dysku:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

SPIS TREŚCI: KARTY GRAFICZNE... 15

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Transkrypt:

Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie operacji dyskowych, close, fsearch

Obsługa plików w Pascalu Wszelkie dane przechowywane w pamięci RAM komputera ulegają zniszczeniu po zakończeniu wykonywania programu. Pisząc coraz bardziej zaawansowane aplikacje, napotkamy w końcu na sytuację w której zachodzi konieczność zapisania wartości niektórych zmiennych, bądź efektów pracy programu - np. wykonanych obliczeń. Podobnie w grach komputerowych nie chcemy utracić przebiegu gry - np. rozwoju naszej postaci:

O plikach słów kilka (1) Plik (file) to porcja informacji, stanowiąca całość, zapisana w pamięci masowej w postaci zbioru bajtów. Pełna nazwa pliku składa się z dwóch członów: nazwy, nadawanej przez autora pliku o długości do 255 znaków (nazwa nie może zawierać znaków: / \ *? < >) rozszerzenia, określającego typ pliku, np. txt, avi, cpp, pdf Ścieżka dostępu do pliku to ciąg znaków określający położenie dowolnego obiektu w strukturze folderów na dysku twardym lub innym nośniku. Najczęściej ma postać listy folderów odseparowanych ukośnikami. Ścieżka dostępu może być określana jako ścieżka bezwzględna albo względna: bezwzględna ścieżka dostępu rozpoczyna się od folderu głównego poprzedzonego symbolem dysku, na którym umiejscowiony jest ten folder, np. C:\programowanie\omg\srlsly\szkola\1TI\plik.txt względna ścieżka dostępu przedstawia lokalizację pliku lub folderu względem folderu bieżącego - np:..\1ti\plik.txt

O plikach słów kilka (2) Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak w pamięci komputera) lub tekstową (taką, jaka używana jest do wprowadzania informacji z klawiatury i wyprowadzania jej na ekran monitora lub drukarkę). Reprezentacjom tym odpowiadają w Pascalu pliki: elementowe (inaczej nazywane binarnymi) tekstowe Zawartość plików elementowych jest na ogół nieczytelna dla użytkownika, natomiast treść pliku tekstowego daje się łatwo odczytać, np. w Notatniku Wszystkie dane przechowywane w plikach elementowych muszą być tego samego typu. Pliki tekstowe mogą być użyte do przechowywania mieszanych typów danych (np. tekstów i liczb), gdyż wszelka informacja przechowywana jest w nich w postaci kolejnych linii z zawartością.

O plikach słów kilka (3) Pliki tekstowe umożliwiają również formatowanie zapisu i korzystanie z procedur readln i writeln, które są niedostępne dla plików binarnych. Pliki elementowe umożliwiają tzw. dostęp swobodny, co znaczy iż w każdym momencie można odwołać się do dowolnego elementu pliku. Pliki tekstowe są plikami o dostępie sekwencyjnym, co oznacza, że aby dostać się do wybranego elementu pliku, należy przeczytać wszystkie elementy znajdujące się przed nim. Aby móc używać pliku deklaruje się tzw. zmienną plikową: var plik : file of byte //plik elementowy liczb rzeczywistych plik : text // plik tekstowy

Schemat operacji dyskowej Ogólny schemat operacji plikowej w Pascalu obejmuje 4 etapy: 1. Skojarzenie zmiennej plikowej z odpowiednim plikiem (znajdującym się na dysku lub nowo tworzonym) 2. Otwarcie pliku, przygotowujące go do zapisywania lub odczytywania informacji 3. Jedna lub więcej operacji zapisu lub odczytu danych 4. Zamknięcie pliku

Funkcje związane z obsługą plików (1) assign(zmienna_plikowa, nazwa_pliku) - funkcja ta służy do skojarzenia zmiennej plikowej z plikiem fizycznie znajdującym się na dysku. nazwa_pliku określa tu ścieżkę do pliku na dysku, do którego chcemy się odwoływać - może zawierać nazwę dysku, katalogu i ewentualnych podkatalogów zawierających plik). Przykładowe skojarzenie zmiennej plikowej z plikiem może mieć następującą postać: assign(plik, 'save\plik.dat');

Funkcje związane z obsługą plików (2) reset(zmienna_plikowa)umożliwia otwarcie już istniejącego pliku, ustawiając tzw. wskaźnik plikowy na jego początku. W przypadku, gdy otwierany plik nie istnieje, wywołanie procedury reset zakończy się błędem wykonania. rewrite(zmienna_plikowa)umożliwia otwarcie pliku niezależnie od tego, czy istniał on poprzednio: jeśli plik nie istnieje utworzony zostanie nowy plik o danej nazwie, zaś jeśli plik istniał - zeruje długość istniejącego pliku i ustawia wskaźnik plikowy na jego początku (czego efektem jest utracenie wszystkich danych zawartych w pliku) append(zmienna_plikowa)otwiera plik do dopisywania, tj. otwiera go do zapisu nie niszcząc poprzedniej zawartości i ustawia wskaźnik plikowy na jego końcu. Umożliwia to dodawanie danych do plików tekstowych.

Funkcje związane z obsługą plików (3) Warto pamiętać, że w przypadku plików tekstowych procedura reset otwiera plik wyłącznie do odczytu, zaś rewrite - wyłącznie do zapisu (nie ma zatem możliwości mieszania odczytów i zapisów w jednym cyklu otwarcia). Zasada ta nie obowiązuje dla plików binarnych, które można odczytywać i zapisywać bez ograniczeń niezależnie od tego, czy zostały otwarte za pomocą procedury reset, czy rewrite (w tym ostatnim przypadku trzeba najpierw zapisać do pliku jakieś dane).

Funkcje związane z obsługą plików (4) Do wymiany danych pomiędzy programem a plikiem służą znane nam już procedury read (odczyt) i write (zapis). Ponieważ w "standardowej" wersji obsługują one ekran monitora i klawiaturę, niezbędne jest podanie dodatkowego argumentu określającego plik, z/do którego informacja ma być odczytana lub zapisana. Argumentem tym jest właśnie nazwa odpowiedniej zmiennej plikowej: read(zmienna_plikowa, lista_elementów); write(zmienna_plikowa, lista_elementów); Powyższe operacje odnoszą się zarówno do plików elementowych, jak i tekstowych. Dla tych ostatnich możliwe jest ponadto użycie procedur readln i writeln, odczytujących lub zapisujących dane wraz ze znakami końca wiersza. Ponieważ pliki elementowe przechowują wyłącznie dane określonego typu i nie mogą zawierać znaków końca wiersza, użycie procedur readln i writeln jest w ich przypadku niedozwolone.

Funkcje związane z obsługą plików (5) Po wykonaniu żądanych operacji zapisu i odczytu danych plik należy zamknąć. Ta bardzo ważna operacja dająca pewność, że dane zostały zapisane na dysku. W systemie operacyjnym zachodzi tzw. buforowanie operacji dyskowych, czyli technika polegająca na odczytywaniu i zapisywaniu danych nie pojedynczo, lecz całymi paczkami, za pośrednictwem specjalnego obszaru pamięci - tzw. bufora dyskowego. Wykorzystanie bufora pozwala na zredukowanie liczby fizycznych odczytów i zapisów na dysku, a przez to zmniejszenie jego mechanicznego obciążenia. Ponieważ jednak podczas zapisu zawartość bufora wysyłana jest na dysk dopiero po jego zapełnieniu lub w chwili zamknięcia pliku, przerwanie wykonywania programu może spowodować utratę danych. Zamknięcie pliku realizuje procedura close: close(zmienna_plikowa);

Funkcje związane z obsługą plików (6) fsearch(sciezka_do_pliku)to funkcja, która sprawdza czy plik o nazwie skojarzonej ze zmienną plikową rzeczywiście istnieje na dysku. Przykład wykorzystania funkcji file search: if (fsearch('dane/plik.txt','')='') then begin writeln('plik NIE ISTNIEJE'); readln; end else begin //procedury odczytu lub zapisu do pliku end; Uwaga: aby użyć tej funkcji należy dodać do listy uses moduł DOS