Pliki. Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty.

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

Programowanie w języku Visual Basic
PASCAL (3) dr Anna Kwiatkowska.
PROGRAMOWANIE STRUKTURALNE
PROGRAMOWANIE STRUKTURALNE
OBJECT PASCAL Marzena Szałas.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 2: Wstęp do programowania w Pascalu © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 5: Typy porządkowe, wyliczeniowe i okrojone. Definiowanie.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Katarzyna Szafrańska kl. II TI
Kurs Pascala – spis treści
Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.
Tablice jednowymiarowe 1
Rekordy 1 Definicja Typ strukturalny nazywamy typem rekordowym, jeżeli zawiera pewną liczbę nazwanych składowych, które mogą być różnych typów. Dostęp.
Wykład 2 struktura programu elementy języka typy zmienne
1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk.
PASCAL Dr Anna Kwiatkowska.
Wprowadzenie do programowania w języku Turbo Pascal
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
PROGRAMOWANIE STRUKTURALNE
Programowanie w języku Fortran 95
GRAFIKA W TURBO PASCALU
Podstawy programowania
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Język PASCAL – podstawy Turbo Pascal: procedury, funkcje
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Turbo Pascal Turbo Pascal - jedna z popularniejszych implementacji kompilatorów języka PASCAL, zintegrowane srodowisko programistyczne, produkt firmy Borland.
Algorytmy z przykładami w Turbo Pascal 7.0
20 września 2003r. Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie Wstęp do algorytmiki Autor: Marek Magiera.
Struktura programu w Turbo Pascalu.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Podstawy informatyki Struktury, operatory, wyjątki
Wyrażenia w Turbo Pascalu.
Procedury i funkcje.
Definicja pliku tekstowego Operacje wykonywane na plikach tekstowych
1. Język ObjectPascal - typ tablicowy (array)
Pliki Pojęcie i rodzaje plików Definicja typu plikowego Operacje wykonywane na plikach elementowych.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Programowanie strukturalne i obiektowe
Zbiory i rekordy mgr inż. Agata Pacek. Deklaracja typu zbiorowego (określa ilość elementów w zbiorze) type biegi=set of 0..6; Definiowanie zmiennej typu.
Informatyka MPZI Wykład 4 Podprogramy Pliki Typ zbiorowy Rekurencja.
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
OBIEKTY Utworzenie obiektu var osoba = { „imię”:”Anna”,
ASP BAZY DANYCH. 2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika.
Wykład 10 typ zbiorowy rekurencja.
1 Wykład 7 sortowanie BitButton format tekstu rysunki typ rekordowy.
Ogólna struktura programu w TP
Informatyka 2 MPDI Wykład 9 Delphi tablice, rekordy.
System plików.
Informatyka MPDI2 Wykład 10 DELPHI cd. - zmienne tablicowe,
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Foldery i Pliki Marcin Wojnowski.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Wykład 1 Informatyka II MPZI2 sem.letni. Tablice Tablice deklarujemy array [ lista typów indeksów ] of typ bazowy (składowych) np. var t1,t2:array [1..5,
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Zapis prezentacji:

Pliki

Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty uprawnienia w systemach wieloużytkowych uprawnienia w systemach wieloużytkowych

Pliki Plik dla systemu operacyjnego Plik dla systemu operacyjnego nie ma określonego typu (amorficzny) nie ma określonego typu (amorficzny) nazwa, rozszerzenie nazwy lub położenie może być podstawą do wnioskowania co do typu danych w pliku nazwa, rozszerzenie nazwy lub położenie może być podstawą do wnioskowania co do typu danych w pliku Plik jako obiekt w programie Plik jako obiekt w programie elementowe, elementowe, tekstowe, tekstowe, blokowe (amorficzne). blokowe (amorficzne).

Pliki – podstawowe operacje deklaracja zmiennej typu plikowego, deklaracja zmiennej typu plikowego, związanie z tą zmienną nazwy pliku, związanie z tą zmienną nazwy pliku, otworzenie pliku do zapisu lub odczytu, otworzenie pliku do zapisu lub odczytu, odczyt lub/i zapis (również wielokrotny), odczyt lub/i zapis (również wielokrotny), zamknięcie pliku. zamknięcie pliku. Zmienna plikowa po zamknięciu pliku może zostać ponownie wykorzystania do obsługi innego pliku. W standardowym języku Pascal obsługa plików wygląda nieco inaczej, jednak tu zajmiemy się wyłącznie implementacją Turbo Pascal. Zmienna plikowa po zamknięciu pliku może zostać ponownie wykorzystania do obsługi innego pliku. W standardowym języku Pascal obsługa plików wygląda nieco inaczej, jednak tu zajmiemy się wyłącznie implementacją Turbo Pascal.

Pliki elementowe type typ_plikowy = file of typ_elementów; Przykłady deklaracji typów plikowych: Przykłady deklaracji typów plikowych:type Person = record Person = record FirstName: string[15]; FirstName: string[15]; LastName : string[25]; LastName : string[25]; Address : string[35]; Address : string[35]; end; end; PersonFile = file of Person; PersonFile = file of Person; NumberFile = file of Integer; NumberFile = file of Integer; SwapFile = file; { nie określono typu elementów } SwapFile = file; { nie określono typu elementów }

var f:file of real; x,y:real; x,y:real;begin assign(f,'dane.rrr'); assign(f,'dane.rrr'); rewrite(f); {w C/C++ jedna operacja kojarzy nazwę } rewrite(f); {w C/C++ jedna operacja kojarzy nazwę } {z plikiem i otwiera plik} {z plikiem i otwiera plik} x:=5.3; x:=5.3; y:=74.5; y:=74.5; write(f,x); write(f,x); write(f,x,y); write(f,x,y); { writeln(f,x); <<< invalid file type } { writeln(f,x); <<< invalid file type } close(f); close(f);

reset(f); reset(f); writeln(filesize(f)); { liczba elementow w pliku: 3 } writeln(filesize(f)); { liczba elementow w pliku: 3 } while not(eof(f)) do while not(eof(f)) do begin begin read(f,x); read(f,x); writeln(x:5:2); { } writeln(x:5:2); { } end; end; writeln(filepos(f)); { 3 } writeln(filepos(f)); { 3 } seek(f,filepos(f)-1); seek(f,filepos(f)-1); read(f,y); read(f,y); writeln(y:5:2); { } writeln(y:5:2); { } close(f); close(f);end.

Pliki tekstowe var f : Text; { to już znamy, tego typu jest standardowe we. i wy.} f : Text; { to już znamy, tego typu jest standardowe we. i wy.} i, j : Integer; i, j : Integer;begin Assign(f,'TEST.TXT'); Assign(f,'TEST.TXT'); Rewrite(f); Rewrite(f); Writeln(f,' '); Writeln(f,' '); Writeln(f,' '); { plik zawiera 2 wiersze po 4 cyfry po kazdej spacja } Writeln(f,' '); { plik zawiera 2 wiersze po 4 cyfry po kazdej spacja } Reset(f); Reset(f); while not SeekEof(f) do{SeekEof(f) zwraca TRUE jeżeli osiągnięto} while not SeekEof(f) do{SeekEof(f) zwraca TRUE jeżeli osiągnięto} begin{ koniec pliku f } begin{ koniec pliku f } if SeekEoln(f) then{SeekEoln(f) analogicznie koniec wiersza } if SeekEoln(f) then{SeekEoln(f) analogicznie koniec wiersza } Readln; { Go to next line } Readln; { Go to next line } Read(f,j); Read(f,j); Writeln(j); Writeln(j); end; end;end.

Pliki elementowe a tekstowe Tekstowe Tekstowe czytelność czytelność przenośność (końce linii DOS/Win --- UNIX) przenośność (końce linii DOS/Win --- UNIX) uniwersalnośc (różne typy elementy) uniwersalnośc (różne typy elementy) Elementowe Elementowe szybkość szybkość łatwość przeszukiwania łatwość przeszukiwania oszczędność pamięci oszczędność pamięci ograniczenie do jednego typu elementow na plik ograniczenie do jednego typu elementow na plik

Plik blokowy – ciąg bajtów program CopyFile; var FromF, ToF: file; FromF, ToF: file; NumRead, NumWritten: Word; NumRead, NumWritten: Word; Buf: array[ ] of Char; Buf: array[ ] of Char;begin Assign(FromF, ParamStr(1)); { plik we. } Assign(FromF, ParamStr(1)); { plik we. } Reset(FromF, ); { rozmiar elementu = 1 Bajt } Reset(FromF, 1); { rozmiar elementu = 1 Bajt } Assign(ToF, ParamStr(2)); { plik we. } Assign(ToF, ParamStr(2)); { plik we. } Rewrite(ToF, 1); Rewrite(ToF, 1); Writeln('Copying ', FileSize(FromF), ' bytes...'); Writeln('Copying ', FileSize(FromF), ' bytes...'); repeat repeat BlockRead(FromF, Buf, SizeOf(Buf), NumRead); BlockRead(FromF, Buf, SizeOf(Buf), NumRead); BlockWrite(ToF, Buf, NumRead, NumWritten); BlockWrite(ToF, Buf, NumRead, NumWritten); until (NumRead = 0) or (NumWritten <> NumRead); until (NumRead = 0) or (NumWritten <> NumRead); Close(FromF); Close(FromF); Close(ToF); Close(ToF);end.

Moduły, programowanie modularne

Moduły w Pascalu cel programowania modularnego cel programowania modularnego realizacja w Pascalu realizacja w Pascalu unit, unit, interface, interface, implementation, implementation, uses uses

unit nazwa; interface { deklaracje procedur, funkcji, typów, zmiennych, } { stałych … – eksportowanych przez moduł } implementation { deklaracje procedur, funkcji … – wewnętrznych modułu } { definicje nazw zadeklarowanech w części interface} begin { inicjalizacja modułu } end. { kropka kończy moduł }

unit gzolw; interface var XTur, YTur, TAngle: real; procedure forwd(d:real); procedure TurnLeft(f:real); { f-kąt w stopniach } procedure TurnRight(f:real); procedure PenUp; procedure PenDown; function CheckPen: boolean; implementation…

implementation uses Graph; var PenState: boolean; { lokalna zmienna modułu } procedure forwd(d:real); var x2,y2:real; begin x2:=XTur+d*cos(TAngle); x2:=XTur+d*cos(TAngle); y2:=YTur-d*sin(TAngle); y2:=YTur-d*sin(TAngle); if PenState then if PenState then Line(round(XTur),round(YTur),round(x2),round(y2)); Line(round(XTur),round(YTur),round(x2),round(y2)); XTur:=x2; XTur:=x2; YTur:=y2; YTur:=y2;end;…

procedure TurnLeft(f:real); { f w stopniach } begin TAngle := Tangle + f*Pi/180; TAngle := Tangle + f*Pi/180; while TAngle>2*Pi do TAngle:=TAngle-2*Pi; while TAngle>2*Pi do TAngle:=TAngle-2*Pi; while TAngle<0 do TAngle:=TAngle+2*Pi; while TAngle<0 do TAngle:=TAngle+2*Pi;end; procedure TurnRight(f:real); begin TurnLeft(-f); TurnLeft(-f);end; procedure PenUp; begin PenState:=false; PenState:=false;end;…

procedure PenDown; begin PenState:=true; PenState:=true;end; function CheckPen: boolean; begin CheckPen:=PenState; CheckPen:=PenState;end; begin{ inicjalizacja } XTur:=0; XTur:=0; YTur:=0; YTur:=0; TAngle:=0; TAngle:=0;end.

Moduły moduły i co dalej? moduły i co dalej? programowanie obiektowe programowanie obiektowe programowanie składnikowe programowanie składnikowe …