A kiválasztás

Adott egy n elemű M sorozat. Tudjuk, hogy a sorozat valamely eleme rendelkezik a T tulajdonsággal. Határozzuk meg az első ilyen elem sorszámát!
A megvalósítás gondolatmenete:
Lépegessünk addig egyenként számsorozatunkon az első elemtől, míg az elemek nem T tulajdonságúak. Ha megtaláltuk az első ilyen sorszámát, álljunk meg, és adjuk meg azt.
Algoritmus mondatszerű leírással:
Eljárás kivalasztas_tetele:
i = 1
Ciklus amíg M(i) nem T
i = i + 1
Ciklus vége
sorszam = i
Eljaras vége.
Feladat:
Döntsük el egy adott természetes számról, hogy prím-e! Ha prím, ezt tudassuk a felhasználóval, ha nem, adjuk meg legkisebb valódi osztóját is!
Program prim_e:
Ki: "Melyik számot vizsgáljuk?"
Be: n
i = 2 'Elegendő kettőtől nézni, 1-gyel minden szám osztható
Ciklus Amíg (n / i) <> Int(n / i) 'Vizsgáljuk, egész szám-e a hányados
i = i+ 1
Ciklus vége
Ha i = n akkor
Ki: "Az adott szám prím"
Egyébként
Ki: "Összetett szám, legkisebb valódi osztoja: " i
Elágazás vége
Program vége.
Házi feladat:
Adjunk hatékonyabb algoritmust a fenti problémára!
Súgás: ha i osztója N-nek, akkor nyilván a hányados, azaz N/i is osztója N-nek, ezért az osztók párosával jelennek meg. Nyilvánvaló, hogy i és N/i közül az egyik mindenképpen kisebb vagy egyenlő, mint N négyzetgyöke, ezért elég eddig vizsgálódnunk. Itt már mindenképpen érdemes bevezetnünk egy logikai változót, hogy el tudjuk dönteni, eljutottunk-e N-ig.