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
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
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
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/