Alfabetyczny spis poleceń Pascala
Nazwa funkcji i Opis polecenia |
Przykład i inne podobne |
Abs(x); |
|
Zwraca wartość bezwzględną przekazanego jej argumentu. Można ją wywoływać tylko z argumentem będącym liczbą całkowitą lub zmiennoprzecinkową. |
Przykład Writeln (Abs(-1)); { = 1 } Writeln (Abs(-1.1)); {= 1.1}
|
Addr(x) |
|
Zwraca wskaźnik zawierający adres zmiennej, funkcji lub procedury. |
Przykład var wskaźnik: Pointer; liczba : Integer; begin wskaźnik := Addr(liczba); end. |
Append(plik : Text); |
Zobacz: Assign, Close, Reset, Rewrite |
Otwiera plik określony przez zmienną plikową do dopisywania. Zmiennej musi być wcześniej przypisana nazwa pliku przy pomocy polecenia Assign. Plik musi być tekstowy i musi istnieć, w przeciwnym razie powstanie błąd. |
|
Arc (x,y : Integer; kąt_pocz, kąt_kon, promień: Word); Moduł Graph |
Patrz także: InitGraph, CloseGraph, Circle, Ellipse, SetColor |
Rysuje odcinek okręgu o środku w punkcie (x, y) i danym promieniu. Rysuje od kąt_pocz do kąt_końcowy, oba podane w stopniach. |
Przykład Arc(100, 100, 0, 90, 60); Arc(100, 100, 330,30,80); |
ArcTan(x : Real); |
Patrz także: Sin, Cos |
Zwraca arcustangens podanej wartości (w radianach). W języku Pascal nie ma funkcji arcus sinus i arcus cosinus. Wartości tych funkcji można obliczyć korzystając z wzorów: ArcSin(x) = ArcTan (x/Sqrt (1-Sqr (x))) ArcCos(x) = ArcTan (sqrt (1-sqr (x)) /x) |
|
Assign(plik : String); |
Patrz także: file, text, Append, Reset, Rewrite, Close, Seek, FilePos, Truncate, Rename, Eof |
Procedura przypisuje zmiennej plikowej plik plik o nazwie nazwa. Plik może być zmienną typu Text. Aby móc odwoływać się do jakiegoś pliku, zawsze należy najpierw użyć procedury Assign. Przy dalszych operacjach pliki są identyfikowane przy pomocy zmiennej plikowej, a nie nazwy. Jeśli nazwą będzie '' (łańcuch pusty) to wszystkie operacje będą się odnosiły do standardowego wejścia i standardowego wyjścia. |
Przykład var plik_1 : file; plik_2 : text; begin Assign(plik_1,'plik.bin'); Assign(plik_2,'plik.txt'); ... end. |
BlockRead(var plik : file ; var bufor ;ile_czytać : word; var ile_przeczytał : word ); BlockWrite(var plik : file ; var bufor ;ile_zapisać : word; var ile_zapisał : word ); |
Patrz także: file, Assign, Write
|
Procedura BlockRead wczytuje z pliku plik do zmiennej bufor nie więcej niż ile_czytać bajtów i umieszcza w zmiennej ile_przeczytał ilość rzeczywiście przeczytanych bajtów (która może być mniejsza od oczekiwanej np. ze względu na rzeczywistą długość pliku) Procedura BlockWrite działa tak samo, tylko zapisuje do pliku.
|
Przykład var skąd,dokąd:file; num_czyt,num_pis:word; bufor:Array[1..1024] of Char; begin Assign(skąd,ParamStr(1)); Reset(skąd); Assign(dokąd,ParamStr(2)); Rewrite(dokąd); Repeat BlockRead(skąd, bufor, 1024, num_czyt); BlockWrite(dokąd, bufor, num_czyt, num_pis); Until (num_czyt=0) Or (num_pisnum_czyt); close(skąd); close(dokąd); end. |
ChDir(nowy_katalog : string ); |
Patrz także: MkDir, GetDir, RmDir |
Procedura zmienia bieżący katalog na podany. Jeśli podany katalog nie istnieje, generuje błąd i nadaje zmiennej IOResult wartość niezerową. |
|
Chr (kod : byte):char; |
Patrz także: Ord |
Funkcja zwraca znak (wartość typu char) o podanym kodzie ASCII. Przy wielu zastosowaniach równoważny jest zapis: chr(10) = #10 |
Przykład Write(Chr(7)); Write(#7); |
Close(var plik : file); |
Patrz także: file, Append, Reset, Rewrite |
Procedura służąca do zamykania otwartego pliku dowolnego typu. Każdy plik otwarty przy pomocy Append, Reset lub Rewrite powinno się zamknąć przy pomocy close, aby zapewnić poprawne zapisanie buforów i zwolnienie DOSowego uchwytu pliku. |
|
Concat(łańcuch1 [,łańcuch2, ...]): string; |
Patrz także: Copy, Delete, Insert, Length, Pos |
Funkcja łączy otrzymane łańcuchy w jeden, który następnie zwraca. Łączna długość danych łańcuchów nie może przekroczyć 255, czyli maksymalnej długości łańcucha. Jeśli przekroczy, to zwracane jest tylko pierwsze 255 znaków. Podobny efekt można uzyskać stosując operator '+'. |
Przykład Writeln (Concat ('abc' , 'def' , 'ghi') ); Writeln ('abc' + 'def' + 'ghi'); |
Copy(łańcuch : string; skąd, ile : integer): string; |
Patrz także: Concat, Delete, Insert, Length, Pos |
Funkcja zwraca podciąg łańcucha zaczynający się od indeksu skąd i mający ile znaków. Jeśli skąd jest większe niż długość łańcucha, to zwracany jest łańcuch pusty. Jeśli ile podaje więcej znaków, niż ich jest w łańcuchu od indeksu skąd, to zwraca tyle znaków, ile jest. |
Przykład Writeln(Copy('abcde',1,3)); {'abc'} Writeln(Copy('abcde',6,3)); {''} Writeln(Copy('abcde',4,3)); {'de'} |
Cos(x : real):real; Sin(x : real):real; |
|
Funkcje zwracają wartość sinusa i cosinusa kąta wyrażonego w radianach. Funkcja tangens nie jest zaimplementowana i trzeba ją obliczać ze wzoru: Tan(x)=Sin(x)/Cos(x) |
|
Dec(var x ;ile: LongInt ); |
Patrz także: Inc, Pred, Succ |
Procedura zmniejsza parametr x o wartość ile. Jeśli ile nie jest podane, domyślnie przyjmuje się 1. X musi być zmienną typu porządkowego - całkowitą lub wyliczeniową. |
Przykład var x : integer; begin x:=10; Dec(x,5); { x=5 } Dec(x); { x=4 } end. |
Delete(var s : string; początek, ile : integer); |
Patrz także: Concat, Copy, Insert, Length, Pos |
Procedura usuwa z określonego parametrem s łańcucha ile znaków zaczynając od indeksu początek. |
Przykład var s:string; begin s:='jakiś długi tekst'; Delete(s,7,6); Writeln(s); {'jakiś tekst'} end. |
Dispose(var p:Pointer [,destruktor]); |
Patrz także: New, FreeMem, GetMem |
Procedura zwalniająca pamięć zmiennej dynamicznej wskazywanej przez p, zaalokowanej wcześniej przy pomocy procedury New. Jeśli p wskazuje na obiekt, to tuż przed zwolnieniem pamięci wykonany zostanie destruktor tego obiektu. |
Przykład type str20 string[20]; var p:^str20; begin New(p); p^ := 'Jakiś tekst'; Dispose(p); end. |
Eof(var plik: file ):Boolean |
Patrz także: Assign, Eoln, Read, SeekEof |
Funkcja zwraca wartość logiczną True jeśli osiągnięty został koniec pliku. |
Przykład var F: text; Ch:char; begin Assign(F,'c:\autoexec.bat'); Reset(F); while not Eof(F) do Begin Read(F, Ch); Write(Ch); {pokaż zawartość pliku} End; end. |
Eoln(var plik: file): Boolean |
Patrz także: Assign, Eof, Read, SeekEof |
Zwraca wartość logiczną True jeśli wskaźnik pozycji pliku wskazuje na koniec wiersza. |
|
Erase(var plik:file); |
Patrz także: Assign, Rename |
Procedura kasuje plik na dysku. Nie wolno używać jej na otwartym pliku. |
Przykład var plik: file; begin Assign(plik,'prog1.bak'); Erase(plik); end. |
Exit; |
Patrz także: Halt |
Wywołanie procedury Exit powoduje natychmiastowe opuszczenie bloku programu, w którym to wywołanie nastąpiło. Można jej użyć do opuszczenia pętli, wyjścia z procedury/funkcji lub programu głównego. |
|
Exp(x : real) : real; |
Patrz także: Sqr, Sqrt, Ln |
Funkcja zwraca wartość e do potęgi x. |
|
FilePos(var plik : file) : LongInt; |
Patrz także: FileSize, Seek |
Funkcja zwraca aktualną pozycję pliku. Plik nie może być tekstowy i musi być otwarty (np. poleceniem Reset). Wartość zwracana jest w jednostkach, z których składa się plik. |
Przykład var plik: file of real; r:real; begin Assign(plik,'liczby.tmp'); Rewrite(plik); r:=1; Write(plik, r, r); {zapisanie dwóch liczb do pliku} Writeln(FilePos(plik)); {2} Close(plik); end. |
FileSize(var plik : file) : LongInt;
|
Patrz także FilePos Seek |
Funkcja zwraca wielkość pliku. Plik nie może być tekstowy i musi być otwarty (np. poleceniem Reset). Wartość zwracana jest w jednostkach, z których składa się plik. |
Przykład var plik: file of real; r: real; begin Assign(plik,'liczby.tmp'); Rewrite(plik); r:=1; Write(plik, r, r); {zapisanie dwóch liczb do pliku} Writeln(FileSize(plik));{2} Close(plik); end. |
FillChar(var zm; ile : word; znak : char); |
Patrz także: Move |
Procedura zapełnia pierwsze ile bajtów zmiennej zm wartością znak. Nie przeprowadza żadnego sprawdzenia zakresu - jeśli ile wykroczy poza wielkość zmiennej, to mogą zostać nadpisane jakieś inne zmienne. Znak może być typu char lub Byte |
Przykład Var S: string[80]; begin { zapisz cały łańcuch spacjami } FillChar(S, SizeOf(S),' '); S[0] := #80; { przywróć zmienioną długość łańcucha } end. |
Flush(var plik : text); |
Patrz także: text , Append, Reset, Rewrite, Write |
Procedura opróżnia bufor pliku tekstowego (zapisuje na dysk). Procedury tej używa się, by upewnić się, że wszystkie dane zapisane do pliku przez Write zostały fizycznie umieszczone w pliku. |
|
Frac( x : real) : Real; |
Patrz także: Int, Round, Trunc |
Funkcja zwraca część ułamkową danej liczby. Zwraca wartość typu Real. |
|
FreeMem(var wsk : pointer; ile : word); |
Patrz także: , GetMem, Dispose, Release, New, Mark |
Procedura zwalnia pamięć zaalokowaną przy pomocy GetMem. Parametr ile określający długość zwalnianego bloku musi być równy wielkości podanej w wywołaniu GetMem. |
|
GetDir(napęd : integer; var katalog : string); |
Patrz także: ChDir, MkDir, RmDir |
Wypisuje katalog bieżący podanego napędu do łańcucha katalog. Napęd Wartość par. napęd odpowiadający dysk
0 bieżący
1 A:
2 B:
3 C:
4 D:
|
|
GetMem(var wsk : pointer; ile : word);
|
Patrz także: FreeMem, MaxAvail, New, Mark, Dispose, Release, GetImage |
Procedura przydziela ze sterty blok pamięci o wielkości określonej parametrem ile i ustawia wskaźnik wsk na ten blok. Przydzieloną w ten sposób pamięć należy później zwolnić przy pomocy procedury FreeMem. Maksymalny blok, który można przydzielić ma długość 65,528 bajtów (64k-8). Jeśli nie można przydzielić żądanego bloku (brak pamięci) to generowany jest błąd. |
Przykład var bufor: pointer; wielkość: integer; begin wielkość:=1024; if wielkość > MaxAvail then Begin Writeln('Brak pamięci'); Halt; End; GetMem(bufor, wielkość); . . { odwołania do bufora przez bufor^ } . FreeMem(bufor, wielkość); end. |
Halt[(kod_błędu : word)]; |
Patrz także: Exit |
Wywołanie powoduje natychmiastowe wyjście z programu. Można (opcjonalnie) podać kod błędu, jaki zostanie zwrócony programowi nadrzędnemu (najczęściej jest to shell systemu operacyjnego - command.com). Kod ten można odczytać np. przez polecenie DOSu errorlevel. |
Przykład begin Writeln('To będzie wykonane'); Halt; Writeln('A to nigdy'); end. |
Hi( x ) : byte ; |
Patrz także : Lo, Swap |
Funkcja zwracająca starszy bajt parametru. Parametr może być typu integer albo word. |
Przykład Writeln(Hi($1234)); {18 = $12} |
Inc(var x ;ile: LongInt ); |
Patrz także: Dec, Pred ,Succ |
Procedura zwiększa parametr x o wartość ile. Jeśli ile nie jest podane, domyślnie przyjmuje się 1. X musi być zmienną typu porządkowego - całkowitą lub wyliczeniową. |
Przykład var x : integer; begin x:=0; Inc(x,5); { x=5 } Inc(x); { x=6 } end. |
Insert(co : string; var dokąd : String; indeks : integer); |
Patrz także: , Concat, Copy, Delete, Length, Pos |
Procedura wstawiająca łańcuch co do łańcucha dokąd zaczynając od miejsca w dokąd o numerze indeks. Jeśli wynikowy łańcuch miałby ponad 255 znaków, to jest on obcinany (do 255 znaków). |
Przykład var s : string; begin s:='To jest łańcuch'; Insert(' drugi',s,8); Writeln(s); {'To jest drugi łańcuch'} end. |
Int(x : real) : Real; |
Patrz także: Frac, Round, Trunc |
Funkcja zwraca wartość argumentu x po obcięciu części ułamkowej. Zwracana jest wartość typu Real. |
|
Length(łańcuch : string ) : integer;
|
Patrz także: Concat, Copy, Delete, Insert, Pos |
Funkcja zwracająca długość danego łańcucha. Nie jest to ilość pamięci zaalokowanej dla zmiennej, ale rzeczywista długość przechowywanego tekstu. Wywołanie tej funkcji jest równoznaczne z pobraniem liczby łańcuch[0]. |
Przykład var s : string[20]; begin s:='Tekst'; Writeln(Length(s)); { 5 } Writeln(Integer( s[0] ));{5} end. |
Ln(x : real) : Real; |
Patrz także: Exp, Sqr, Sqrt |
Funkcja zwraca wartość logarytmu naturalnego z x. |
|
Lo( x ) : byte ; |
Patrz także: Hi, Swap |
Funkcja zwracająca młodszy bajt parametru. Parametr może być typu integer albo word. |
Przykład Writeln(Lo($1234)); {52 = $34} |
MaxAvail : LongInt; |
Patrz także: GetMem, MemAvail |
Funkcja zwracająca wielkość najdłuższego ciągłego bloku wolnej pamięci, którą można przydzielić przez GetMem |
|
MemAvail : LongInt; |
Patrz także: GetMem, MaxAvail |
Funkcja zwracająca ilość wolnej pamięci w bajtach. Jest to suma długości wszystkich wolnych bloków pamięci. Z reguły ze względu na fragmentację pamięci nie można całej tej pamięci przydzielić jednej zmiennej dynamicznej. |
|
Move(var skąd, dokąd; ile : word); |
Patrz także: FillChar |
Procedura kopiuje ile bajtów ze zmiennej skąd do zmiennej dokąd. Nie jest sprawdzane, czy parametr ile nie wykracza poza zakres zmiennych. |
Przykład var s:string; r:real; begin r:=1111.1111; move(r,s,6); {pierwsze 6 bajtów łańcucha zawiera liczbę} end. |
New(var wskaźnik : pointer [; konstruktor]); |
Patrz także: Dispose, FreeMem, GetMem |
Procedura alokuje dla zmiennej dynamicznej pamięć na stercie i ustawia wskaźnik na odpowiedni adres. Jeśli jest to wskaźnik do obiektu, to można podać nazwę konstruktora który ma być wykonany przy powstaniu obiektu. |
Przykład type str20 string[20]; var p:^str20; begin New(p); p^ := 'Jakiś tekst'; Dispose(p); end. |
Odd( x : longint ) : boolean; |
|
Zwraca wartość true jeśli dana liczba jest nieparzysta. |
|
Ofs(x): word; |
Patrz także: Addr, Seg |
Zwraca przesunięcie (offset) danej w segmencie. |
|
Ord(x) : longint; |
Patrz także: Chr |
Zwraca numer elementu x. X musi być wyrażeniem typu porządkowego- całkowitym lub wyliczeniowym. |
Przykład begin Writeln(Ord('A')); { 65 } end. |
ParamCount: word ; |
Patrz także: ParamStr |
Zwraca ilość parametrów podanych programowi w linii poleceń. 0 oznacza brak parametrów. |
|
ParamStr(nr : word ) : string ;
|
Patrz także: ParamCount |
Zwraca parametr o danym numerze podany w linii komend. Parametrem o numerze 0 jest nazwa pliku wykonywanego. |
Przykład var i:integer; begin for i:=1 to ParamCount do writeln(ParamStr(i)); end. |
Pi : real ; |
|
Zwraca wartość liczby pi. |
Przykład stopnie := radiany * 180 / pi; radiany := stopnie * pi / 180; |
Pos(podciąg, łancuch : string) : byte; |
Patrz także: Delete, Copy, Insert, Length |
Podaje pozycje wyszukanego podciągu w danym łańcuchu znaków. |
Przykład var S:string; begin S:=' 125.5'; while Pos(' ', S)>0 do S[pos(' ',s)]:=0; end. |
Pred(x) |
Patrz także: Inc, Dec, Succ |
Podaje poprzednika liczby podanej jako parametr |
|
Ptr(segment, przesuniecie : word) : pointer; |
Patrz także: Addr |
Funkcja przypisująca zmiennej wartość podanego miejsca w pamięci. |
|
Random[(zakres : word )];
|
Patrz także: Randomize |
Funkcja służy do losowania wartości z przedziału <0;zakres -1> |
|
Randomize; |
Patrz także: Random |
Inicjuje wbudowany generator liczb losowych (sprawia aby liczby były za każdym razem inne). |
|
Read(parametr) |
Patrz także: Readkey, Readln, Write, Writeln |
Odczytuje z aktualnego źródła to co jest podane jako parametr. |
|
ReadKey |
|
Funkcja odczytuje wciśnięty klawisz. |
Przykład: A:=ReadKey; |
Readln(parametr) |
Patrz także: Read, Write, Writeln |
To samo co Read, ale przeskakuje do następnej linii. |
|
Release(var wskaźnik : pointer); |
Zobacz także: Dispose, FreeMem, GetMem, Mark, New |
Zwalnia stos do miejsca zaznaczonego wcześniej poleceniem Mark. |
|
RemoveDir(S:string); |
Patrz także: RmDir |
Za pomocą tej instrukcji usuwa się puste podkatalogi. |
|
Rename( F;NowaNazwa) |
Patrz także: Erase |
Zmienia nazwę pliku. |
|
Repeat Until (warunek); |
|
Miedzy tymi instrukcjami znajdują się instrukcje, które będą powtarzane dopóki nie zostanie spełniony warunek. |
|
Reset(F) |
Patrz także: Append, Assign, Close, Rewrite |
Otwiera istniejący plik z nazwą przekazaną do F poleceniem Assign. |
|
Rewrite(F) |
Patrz także: Append, Assign, Reset |
Tworzy i otwiera nowy plik. F jest nazwą przekazaną za pomocą polecenia Assign. |
|
RmDir(S:string); |
Patrz także: ChDir, GetDir, MkDir, RemoveDir |
Usuwa pusty katalog o ścieżce podanej w S. |
|
Round(liczba) |
Patrz także: Int, Trunc |
Zaokrągla liczbę rzeczywistą podaną w parametrze do liczby całkowitej. |
|
RunError [(kod:byte)] |
Patrz także: Exit, Halt |
Instrukcja zatrzymuje wykonywanie się programu generując błąd podany w parametrze. |
|
Seek (F;N:Longint); |
Patrz także: FilePos |
Ustawia pozycję w pliku na N. |
|
SeekEof : boolean; |
Patrz także: Eof, SeekEoln |
Funkcja zwraca wartość TRUE jeśli jest koniec pliku. |
|
SeekEoln : boolean; |
Patrz także: Eof, SeekEof |
Funkcja przyjmuje wartość TRUE jeśli jest koniec linii w pliku. |
|
Seg(x):word; |
Patrz także: Addr, Ofs |
Zwraca segment obiektu zawartego w X, gdzie X jest funkcją lub procedurą. |
|
SetColor(parametr); |
|
Instrukcja ustawia kolor pisania i rysowania w trybie graficznym. Parametrem jest nazwa lub liczba danego koloru. Kolory i licz wartości: Kolor Wartość
Czarny 0
Niebieski 1
Zielony 2
Cyjan 3
Czerwony 4
Magenta 5
Brązowy 6
Jasnoszary 7
Ciemnoszary 8
Jasnoniebieski 9
Jasnozielony 10
Jasny cyjan 11
Jasnoczerwony 12
Jasna magenta 13
Żółty 14
|
|
SetTextBuf(F:Text;Bufor) |
Patrz także: Reset, Rewrite, Append |
Ustawia bufor wejścia/wyjścia dla pliku tekstowego |
|
SizeOf(parametr) |
Patrz także: virtual |
Funkcja zwraca ilość bajtów jaką zajmuje obiekt podany jako parametr. |
|
Str(X;S:string); |
|
Instrukcja zamienia liczbę X na łańcuch znaków. |
|
Sqr(liczba) |
Patrz także: Sqrt |
Funkcja podnosi liczbę do kwadratu. |
|
Sqrt(liczba : real) : real
|
Patrz także: Sqr |
Funkcja pierwiastkuje liczbę. |
|
Succ(parametr) |
Patrz także: Pred, Inc, Dec |
Funkcja podaje następnika parametru |
|
Swap(liczba) |
Patrz także: Lo, Hi |
Funkcja zamienia "wysokie" i "niskie" bity w liczbie. Liczba jest typu Integer lub Word |
Przykład: Swap($abcd)=$cdab |
Trunc( liczba:real) : longint; |
Patrz także: Int, Round |
Funkcja skraca liczbę rzeczywistą do liczby całkowitej. |
|
Truncate(F) |
Patrz także: Reset, Rewrite, Seek |
Skraca plik począwszy od aktualnej pozycji. |
|
UpCase(Ch : char) : char; |
|
Konwertuje znak do wielkiej litery. |
Przykład: UpCase('a')='A'; UpCase('B')='B'; |
Val(S:string;V:integer;error:integer); |
Patrz także: Str |
Funkcja przekształca ciąg znaków na liczbę. |
Przykład: val('123',i,error); {i=123} val('abc',i,error); {error<>0} |
Var |
|
Po tym słowie kluczowym następuje deklaracja zmiennych użytych w programie. |
|
Write( [F;] X); |
Patrz także: Read, Readln, Writeln |
Instrukcja zapisuje wartość parametru X na aktualne urządzenie wyjścia. Jeżeli podana jest specyfikacja pliku to zapisz tą wartość do pliku. |
|
Writeln Instrukcja działa analogicznie do Write lecz na końcu przechodzi do następnej linii. |
Patrz także: Read, Readln, Write |
8