Podstawowe wiadomoś ci o języku programowania Pascal. Na

Transkrypt

Podstawowe wiadomoś ci o języku programowania Pascal. Na
Podstawowe wiadomoś ci o języku programowania Pascal.
Na początku lat siedemdziesiątych Niklaus Wirth opublikował pierwszy opis języka Pascal (był on
wzorowany na języku Algol 60). Ze względu na swoje zalety język Pascal bardzo dobrze nadaje się do
nauki programowania. Przejrzysty i czytelny kod ź ródłowy sprawia, ż e edycja treś ci programu, jego
analiza czy póź niejsza modyfikacja jest łatwiejsza niż w wielu innych językach programowania.
Język algorytmiczny - język opisu algorytmów i komunikacji między uż ytkownikami komputerów.
Większoś ć ze stosowanych języków programowania spełnia wymagania języków algorytmicznych.
Język strukturalny - umoż liwia budowanie programów podzielonych na bloki, częś ci – procedury bądź
funkcje. Programowanie strukturalne ułatwia projektowanie, testowanie a takż e „utrzymanie” kodu
programu.
Program ź ródłowy składa się z jednostek leksykalnych oraz separatorów (spacja, tabulacja, ś rednik,
przecinek, kropka, znak zmiany wiersza i komentarz). Treś ć programu ź ródłowego wpisuje się do pliku
tekstowego (najczęś ciej o rozszerzeniu 'PAS').
Uwaga: W jednym pliku moż e być umieszczony tylko jeden program ź ródłowy.
Jednostki leksykalne to:
a) Słowa kluczowe - są to spójne ciągi liter, które tworzą zarezerwowane słowa angielskie
o ustalonym znaczeniu.
absolute
and
array
asm
assembler
begin
case
const
constructor
destructor
div
do
downto
else
end
external
far
file
for
forward
function
goto
if
implementation
in
inherited
inline
interface
interrupt
label
mod
near
nil
not
object
of
or
packed
private
procedure
program
public
record
repeat
set
shl
shr
string
then
to
type
unit
until
uses
var
virtual
while
with
xor
b) Identyfikatory - są to spójne ciągi liter i cyfr rozpoczynające się od litery, nie będące słowem
kluczowym.
- nie są rozróż niane duż e i małe litery.
- znak podkreś lenia _ uznawany jest za literę;
Identyfikatory służ ą do oznaczania: programów, stałych, typów, zmiennych, pól w rekordach,
procedur, funkcji, parametrów formalnych.
Uwaga: słowa kluczowe nie mogą być uż ywane jako identyfikatory.
c) Liczby – całkowite, rzeczywiste.
d) Napisy (literały łańcuchowe, łańcuchy) - ciągi znaków między apostrofami (np. ’to jest napis ’).
e) Literały logiczne - mają postać napisu 'true' lub 'false'.
f) Komentarze - nie wpływają na wykonywanie programu i wykorzystywane są do zwiększenia
czytelnoś ci programu i zrozumienia jego treś ci. Są to napisy umieszczone w klamrach (* ... *) lub
{ ... } .
Struktura programu:
1. Nagłówek programu
2. Deklaracja modułów
3. Blok definicji i deklaracji
4. Blok podprogramów
5. Blok główny
W każ dym programie muszą wystąpić zawsze dwa bloki 1 i 5. Istotna jest kolejnoś ć umieszczania
bloków w programie (blok 1 zawsze na początku, blok 5 na końcu).
Nagłówek programu składa się ze słowa kluczowego „PROGRAM”, po którym umieszcza się nazwę
programu (identyfikator) oraz ewentualnie ujętą w nawiasy okrągłe listę parametrów (kolejne elementy
tej listy oddzielamy przecinkami). Lista parametrów moż e być pomijana. Nagłówek programu
zakończony jest ś rednikiem.
JPK - Pascal cz.1
1/3
Blok główny programu rozpoczyna się od słowa „begin” a zakończeniem bloku (programu) jest słowo
„end.” (obowiązkowo z kropką). Pomiędzy słowami „begin” a „end” wpisuje się instrukcje programu
oraz wywołania podprogramów (procedur, funkcji). Instrukcje umieszczone w programie oddzielane są
od siebie ś rednikami.
Program Nazwa_Programu ;
begin
Instrukcja_1 ;
Instrukcja_2 ;
...
Instrukcja_N
end.
Operatory:
§ arytmetyczne:
§ relacyjne:
§ logiczne:
+
=
and
<
or
{ nagłó wek programu }
{ początek bloku głó wnego }
{ koniec bloku głó wnego }
*
>
not
/
<>
div
<=
mod
>=
Przykłady:
a+1
suma / ( ( 3 + 2 * licznik ) - 31.567 )
liczb_1 <= liczba_2
‘A’+ ‘z’
{ ź le ‘A’+ 1 }
NOT ( x = 0 )
( x = 3 ) OR ( x MOD 5 = 0)
( x = 5 ) OR ( y = 4 ) OR ( z = ‘T’)
( x = 1 ) AND ( ( x = y ) OR ( x = z) )
( x = 1 ) AND NOT ( ( x = y ) OR ( x = z) )
Instrukcja przypisania to symbol dwuznakowy „ := ” i służ y do przypisania zmiennej wartoś ci
i ma następującą postać :
zmienna := stała lub wyraż enie
Przykłady:
x := 1 ;
wynik := suma / populacja ;
a := 127 ;
a := a + 1;
a := a + c * 12 ;
znak := ‘A’;
napis := 'Egzamin JPK ' ;
zmienna_logiczna := true ;
debet := stan_konta < 0 ;
{ ź le 1 := x }
{ ź le a + 1 := x }
{ ź le a := x*2 + ‘A’}
{ ź le znak := ‘A’+’z’, jeż eli zmienna znak moż e "przechowywać " tylko jeden znak }
napis := napis + '2004'; { ź le napis := napis + 2004 ; }
{ ź le zmienna_logiczna := 'false' }
udzielic_kredyt := (K1 and K2) or K3;
Uwaga: Każ da zmienna uż yta w programie musi być w nim zadeklarowana.
Blok deklaracji zmiennych - rozpoczyna się od słowa kluczowego VAR, po którym następuje wykaz
deklaracji zmiennych.
var
lista_identyfikatorow_1 : nazwa_typu ;
...
lista_identyfikatorow_N : nazwa_typu ;
Lista identyfikatorów to oddzielona przecinkami lista nazw zmiennych, a nazwa typu zawiera
okreś lenie typu zmiennej.
Typy danych (wybrane) :
§ zbiór liczb całkowitych:
- Byte
0 ... 255
- Word
0 ... 65 535
- ShortInt
-128 ... +127
- Integer
-32 768 ... +32 767
- LongInt
-2 147 483 648 ... +2 147 483 647
§ zbiór liczb rzeczywistych:
- Real
2.9e-39 ... 1.7e38
§ zbiór znaków
- Char
znak ASCII np. ‘A’, 'z', ‘5’, ‘$’, ‘@’, '+'
§ zbiór wartoś ci logicznych:
- Boolean
wartoś ci logiczne: true, false
JPK - Pascal cz.1
(rozmiar zajmowanej pamięci)
(1 bajt)
(2 bajty)
(1 bajt)
(2 bajty)
(4 bajty)
(6 bajtów)
(1 bajt)
(1 bajt)
2/3
Przykłady deklaracji zmiennych:
Dobrze:
a : byte ;
L1, L2, L3, L4 : word ;
suma : integer ;
srednia : real ;
liczba_glosow : longint ;
ź le:
błędna deklaracja : liczba ;
5 : byte ;
2004rok : word ;
%procent : real ;
Instrukcja WRITE
Składnia: write ( lista_parametró w )
lub
writeln ( lista_parametró w )
Interpretacja: Wyś wietlenie informacji na ekranie monitora (np. tekstu, wartoś ci zmiennej, stałej,
wyraż enia, funkcji).
Przykłady:
write ( 2004 ) ;
write ( zmienna ) ;
write ( ‘napis’) ;
writeln ( ‘suma=‘, s ) ;
writeln ( ‘napis1‘, zm1, ... , ‘napisN‘, zmN ) ;
writeln ( ‘wynik obliczeń = ‘, suma / ( n + 2 ) ) ;
Instrukcja READ
Składnia: read ( lista_parametró w )
lub
readln ( lista_parametró w )
Interpretacja : Wprowadzenie do komputera wartoś ci z klawiatury i podstawienie wczytanej wartoś ci
pod zmienną (zmienne) - parametr instrukcji.
Przykłady:
dobrze:
read ( x ) ;
readln ( suma ) ;
read ( liczba1 , liczba2 ) ;
readln ( zm1 , zm2 , ... zmN ) ;
ź le:
readln ( 255 ) ;
read ( ‘A‘) ;
readln ( ‘napis ‘, zm ) ;
readln ( zm + 1 ) ;
read ( false ) ;
Przykład programu obliczającego sumę i ś rednią dwóch liczb, których wartoś ć jest wprowadzana
z klawiatury (dwie wersje).
{ przypadek gdy:
liczba1 >= 0 i liczba2 >=0 }
(* przypadek gdy wartoś ci liczb mogą
być ujemne *)
(*** nagłówek programu ***)
program Srednia_liczb_wersja_1;
program Srednia_liczb_wersja_2;
var
liczba1, liczba2 : integer ; { dane }
suma : longint ;
{ wynik }
srednia : real ;
{ wynik }
begin
write (‘wprowadź pierwszą liczbę: ‘) ;
readln ( liczba1 ) ;
write (‘wprowadź drugą liczbę: ‘) ;
readln ( liczba2 ) ;
(*** deklaracje zmiennych ***)
var
liczba1 : byte ;
{ dane we }
liczba2 : byte ;
{ dane we }
suma : word ;
{ dane wy }
(*** blok główny ***)
begin
{--- 1. Wprowadzanie danych ---}
write (‘wprowadź pierwszą liczbę: ‘) ;
read ( liczba1 ) ;
write (‘wprowadź drugą liczbę: ‘) ;
read ( liczba2 ) ;
{--- 2. Obliczenia ---}
suma := liczba1 + liczba2 ;
{--- 3. Wyprowadzenie wyników ---}
writeln ( ‘Wyniki: ‘) ;
writeln ( ‘suma=‘, suma ) ;
writeln ( ‘ś rednia=‘, suma / 2)
end.
JPK - Pascal cz.1
suma := liczba1 + liczba2 ;
srednia := suma / 2 ;
writeln ( ‘Wyniki : ‘) ;
writeln ( ‘suma =‘, suma, ‘ oraz ‘,
‘ś rednia=‘, srednia )
end.
3/3

Podobne dokumenty