Previous Up Next

Lisa A  Näiteprogrammid Pascalis

Käesolev lisa esitab õppematerjali tähtsamate algoritmide realisatsioonid keeles Pascal. Programminäited on mõeldud ennekõike illustratsiooniks ja ei pretendeeri mingil juhul üldotstarbelise Pascal-keele õpiku staatusele.

Pascali kui keele õppimiseks peaks lisaks käesolevale õppevahendile kindlasti kasutama ka spetsiaalset õpikut (näiteks mõnd allpool viidatutest).

Järgnevad näiteprogrammid on kirjutatud silmas pidades Eestis levinumaid kompilaatoreid --- Turbo Pascal (firma Borland kommertsprodukt) ja FreePascal (vabavara1). Siiski peaks lõviosa näiteprogramme töötama ka teiste arendusvahenditega, sest kasutavad ainult keele põhikonstruktsioone.



A.1  Sissejuhatus

A.1.1  Lihtne tervitus

pas/01/tere1.pas

A.1.2  Interaktiivne tervitus

pas/01/tere2.pas

A.1.3  Vahetus

pas/01/vahetus.pas

A.1.4  Andmetüüpide kasutamise näide

pas/01/andmed.pas

A.2  Valikulaused

A.2.1  Kahe arvu järjestamine

pas/02/sort1.pas

A.2.2  Lineaarvõrrandi lahendamine

pas/02/linvqr.pas

A.2.3  Maksimumi leidmine

pas/02/max2.pas

A.2.4  Kolmnurgaülesanne

pas/02/klmnrk1.pas

A.3  Korduslaused

A.3.1  Tekstifaili lugemine

pas/03/ridu.pas

A.3.2  Korduslausete näited

pas/03/summa1.pas

A.3.3  Arvumassiivi järjestamine

pas/03/sort2.pas

A.4  Alamprogrammid

A.4.1  Protseduur ja funktsioon

pas/04/alam1.pas

A.4.2  Muutuja skoop ja eluiga

pas/04/alam2.pas

A.4.3  Alamprogrammi parameetrid

pas/04/alam3.pas

A.4.4  Algarvud

pas/04/alg.pas

A.4.5  Faktoriaalid

pas/04/fakt.pas

A.4.6  Hanoi tornid

pas/04/hanoi.pas

A.5  Algoritmide keerukus

Selle peatüki juurde programminäiteid ei ole.

A.6  Kombinatoorika

A.6.1  Järjendite genereerimine rekursiivselt

pas/06/jarj_rek.pas

A.6.2  Permutatsioonide genereerimine rekursiivselt

pas/06/perm_rek.pas

A.6.3  Kombinatsioonide genereerimine rekursiivselt

pas/06/komb_rek.pas

A.6.4  Järjendite genereerimine iteratiivselt

pas/06/jarj_ite.pas

A.7  Lineaarsed andmestruktuurid

A.7.1  Lineaarne otsing

pas/07/linots.pas

A.7.2  Kahendotsing

pas/07/kahots.pas

A.7.3  Dünaamiline mäluhaldus

pas/07/dyn.pas

A.7.4  Lihtahel

pas/07/ahel.pas

A.7.5  Magasin massiivi baasil

pas/07/mag1.pas

A.7.6  Magasin lihtahela baasil

pas/07/mag2.pas

A.7.7  Järjekord massiivi baasil

pas/07/jrk1.pas

A.7.8  Järjekord lihtahela baasil

pas/07/jrk2.pas

A.8  Mittelineaarsed andmestruktuurid

A.8.1  Kahendpuu läbimine

pas/08/labipuu.pas

A.8.2  Kahendotsingu puu

pas/08/otsipuu.pas

A.8.3  Kuhjameetodil sorteerimine

pas/08/sort3.pas

A.8.4  Lühimad teed graafis laiuti läbmisega

pas/08/lyhteed.pas

A.8.5  Topoloogiline sorteerimine sügavuti läbimisega

pas/08/toposort.pas





Kirjandus



Rein Jürgenson. Programmeerimine Pascal-keeles. Valgus, 1985.
Standardset dialekti järgiv Pascal-keele õpik, annab lühiülevaate ka struktuurprogrammeerimisest üldisemalt. 144 lk.


Ülo Kaasik. Turbo Pascal. Tartu Ülikool, 1990.
Turbo Pascali dialekti järgiv Pascal-keele õpik. 96 lk.


Rein Jürgenson. Programmitehnika. Eesti Majandusjuhtide Instituut, 1993.
Turbo Pascali dialekti järgiv programmeerimisõpik, mille kolm osa katavad kõik olulisemad vahendid. I osa: keele põhielemendid; 191 lk. II osa: sortimine ja otsimine; programmide silumine; 176 lk. III osa: graafika; andmestruktuurid; 164 lk.


Rein Jürgenson. Programmeerimise algkursus. Tallinna Tehnikaülikool, 1999.
Süstemaatiline ülevaade programmeerimise alustest Turbo Pascali dialekti näitel. 88 lk.


Rein Jürgenson, Teodor Lutškovski. Turbo Pascal ja C++: objektitehnika. Eesti Majandusjuhtide Instituut, 1992.
Objekt-orienteeritud programmeerimise alused Turbo Pascali ja C++ näitel. Ei sobi üldotstarbeliseks Pascal-keele õpikuks, kuna keskendub ainult OO-spetsiifilistele võtetele ja vahenditele. 256 lk.


Martin Pettai. Turbo Pascal 7.0. Viljandi Arvutikool, 2000.
Turbo Pascali dialekti tutvustav õppevahend.
http://www.matti.ee/arvutikool/pascal/


Niklaus Wirth, Kathleen Jensen. Pascal User Manual and Report. Springer, 1974, 1985, 1991.
Ilmselt autoriteetseim allikas Pascal-keele standardse dialekti kohta --- keele looja sulest. Raamatu esimene pool on vabamas vormis õpik, teine pool rangem tehniline spetsifikatsioon. 226 lk.



1
http://www.freepascal.org/

Previous Up Next