Maximum kiválasztásos rendezés
A program egy egyszerű rendezési algoritmussal rendezi egy egydimenziós tömb (vektor) elemeit. Az algoritmus a maximum kiválasztás tételére épül. Annyival több annál, hogy ciklusonként a tömb egyre kisebb – az indexek által meghatározott - intervallumán keressük a maximális elemet. Ezt a megközelítést gyakran alkalmazzuk. Mivel a tömb egész számokat tartalmaz, és az ezeken értelmezett „<” rendezés megfelelő nekünk, használhatjuk a „<” operátort. (Ezt láthatjuk a program 76. sorában.)
A program bemutatja azon attribútumok használatát, amelyekkel egy tömb indexhatárait kérhetjük le. Ez egy figyelemreméltó nyelvi jellemző, amelyekkel indexhatártól függetlenül kényelemesen tudunk dolgozni a tömbjeinkkel. Gyakran használjuk, amikor paraméterként kapunk tömböket. (dimenziószámtól függetlenül)
A rendezendő tömb méretét - amelyet a felhasználó által a billentyűzet segítségével megadott számokkal töltünk majd fel – a program 17. sorában meghatározott konstans adja meg. (Ez most egy olyan speciális szám érték, amelynél nem adunk meg típust! Erről lesz még szó!)
A billentyűzetről olvasás egy egyszerű módja annak, hogy a programunk reagálni tudjon külső hatásokra. Nagyon gyakran használjuk majd.
A program példát mutat a programegységek egymásba ágyazására is. Az eljárások bejelentésére a 24. , 25. , 26. sorokban látunk példákat. Ez a következő két dolog miatt fontos: Egy Ada program soraiban csak olyan „dolgokra” hivatkozhatunk, amelyeket már korábban deklaráltunk vagy definiáltunk. Az előzetes bejelentések kiváló lehetőséget biztosítanak a kommentezésre, és könnyítik a kód olvashatóságát. A bejelentéseket úgy használhatjuk akár egy tartalomjegyzéket. (Ez a megközelítés már kezd hasonlítani a specifikáció használatához, amelyről hamarosan szó lesz. Emlékezzünk majd erre!) Figyeljünk arra, hogy ha élünk ezzel a lehetőséggel (azaz előre bejelentjük alprogramjainkat), akkor amikor megírjuk a deklarált alprogramokat, akkor azoknak a sorrendje lehetőleg egyezzen meg a korábban a bejelentésnél használt sorrenddel. Ez nagyban megkönnyíti a program szövegének olvashatóságát. Ha ezt nem tartjuk be, könnyen elveszhetünk egy hosszabb programszövegben.
Néhány egyszerű példát láthatunk a kivételkezelésre, és a paraméterátadásra is. (Ezekkel a témakörökkel a későbbiekben részletesen foglalkozunk majd, itt ez csak egy ízelítő…)
Figyeljük meg, hogy az egyes funkciókat igyekeztünk elkülöníteni egymástól, beszédes nevű eljárásokban. Ezek viszonylag egyszerű utasítássorozatok, mégis, ha a főprogram utasítássorozatai közé írjuk őket anélkül, hogy kitranszformáltuk volna eljárásokba egy igen kusza kódot kapnánk. Így ezek az utasítások sokkal olvasmányosabbak.