Kurs Pascala

Download Report

Transcript Kurs Pascala

Materiały do zajęć z przedmiotu:
Narzędzia i języki programowania
Programowanie
w języku PASCAL
Część 2: Wstęp do programowania w Pascalu
© Jan Kaczmarek
Proces tworzenia programu składa się z kilku etapów.
1. Planowanie – tworzenie algorytmu rozwiązywania zadania
2. Kodowanie – zapis algorytmu w języku programowania, powstaje
program w tzw. języku źródłowym
3. Kompilacja – przetłumaczenie programu zapisanego w języku źródłowym
na rozkazy w języku maszynowym, kompilacji dokonuje komputer
(kompilator)
4. Konsolidacja (łączenie) – połączenie wszystkich „części” programu w
jeden ciąg rozkazów dla procesora (w tym dołączenie wykorzystywanych
w programie procedur i funkcji standardowych). Proces konsolidacji jest
często połączony z kompilacją
5. Testowanie – uruchamianie skompilowanego programu dla wybranych
zestawów danych i sprawdzanie poprawności działania programu
6. Optymalizacja – doskonalenie działań programu zmierzające np. do
szybszego wykonywania obliczeń lub efektywniejszego wykorzystania
pamięci komputera
Uwaga! Na każdym etapie mogą wystąpić błędy lub niepoprawne
działanie programu, należy wtedy wrócić do etapów wcześniejszych.
PASCAL
Niklaus WIRTH opisał ten język w artykule „The programming language
Pascal” w czasopiśmie Acta Informatica nr 1 w 1971 roku.
Najważniejsze cechy tego języka to:
- język wysokiego poziomu, imperatywny
- następca języka programowania ALGOL 60
- posiada zalety dydaktyczne (wymusza programowanie systematyczne
i strukturalne metodą zstępującą „od ogółu do szczegółu” )
- dobrze udokumentowany opis w notacji BNF
- szeroka dziedzina stosowalności
- język publikacji algorytmów w pracach naukowych
- dziś ma elementy obiektowości
Dwie, najbardziej znane wersje Pascala to:
- Turbo Pascal (1983, Borland International) - szybki kompilator dla rodziny
komputerów zgodnych z IBM PC
- Object Pascal osadzony w Delphi (Borland International) – obecnie
najpopularniejsza wersja obiektowa języka.
Zapisując algorytm w języku programowania (także w języku PASCAL)
trzeba przestrzegać wielu zasad, które określają budowę i znaczenie
poszczególnych konstrukcji programu.
Program w Pascalu ma następującą strukturę:
program nazwa-programu (parametry);
{definicje i deklaracje}
begin
{instrukcje}
end.
nie zapominać!
Definicje i deklaracje opisują używane w programie obiekty.
Instrukcje opisują działania (czynności) wykonywane na obiektach, które
mają prowadzić do uzyskania dla podanych danych stosownych wyników.
Zestaw elementów postaci:
{definicje i deklaracje}
begin
{instrukcje}
end
nazywa się niekiedy blokiem.
Program w Object Pascalu (w Delphi) może występować w dwóch
wariantach jako:
- program tekstowy, dla którego w środowisku Windows otwierane jest
tekstowe okno DOSa. Programy te są obsługiwane przez bibliotekę
modułów standardowych RTL (Run-Time Library) zawierającą moduły
System, SysUtils, Math, Windows.
Struktura tego programu (generowana automatycznie po wybraniu z
menu File/New/Other/Console Application) ma postać:
program nazwa-programu (parametry);
{$APPTYPE CONSOLE}
uses SysUtils;
{dalsze definicje i deklaracje}
begin
{instrukcje}
end.
- program okienkowy (graficzny), przeznaczony dla środowiska
Windows i obsługiwany przez bibliotekę VCL (Visual Component
Library).
program trojmian_kwadratowy;
{$APPTYPE CONSOLE}
uses SysUtils;
var delta, x1, x2 : real;
var a, b, c : real;
begin
writeln ('Podaj wspolczynniki a, b, c trojmianu kwadratowego: ');
readln (a, b, c);
delta := b*b-4*a*c;
if delta < 0 then writeln ('BRAK MIEJSC ZEROWYCH !')
else if delta > 0 then
begin x1 := (-b-sqrt(delta))/(2*a);
x2 := (-b+sqrt(delta))/(2*a);
writeln ('X1 = ' , x1);
writeln ('X2 = ' , x2);
end
else begin x1 := -b/(2*a);
writeln ('X1 = ' , x1);
end;
end.
Zapisując programy w Pascalu możemy stosować tylko symbole z alfabetu
tego języka.
Alfabet (symbole podstawowe) tworzą:
Litery: duże i małe litery alfabetu łacińskiego oraz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
(poza łańcuchami duże i małe litery nie są rozróżniane)
Znak podkreślenia _ (zaliczany do liter)
Cyfry : 10 cyfr arabskich: 0 1 2 3 4 5 6 7 8 9
Znaki specjalne: 23 znaki specjalne: + - * / = ^ < > ( ) [ ] { } . , : ; ‘ # $ & @
Odstęp – znak niewidoczny
Znaki sterujące: 32 znaki sterujące o kodach ASCII od 0 do 31
Operator przypisania:
:=
Operatory relacji:
<> <= >=
Operator zakresu:
..
Nawiasy kwadratowe:
(. .) (zamiennie zamiast [ ])
Nawiasy klamrowe:
(* *) (zamiennie zamiast { })
Słowa kluczowe
W skład alfabetu wchodzą także wybrane słowa języka angielskiego.
Są integralną częścią języka i nie mogą być definiowane przez
programistę (są zastrzeżone).
Najczęściej stosowane słowa kluczowe:
and
div
file
in
of
repeat
type
while
array
do
for
label
or
set
unit
with
begin
downto
function
mod
procedure
string
until
xor
case
else
goto
nil
program
then
uses
const
end
if
not
record
to
var
Algorytm obliczania pola działki w postaci programu
START
czytaj dł, szer
pole := dł * szer
pisz pole
STOP
program dzialka;
{$APPTYPE CONSOLE}
uses SysUtils;
var dl, szer, pole : integer;
begin
write (‘podaj dlugosc: ‘);
readln (dl);
write (‘podaj szerokosc: ‘);
readln (szer);
pole := dl*szer;
write (‘pole wynosi: ‘ , pole);
readln;
end.
Algorytm znajdowania większej z dwóch podanych liczb
START
czytaj a, b
TAK
max := a
NIE
a>b
pisz max
STOP
max := b
Program znajdowania większej z dwóch podanych liczb
program wieksza;
{$APPTYPE CONSOLE}
uses SysUtils;
var a, b, max : integer;
begin
write (‘podaj a: ‘);
readln (a);
write (‘podaj b: ‘);
readln (b);
if a>b then max := a
else max := b;
write (‘wieksza z liczb to: ‘ , max);
readln;
end.
Algorytm znajdowania iloczynu il = 1*2*3*…*n dla danego n
START
czytaj n
il := 1; i := 1
i≤n
NIE
i := i + 1
TAK
il := il * i
pisz il
STOP
Program znajdowania iloczynu il = 1*2*3*…*n dla danego n
program iloczyn;
{$APPTYPE CONSOLE}
uses SysUtils;
var n, i, il : integer;
begin
write (‘podaj n: ‘);
readln (n);
il := 1;
for i:=1 to n do
il := il*i;
write (‘iloczyn = ‘ , il);
readln;
end.