begin
Transkrypt
begin
Pascal 1. Pliki tekstowe Przykład 1.1. Zapis do pliku tekstowego {deklaracja zmiennej tekstowej 'plik'} var plik: text; begin {skojarzenie zmiennej plikowej 'plik' z plikiem na dysku (podajemy lokalizacje)} assign(plik,'c:\documents and settings\xkingu\pulpit\pliki tekstowe\test.txt'); {tworzenie pliku lub usuwanie zawartosci} rewrite(plik); {zapis do pliku} writeln(plik,'test zapisu do pliku'); {zamykanie pliku} close(plik); readln; end. Przykład 1.2. Dopisywanie do pliku tekstowego var plik: text; begin assign(plik,'c:\documents and settings\xkingu\pulpit\pliki tekstowe\test.txt'); {dopisanie danych do pliku bez utraty wczesniejszej zawartosci} append(plik); writeln(plik,'test zapisu do pliku nr2'); close(plik); end. Przykład 1.3. {deklaracja modulu dos} uses dos; var {deklaracja zmiennej plikowej 'plik'} plik: text; {deklaracja zmiennej string} wers: string; begin {sprawdzenie, czy istnieje plik o nazwie test.txt} if fsearch('c:\documents and settings\xkingu\pulpit\pliki tekstowe\test.txt','')='' then begin writeln('nie ma takiego pliku'); end else {skojarzenie zmiennej plikowej 'plik' z plikiem 'test.txt'} assign(plik,'c:\documents and settings\xkingu\pulpit\pliki tekstowe\test.txt'); {otwarcie istniejacego pliku} reset(plik); {wczytanie pod zmienna 'wers' zawartosci 1-go wersu pliku tekstowego} readln(plik, wers); {zamkniecie pliku} close(plik); {wyypisanie zawartosci zmiennej 'wers'} writeln(wers); readln; end. Przykład 1.4. Wypisanie zawartości pliku po wersie var plik: text; wers: string; begin assign(plik,'c:\documents and settings\xkingu\pulpit\pliki tekstowe\test.txt'); reset(plik); {rozpoczecie petli wypisujacej kolejne wiersze z pliku 'plik'} repeat readln(plik, wers); writeln(wers); {petla konczy dzialanie gdy dojdziemy do konca pliku 'plik'} until eof(plik); close(plik); readln; end. 2. Pliki elementowe Przykład 2.1. Zapis liczb od 1 do 100 w pliku binarnym {pliki elementowe to pliki binarne (.dat)} var {deklaracja zmiennej plikowej binarnej 'plik'} plik:file of integer; x:integer; begin {skojarzenie zmiennej 'plik' z plikiem test.dat} assign(plik,'c:\documents and settings\xkingu\pulpit\pliki elementowe\test.dat'); {stworzenie zmiennej plikowej 'plik'} rewrite(plik); for x:=1 to 100 do begin {zapisanie w pliku 'plik' wartosci zmiennej x} write(plik,x); end; {zamkniecie pliku} close(plik); readln; end. Przykład 2.2. Wypisanie zawatorści pliku binarnego var plik:file of integer; x:integer; begin assign(plik,'c:\documents and settings\xkingu\pulpit\pliki elementowe\test.dat'); reset(plik); {petla wypisujaca zawartosc pliku binarnego ‘plik’} repeat read(plik,x); write(' ',x); until eof(plik); close(plik); readln; end. 3. Zbiory Przykład 3.1. Sprawdzenie, czy liczba należy do zbioru uses crt; var //deklaracja zmiennej zbiorowej, ktorej elementy sa typu byte cyfry: set of byte; x:byte; begin clrscr; write('Podaj cyfre: '); readln(x); //przypisanie do zmiennej cyfry wartosci od 1 do 10 cyfry:=[1..10]; if x in cyfry then writeln('Podales liczbe ze zbioru 1..10') else writeln('Podana liczba nie nalezy do zbioru'); readln; end. 4. Rekordy (struktury danych) Przykład 4.1. uses crt; //deklaracja rekordu o identyfikatorze 'motor' type motor=record marka:string[10]; //deklaracja pol rekordu model:string[10]; predkosc:integer; end; var //deklaracja tablicy dwuelementowej, ktorej elementy sa rekordami typu motor garaz: array[1..2] of motor; a:integer; begin clrscr; writeln('Wprowadz 2 motocykle do garazu '); // wprowadzanie skladowych tablicy opartej na rekordach for a:=1 to 2 do begin writeln('Marka motocyklu nr ',a,' to: '); readln(garaz[a].marka); writeln('Model motocyklu nr ',a,' to: '); readln(garaz[a].model); writeln('Predkosc motocyklu nr ',a,' to: '); readln(garaz[a].predkosc); end; writeln('----------------------------------'); writeln('Aby wyswietlic zawartosc garazy wcisnij ENTER'); readln; writeln('Twoja zawartosc garazu to: '); for a:=1 to 2 do begin writeln('Motocykl nr ',a,':'); writeln(garaz[a].marka,', ',garaz[a].model,', ',garaz[a].predkosc,' km/h'); end; readln; end. 5. Wskaźniki Przykład 5.1 uses crt; var // deklaracja zmiennej wskaznikowej typu integer wskaznik: ^integer; begin clrscr; // inicjacja zmiennej wskaznikowej w pamieci new(wskaznik); //przypisanie wartosci do zmiennej wskaznikowej wskaznik^:=4; write('Wypisuje wartosc wskaznika: '); writeln(wskaznik^); // zwolnienie pamieci po zmiennej wskaznikowej dispose(wskaznik); writeln('Zwolnilem miejsce w pamieci'); readln; end. 6. Moduły Budowa modułu (plik test.pas) i odwołanie się do modułu w pliku testmodulu.pas Przykład 6.1 Plik test.pas unit test; {publiczny blok z deklaracjami, za jej posrednictwem programy maja dostep do czesci prywatnej implementation} interface function dodawanie(x,y:integer): integer; {prywatny blok definiujacy funkcje} implementation function dodawanie(x,y:integer): integer; begin dodawanie:=x+y; end; {blok umozliwiajacy nadanie poczatkowych wartosci/komunikatow modulu} begin writeln('Test modulu'); end. Plik testmodulu.pas uses test; begin writeln(dodawanie(4,5)); readln; end.