Pascal
Instrukcja uruchamiania kompliatora
1. Uruchom dosboxportable.exe z dysku "h"2. mount h h:
3. h:
4. cd bp
5. cd bin
6. bp.exe
7. naciśnij prawy ATL+ENTER
ZMIENNE
| Przykład deklaracji zmiennych w programie program dowolna_nazwa; var a,b,c:integer; d,e,f:real; zmienna:string; begin; {algorytm} end. | TYPY LICZBOWE CAŁKOWITE Integer od -32768 do 32767 ze znakiem, 16 lub 32 lub 64 bitowy (w zależności od platformy na którą programujemy) ShortInt –128..127 ze znakiem, 8-bitowy LongInt –2147483648..2147453647 ze znakiem, 32bit. Byte 0..255 bez znaku, 8-bitowy Word 0..65535 bez znaku, 16-bitowy TYPY LICZBOWE RZECZYWISTE Real 5.0 x 10^–324 .. 1.7 x 10^308 64-bitowy Single 1.5 x 10^–45 .. 3.4 x 10^38 32-bitowy Double 1.5 x 10^–309 .. 1.7 x 10^309 64-bitowy TYPY ZNAKOWE Char 8 - bitowy zgodny z typem AnsiChar TYPY ŁAŃCUCHOWE String TYPY LOGICZNE Boolean 8 - bitowy |
WYBRANE PODSTAWOWE INSTRUKCJE
| Operacje we/wy write ('napis'); writeln ('napis'); write (zmienna); writeln (zmienna); writeln; read (zmienna); {instrukcja z błędem!!!} readln (zmienna); Działania matematyczne c:=a+b; c:=a-b; c:=a*b; c:=a/b; c:=a mod b; c:=a div b; | Jeżeli if (warunek_logiczny) then begin; {prawda - instrukcje} end else begin; {fałsz - instrukcje} end; if (warunek_logiczny) then {instrukcja - 1 sztuka}; if (warunek_logiczny) then begin; {prawda - instrukcje} end; warunek_logiczny - to równanie, nierówność lub zmienna boolean UWAGA! po then, po i przed else nigdy nie piszemy";" |
PĘTLE
| Pętle iteracyjne for i:=1 to 10 do begin; {coś} end; for i:=1 to 10 do {pojedyncza instrukcja}; for i:=10 downto 1 do begin; {coś} end; for i:=10 downto 1 do {pojedyncza instrukcja}; ----- i - zmienna typu całkowitego (dowolna nazwa) inkrementowana/dekrementowana automatycznie (i:=i+1 jest zbędne!, jeśli je zastosujesz zmienna będzie się zmieniać o 2!!!) | Pętle warunkowe repeat {tutaj instrukcje - nie jest potrzebny begin i end!} until (warunek_logiczny); -------------------------- while (warunek) do begin; {tutaj instrukcje} end; |
Pierwsze programy
| program suma_2_liczb; var a,b,c:integer; begin; write ('podaj 1 liczbe: '); readln(a); write ('podaj 2 liczbe: '); readln(b); c:=a+b; write ('wynik wynosi: '); write(c); end. -------------------------------------- program wart_bezwzgledna; var a:real; begin; write ('podaj liczbe: '); readln(a); if (a<0) then a:=-a; writeln(a:2:2); readln; end. | program kwadrat_z_x; var n,i,j:byte; begin; write ('podaj wymiar: '); readln(n); for i:=1 to n do begin; for j:=1 to n do write('x'); writeln; end; readln; end. |
Losowanie liczb
| randomize; - c:=random(a); - | program losowanie; uses crt; var ok,pom,i,j:byte; tablica:array ⌈1..6⌉ of byte; begin; randomize; for i:=1 to 6 do begin; ok:=0; repeat pom:=random (49)+1; for j:=1 to 6 do if tablica⌈j⌉<>pom then begin ok:=1; tablica⌈i⌉:=pom; writeln(pom); end; until ok=1; end; end. |
Procedury i funkcje
| deklaracja procedury: procedure nazwa_p; var a,b:byte; {zmienne lokalne} begin; {tutaj algorytm do wykonania} end; wywołanie w programie glównym: nazwa_p; {wywołanie procedury} | deklaracja funkcji: function nazwa_f(a,b:byte):integer; var c,d:byte; begin; {algorytm z przypisaniem wartości tej funkcji np.:} nazwa_f:=a+b; end; wywołanie w programie glównym: c:=nazwa_f(3,6); {wywołanie funkcji} |
Obsługa plików
| program pliki; uses crt,dos; var f:file of char; c:char; begin; assign(f,'h:bpplikuś.txt'); rewrite (f); repeat c:=readkey; if c<>#27 then begin; write(c); write(f,c); end; until c=#27; close (f); end. |
Długość stringa
| program znaki; var s:string; ile_znakow:integer; begin; read(s); ile_znakow:=Length(s); write ("Dlugosc napisu: ",ile_znakow); end. |


