Bevezetés
Mi a program?
Többé-kevésbé minden olvasó találkozott már a "program" fogalmával.
A program utasítások egy sorozata, melyeket indítás után a gép előírt sorrendben, a külső felhasználó közreműködése nélkül hajt végre; ugyanúgy, mintha a billentyűzetről gépeltük volna be a parancsokat. (Ez a program futtatása.)
A programsorokat begépelve nem látunk eredményt: a gép az utasításokat tárolja, s csak a futtatásra következik be a végrehajtás.
A Casio CFX-9850 és a TI-83, valamint a későbbi Casio-, ill. Texas-verziók programozható zsebszámológépek, a grafikus kalkulátor előnyös tulajdonságain túl programok készítésére és futtatására is alkalmasak. Ebben a cikkben néhány rövid programot írunk meg.
Feltételezzük, hogy az Olvasó már készített egy-két egyszerű programot, s így a programkészítés alapjaival tisztában van. Ha valaki teljesen kezdő, akkor sem kell kétségbe esnie: elég pl. a kalkulátorok gépkönyvének programozás-fejezeteit fellapoznia. Itt a szerzők érthetően és tömören összefoglalták a bevezető ismereteket.
Az egyes gépekkel kapcsolatban további sok érdekes információ olvasható a www.casio.com és a www.ti.com/calc címeken.
Reméljük, hogy a cikk olvasása után minél több Olvasó kedvet kap további programok készítésére.
Mikor nem érdemes programot készíteni?
Ne készítsünk olyan programot, amelyet maga a kalkulátor is el tud végezni a hagyományos üzemmódjában. (Ráadásul nálunk sokkal ügyesebben teszi ezt.) Ilyen téma pl. a függvényábrázolás vagy egyenletmegoldás.
Mikor érdemes programot készíteni?
A feladatok fajtái szerint vizsgálva általában olyan képletek, formulák, eljárások esetében készítünk programot, amelyeket gyakrabban használunk, vagy ha ritkábban alkalmazzuk is őket, esetleg bonyolult, időigényes a begépelésük.
A feladatok végrehajtása szempontjából akkor érdemes programot használnunk, ha a megoldás sok "robotmunkával" jár (nagy az idő- vagy számolásigénye), vagyis ha nagyszámú automatizálható műveletet hajtunk végre.
Végül módszertani szempontból példákat mutathatunk az alábbi
módszerekre és eljárásokra:
- próbálgatás, sejtés;
- ellenpélda, konstrukciós vagy lehetetlenségi bizonyítás;
- összes eset rendszeres vizsgálata;
- nem-matematikai módszerek alkalmazása stb.
A fentieket figyelembe véve ebben a cikkben elsősorban konkrét (matematikai) célfeladatokat oldunk meg; olyan célfeladatokat, amelyek megoldása folyamán praktikusan és eredményesen tudjuk alkalmazni a zsebszámológépet.
Az alábbiakban felsoroljuk a cikkben tárgyalt feladatokat. (A Casio, ill. Texas szavak azt jelzik, hogy a feladat konkrét, futtatható kódolását is elkészítettük ezekre a gépekre; a dőlt betűs megjegyzések pedig módszertani jellegűek.)
A tárgyalt feladatok
1. (Casio, Texas) Másodfokú megoldóképlet (műveleti sorrend problémája)
2. (Casio) Határozzuk meg azokat a természetes számokat, amelyek 13-mal nagyobbak a számjegyeik szorzatánál. (célfeladat)
3. (Texas) Háromszög alapadatai a három oldalból (függvénytábla-pótlás; összetett feltétel, ill. max függvény; más kalkulátor- funkciók (sorozatok) elérése)
4. (Texas) Határozzuk meg azokat a négyzetszámokat, amelyek 184-re végződnek!
5. (Texas) Vannak-e olyan pozitív egész számok, amelyek 1999-re végződnek és 17-tel oszthatók? (sejtés szerepe)
6. (Casio, Texas) Számoljuk ki annak a valószínűségét, hogy n ember születésnapja az év n különböző napjára esik (366 nappal számoljunk). (csak számol a program; számábrázolási problémák)
7. Vizsgáljuk meg 300 kockadobás értékeit s pl. a dobott számok átlagát.
8. Vizsgáljunk meg 100 érmedobást. (Pl. keressük meg a leghosszabb „fej” sorozatot.) (műveletek sorozat elemeivel)
9. (Casio, Texas) Döntsük el egy számról, hogy prím-e.
10.
Észrevehetjük, hogy a P(n) = n2 + n + 41 polinom az n = 0, 1, 2, 3,
... helyeken rendre a 41, 43, 47, 53, ... stb. értékeket veszi fel, amelyek prímszámok.
A felvethető kérdések:
a) Lehetséges-e, hogy minden n értékre P(n) prímszám? (Nyilván nem.)
b) Adjunk meg (minél) több n értéket, melyre P(n) nem prím!
c) Adjuk meg a legkisebb n természetes számot, amelyre P(n) nem prím!
(külső program hívása, paraméterátadás; matematikai
kezelhetetlenség)
11. Határozzuk meg azt a legkisebb természetes számot, amely után 8 szomszédos összetett szám következik. (matematikai kezelhetetlenség)
Számológéppel támogatott problémamegoldás
12. (Casio) Vannak-e olyan pozitív egész számok, amelyek 2001-re végződnek és 17-tel oszthatók? (sejtés szerepe)
13. Vannak-e olyan alakú számok, amelyek 17-tel oszthatók?
14. Keressük meg azokat a "szomszédos" kettőhatványokat, amelyek különbsége osztható 17-tel. (matematikai hatékonyság)
15. 10 golyót néhány kupacra osztunk szét. Ezután minden kupacból kiveszünk egy golyót, s ezekből egy új kupacot készítünk. Ezt az eljárást folytatva mit tapasztalunk?
16. Mutassuk meg, hogy a számológép:
a) Teljesen alkalmatlan a 'kis Fermat-tétel' vizsgálatára (p
osztja az s = ap–1 – 1 kifejezést, ha p prím és (a, p) = 1). A programban
a = 2 választással p a páratlan számokon fusson.
b) Alkalmassá tehető a tétel vizsgálatára. (a matematikai
műveltség szerepe)
17. (Casio, Texas) Határozzuk meg az f0 = 1, f1= (1 –√5)/2 kezdőtagokkal adott fn+2 = fn+1 + fn sorozat tagjait. Mi lehet a sorozat határértéke? (hamis sejtés a határértékre).
Számábrázolási problémák - (kellemetlen) meglepetések
1. Tényleges határérték a 17. feladatban
2. Ugyanez a feladat gépi vizsgálattal
3. P = 11111111111 prímtesztje
4. A születésnap-paradoxon program leállása
A cikk felépítése
A cikk négy részből áll. Ezen bevezető első rész után a második, ill. harmadik egység tartalmazza a Texas, ill. Casio gépekre írt programok listáját. Egyes feladatok kódolását mindkét gépre elvégeztük. Ennek az az oka, hogy a negyedik részben néhány általános észrevételt teszünk, s itt hivatkozunk ezekre a programokra. Ugyancsak itt, a negyedik egységben található a gépi számábrázolás problematikájáról egy rövid ismertető, továbbá az első rész kitűzött és a cikkben nem tárgyalt feladatai közül néhányhoz útmutatást adunk.
Minden kedves Olvasónak jó munkát kívánok!
Az utolsó frissítés időpontja 2003.09.12. Bármilyen észrevételt érdeklődéssel várok a gyuszi@fazekas.hu címen.