SISSEJUHATUS

Täiendavaid Pascali materjale:

  • http://www2.informatik.uni-halle.de/lehre/pascal/nz/default.htm  

  • http://taoyue.com/tutorials/pascal/contents.html

  • http://www.techtutorials.info/pascal.html

  • http://ourworld.compuserve.com/homepages/TK_Boyd/Tut.htm

  • http://www.thefreecountry.com/documentation/onlinepascal.shtml

  • http://www.freeprogrammingresources.com/pascaltutr.html

  •  

    FreePascal kompilaator ja dokumentatasioon

    FREE PASCAL koduleht: http://www.freepascal.org/
    FREE PASCAL DOKUMENTATSIOON

    Toodud materjalid arvestavad põhiliselt FreePascal iseärasusi. Sellel lehel on üldised, kõikides (või enamuses) Pascal keskkondades kasutatavd näited.

    Pascal programmi üldine üleehitus: 

        PROGRAM Programminimi (Faililoetelu);
       CONST
        (* Konstantide määratlused *)
       TYPE
        (* Tüüpide määratlused *)
        VAR
        (* Muutujate määratlused *)
        (* Alamprogrammide määratlused *)
        BEGIN
        (* Teostuskorraldused *)
        END.

    Lühim korrektne näide programmist, mis ei tee mitte midagi: 

    program Teemittemidagi;
    begin
    end.

    Aritmeetilised operaatorid keeles Pascal

    Operatsiooni nimetus operandi tähis
    märgi muutmine   -
    astendamine puudub, kasutatakse funktsioone: sqr(x) (* x ruudus *)
    juurimine  sqrt(x) (* ruutjuur x-ist *)
    korrutamine   *
    jagamine   /
    täisarvuline jagamine DIV
    jagamise jäägi leidmine MOD
    nihutamine paremale SHR    ; (5 SHR 1) on sama, kui (5 DIV 2) 
    nihutamine vasakule SHL    ; (5 SHL 1) on sama, kui (5 * 2)
    liitmine +
    lahutamine -

    Loogilised operaatorid keeles Pascal

    Operatsiooni nimetus operandi tähis
    loogiline eitus, POLE    NOT
    loogiline korrutamine, JA AND
    loogiline liitmine, VõI  OR
    ekvivalentsus puudub
    mitteekvivalentsus XOR
    võrdsus =
    mittevõrdsus <>
    suurem kui  >
    suurem või võrdne kui >=
    väiksem kui  <
    väiksem või võrdne kui <=

    Keeles Pascal on tõeväärtuste tähistamiseks võetud kasutusele spetsiaalsed sõnad. Väärtust 'tõene' tähistab sõna 'TRUE' ja väärtust 'väär' 'FALSE

    Andmete sisestamine keeles Pascal

    Sisestamiskäsu süntaks keeles Pascal on järgmine: 'READ' '(' <muutujate_loetelu> ')' | 'READLN' [ '(' <muutujate_loetelu> ')' ]

    muutujate_loetelu -> <muutuja_nimetus> [ ',' <muutujate_loetelu> ]

    NÄIDE KASUTAMISEST: Moodul sisestus

    Program sisestus; { Programmi algusesse kirjutame programmi nime. }
    Var { Keeles Pascal on vaja kõik muutujad deklareerida.}  
    P, X, K : Double; { ütleme, et P, X ja K on reaalarvu tüüpi muutujad.}
    Begin { Põhiprogrammi algus }  
    Read(P, X); { Sisesta P ja X }  
    K := (100/P)*X; { 'Arvutused, andmetöötlus' }  
    Writeln(K); { Väljasta tulemus }
    End. { Põhiprogrammi lõpp. NB! Lõpus peab olema punkt! } 

    Andmete väljastamine keeles Pascal

    Väljastamiskäsu süntaks keeles Pascal on järgmine: 'WRITE' '(' <avaldiste_loetelu> ')' | 'WRITELN' [ '(' <avaldiste_loetelu> ')' ]

    avaldiste_loetelu -> <avaldis> [ ',' <avaldiste_loetelu> ]

    Protseduuride 'Write' ja 'WriteLn' erinevus seisneb selles, et viimane viib väljastamise järjekorra uuele reale ehk teeb reavahetuse.

    NÄIDE KASUTAMISEST: Moodul Valjastus

    Program Valjastus; (* Programmi algusesse kirjutame programmi nime. *)
    Var (* Keeles Pascal on vaja kõik muutujad deklareerida.*)  
    K : Single; (* ütleme, et K on reaalarvu tüüpi muutuja.*)
    Begin (* Põhiprogrammi algus *)  
    K := (100/12.5)*350; (* 'Andmetöötlus' *)  
    Writeln(K); (* Väljasta tulemus *)
    End. (* Põhiprogrammi lõpp. NB! Lõpus peab olema punkt! *)

    Nagu Te ehk juba taipasite, kirjutatakse keeles Pascal kommentaarid loogeliste sulgude ( '{' , '}' ) või sulgudes olevate korrutusmärkide [(* *)] vahele 

    NÄIDE PROTSEDUURI KASUTAMISEST:

    MUUTUJAD (input, output);
    var arv1, arv2 : integer; {Globaalmuutujad - need muutujad on kogu programmi ulatuses kättesaadavad} 
    procedure liida_arvud;               
    var tulemus : integer; {Lokaalmuutuja - tulemus kuulub protseduurile liida_arvud }
    begin
    tulemus := arv1 + arv2;
    writeln('Tulemus on ', tulemus);
    end;
    begin {programmm ise algab siit} 
    writeln('Sisetage kaks liidetavat arvu'); 
    readln( arv1, arv2 ); 
    liida_arvud { protseduuri liida_arvud väljakutsumine }
    end.

    Väljundi vormistamise võimalused keeles Pascal

    Väljastusprotseduurile 'Write' etteantud avaldise võib kirja panna ka järgmise süntaksi järgi:

    <avaldis> [ ':' <väljundi_pikkus> [ ':' <kohti_pärast_koma> ]]

    Sellisele süntaksile vastavad väljastuskäsud ja tulemused võivad olla järgmised:

    Korraldus

    Väljund

    writeln('|',123.8,'|'); | 1.2380000000E+02|
    writeln('|',123.8:8,'|'); | 1.2E+02|
    writeln('|',123.8:8:2,'|'); |oo123.80|
    writeln('|',123.8:8:0,'|'); |oooo124|
    writeln('|',123.8:-8:0,'|'); |124oooo|
    writeln('|','Tere':10,'|'); |ooooooTere|
    writeln('|','Tere':-10,'|');  |Tereoooooo|

    Nagu toodud näidetest võib tähele panna, tähendab negatiivne väljundi pikkus hoopis andmete paigutamist välja vasakpoolsesse otsa