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.

Podobne dokumenty