pascal.pdf
(
163 KB
)
Pobierz
88844708 UNPDF
Kurs Pascala
30 listopada 2006 roku
Spis tre±ci
2 Wst¦p
2
3 Podstawy 2
3.1 Ogólna struktura programu w Pascalu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Kompilacja programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.3 Zmienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.4 Operatory arytmetyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.5 Wybrane funkcje standardowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.6 Zadania do wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Instrukcje steruj¡ce 5
4.1 Instrukcja IF...THEN..ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Instrukcja CASE...ELSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.3 Operatory porównania i logiczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3.1 Operatory porównania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3.2 Operatory logiczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 P¦tle steruj¡ce 7
5.1 P¦tla
for
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.2 P¦tla steruj¡ca
while
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.3 P¦tla sterujsca
repeat
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6 Operacje wej±cia-wyj±cia 9
6.1 Read, Readln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.2 Write, Writeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.3 Formatowanie danych przy operacjach wej±cia-wyj±cia . . . . . . . . . . . . . . . . . . . . . . . . 10
7 Obsługa plików 11
7.1 Pliki tekstowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2 Wykorzystanie plików . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.3 Przykłady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.4 Znaki ko«cowe w pliku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.5 Zadania ddo wykonania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8 Tablice 14
8.1 Tablice wielowymiarowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9 Funkcje i procedury 16
9.1 Funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.2 Procedury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1
2 Wst¦p
Internetowe kursy Pascala:
http://www.lo2.opole.pl/~dragosystems/kursy/kpascal.htm
3 Podstawy
3.1 Ogólna struktura programu w Pascalu
Struktura programu w Pascalu jest nast¦pujsca:
1
program nazwa;
2
{komentarz}
3
deklaracje u»ywanych zmiennych, stałych, tablic, modułów
4
5
begin
6
instrukcja 1;
7
.
8
.
9
.
10
instrukcja n;
11
end.
Uwagi:
komentarze umieszczamy w nawiasach klamrowych
f
i
g
po nazwie programu wyst¦puje blok deklaracji u»ywanych zmiennych, stałych , tablic, bibliotek itp.
ka»da instrukcja ko«czy si¦ ±rednikiem (podobnie jak w C), podobnie te» procedury i funkcje
słowo
begin
oznacza rozpocz¦cie głównego bloku programu a
end
jego koniec. Po słowie
end
wyst¦puje
kropka poniewa» jest to zarazem koniec programu
3.2 Kompilacja programu
Kod ¹ródłowy programu jest plikiem tekstowym o jakiej± nazwie i odpowiednim rozszerzeniu. Kompilator
gpc
rozpoznaje nast¦pujsce rozszerzenia:
.p
.pp
.dpr
Kompilacja programu w najprostszym przypadku polega na wydaniu polecenia:
gpc *.p
W efekcie w katalogu, w którym znajduje si¦ kod ¹ródłowy powinien pojawi¢ si¦ plik
a.out
, który jest wyko-
nywalny (
./a.out
).
3.3 Zmienne
Zmienn¡ jest pewna komórka w pami¦ci komputera przechowuj¡ca jak¡± warto±¢. T¦ warto±¢ mo»emy zmienia¢.
Zmienne w programie deklarujemy w nast¦pujscy sposób:
1
program nazwa
2
var
3
zmienna_1,zmienna_2: typ_1;
4
zmienna_3: typ_2;
5
zmienna_5,zmienna_6: typ_3;
6
begin
7
instrukcje;
8
end.
W Pascalu wyró»niamy nast¦pujsce typy zmiennych:
1. Zmienne typu całkowitego. Zaliczajs si¦ do nich poni»sze podtypy:
byte
zakres:0...255 (2
0
−
1 do 2
8
−
1) - 8 bitów
integer
zakres:-2147483648...2147483647 (
−
2
31
do 2
31
−
1) 32 bity
word
word:0...4294967295 (2
0
−
1 do 2
32
−
1) 32 bity
longint
zakres: bardzo du»y (
−
2
63
do 2
63
−
1) 64 bity
2. Zmienne typu rzeczywistego. Podtypy:
single
zakres: min=1
.
5
x
10
−
45
max=3
.
4
x
10
38
(4 bajty, 7-8 cyfr znacz¡cych)
real
zakres:min=2
.
9
x
10
−
39
max=1
.
7
x
10
38
(6 bajtów, 11-12 cyfr znacz¡cych)
double
zakres: min=5
.
0
x
10
−
324
max=1
.
7
x
10
308
(8 bajtów, 15-16 cyfr znacz¡cych)
extended
zakres: min=3
.
6
x
10
−
4951
max=1
.
1
x
10
4932
(10 bajtów, 19-20 cyfr znaczscych)
3. Zmienne znakowe. Podtypy:
char
- 1 znak (1 bajt)
string
- zakres = 0..256 (256 bajtów)
tablica[długo±¢]
- zakres: 0..długo±¢ (długo±¢+1 bajtów)
4. Typ logiczny -
Boolean
= TRUE lub FALSE (prawda lub fałsz)
Stałe deklarujemy w programie przy u»yciu słowa kluczowego
Const
:
program nazwa
Const
a=100; {liczba całkowita - zapis dziesi¦tny}
b=$ff; {$liczba całkowita - zapis szesnastkowy}
c=4.455; {liczba rzeczywista}
znak_1=’d’; {typ znakowy}
znak_2=#32; {typ znakowy - kod ASCII}
lancuch=’cos tam’; {typ ła«cuchowy}
begin
end.
3.4 Operatory arytmetyczne
1. Instrukcja przypisania
:=
x:=5;
2. operator dodawania
+
x:=x+5;
3. operator odejmowania
-
x:=x-5;
4. operator mno»enia
*
x:=4*6;
5. operator dzielenia
/
(dzielenie z reszts)
x:=1893./234.;
6. operator dzielenia
MOD
(dzielenie ”modulo” - reszta z dzielenia liczb całkowitych)
x:=9 mod 2; =1
7. operator dzielenia
DIV
(dzielenie bez reszty)
x:=9 mod 2; =2
3.5 Wybrane funkcje standardowe
Typ całkowity:
1. HIGH(typ całkowity) - najwi¦ksza warto±¢ danego typu (shortint, byte, integer itp.)
2. LOW(typ całkowity) - najmniejsza warto±¢ danego typu (shortint, byte, integer itp.)
3. PRED(zmienna) - najwi¦ksza liczba całkowita, która jest mniejsza od warto±ci zmiennej
4. SUCC(zmienna) - najmniejsza liczba całkowita, która jest wi¦ksza od warto±ci zmiennej
5. RANDOM(warto±¢) - liczba pseudlosowa z zakresu 0..warto±¢-1
Funkcje matematyczne:
1. ABS(x) (real) - warto±¢ bezwzgl¦dna x (integer lub real)
2. ARCTAN(x) (real) - arcus tangens x (integer lub real)
3. CHR(x) (Char) - znak odpowiadajscy zmiennej x (integer)
4. EXP(x) (real) -
e
x
5. LN(x) (real) - logarytm naturalny z x (integer lub real)
6. ROUND(x) (integer) - warto±¢ argumentu zaokr¡glona do najbli»szej liczby typu całkowitego
7. TRUNC(x) (integer) - warto±¢ argumentu obci¦ta do liczby typu całkowitego
8. SIN(x) (real)- warto±¢ sinusa x (integer lub real)
9. COS(x) (real)- warto±¢ kosinusa x (integer lub real)
10. SQR(x) (real) -
x
2
11. ODD(x) (boolean) - TRUE dla nieparzystych, FALSE dla parzystych
12. FRAC(x) (real) - cz¦±¢ ułamkowa liczby rzeczywistej x
13. PI (real) - zwraca warto±¢ liczby
Funkcje znakowe:
1. UPCASE(znak) (char)- zamienia mały znak na du»y
2. LENGTH(ła«cuch) (integer)- zwraca długo±¢ ła«cucha (stringu)
3.6 Zadania do wykonania
1. Mamy 4 zmienne rzeczywiste: x1 - single, x2 - real, x3 - double, x4 - extended. Jaki b¦dzie wynik działania:
xn:=12./1234. (lub raczej xn:=12.0/1234.0)?
2. Mamy zmienns y: integer. Jaki b¦dzie wynik operacji: y:= 90 / 43, y:= 90 div 43, y:= 90 mod 43?
3. Sprawdzi¢ jaki b¦dzie wynik operacji:
1
var
2
z: short;
3
begin
4
z:=9999999999;
5
end.
Jaki komunikat wy±wietla kompilator?
4 Instrukcje steruj¡ce
4.1 Instrukcja IF...THEN..ELSE
Główns istrukcjs steruj¡c¡ jest instrukcja
if
. Podstawowa jej wersja wygl¡da nast¦puj¡co:
IF warunek_logiczny THEN instrukcja;
Oczywi±cie zamiast pojedynczej instrukcji mo»e wyst¦powa¢ ich blok:
IF warunek logiczny THEN
begin
instrukcje;
end;
Je»eli warunek logiczny ma warto±¢ TRUE (jest prawdziwy) wówczas wykonywany jest blok instrukcji wy-
st¦puj±cy po słowie kluczowym
THEN
.
Rozwini¦cie instrukcji
if
dotyczy przypadku gdy interesuje nas tak»e wykonanie instrukcji (lub ich bloku) w
przypadku gdzy warunek jest niespełniony. Wtedy jej konstrukcja wygl¡da jak poni»ej:
IF war_logiczny THEN
begin
instrukcje 1;
end
ELSE
begin
instrukcje 2;
end;
Uwagi:
po bloku instrukcji wyst¦pujscym za słowem
THEN
nie stawaiamy kropki
4.2 Instrukcja CASE...ELSE
Instrukcj¦ CASE stosuje si¦ gdy wykonanie pewnych instrukcji uzale»nione jest od przyjmowania przez zmienn¡
±ci±le okre±lonych warto±ci licbowych (typu całkowitego). Konstrukcja jest nast¦puj¡ca:
CASE zmienna OF
wartosc_1: instrukcja_1;
wartosc_2: instrukcja_2;
wartosc_3: instrukcja_3;
wartosc_4: instrukcja_4;
ELSE
instrukcja_else;
end;
Warto±¢ zmiennej porównywana jest kolejno z warto±ciami: 1, 2, 3 i 4. Je±li zmienna przyjmuje dan¡ warto±¢
to wykonywana jest przypisana do tej warto±ci instrukcja. Gdyby jednak warto±¢ zmiennej była ró»na od
warto±¢i: 1, 2, 3 i 4 to wtedy wykonywana jest instrukcja poło»ona za słowem kluczowym ELSE.
Przykład:
program ins_else;
k: integer;
begin
k:=10;
case k of
1: writeln(k);
2: writeln(k);
3: writeln(k);
4: writeln(k);
Plik z chomika:
BoczekX-Man
Inne pliki z tego folderu:
android-x86-4.0-amd_brazos-20111209.iso
(200504 KB)
android-x86-4.0-amd_brazos-20120101.iso
(202752 KB)
android-x86-4.0-asus_laptop-20120101.iso
(195584 KB)
Alcohol52_FE_2.0.2.5830 (1).exe
(8606 KB)
Alcohol52_FE_2.0.2.5830.exe
(8606 KB)
Inne foldery tego chomika:
- ▉ NAJNOWSZE FILMY - CHOMIKUJ
- FILMY AVI NOWE CHOMIKUJ
- FILMY HD NOWE CHOMIKUJ
- FILMY HD NOWE CHOMIKUJ(1)
! ! ! ! ! ◢ FACECI OD MIĘSA - sezon 1 lektor PL
Zgłoś jeśli
naruszono regulamin