Le tudtok vezetni egy programot reszfeladatokra?
Le. csak ahhoz kéne egy feladat, amit levezessünk :D
A Magyar érettségiben sem úgy kell megoldania szövegértelmezési feladatokat, hogy nincs konkrét szöveg :D
Le tudunk vezetni. Programozóknál ez a minimális rendszerkövetelmény.
Felbontás prímtényezőkre:
- szám bevitele
- prímtényezők keresése és kiírása, ciklusban
- záróüzenet.
Kicsit részletesebben
-ciklusban(1):
--szám bevitele
--beviteli hiba ellenőrzése
-ciklus vége(1)
-ciklusban(1):
--ciklusban(2):
---következő prímszám keresése
--ciklus vége(2)
--ha meghaladja a szám gyökét, akkor kilépés (1)ciklusból
--oszthatóság ellenőrzése,
....teljesülés esetén tényező kiírása vagy tárolása, osztókeresés vissza az első prímre
-ciklus vége(1)
-záróüzenet kiírása
-vége
Ez optimalizálatlan, de egy példának elmegy.
Az baj ha ezt nem ertem?
Ehhez nem lett volna eleg egy ciklus?
Ha átgondolod, hogy a 306 prímfelbontását papíron tollal hogyan csinálod, látni fogod, hogy legalább két ciklust hajtasz végre, az egyiket a másikon belül. Keresel egy prímszámot, megnézed a szám oszthatóságát, és vagy jó, vagy nem jó. De amikor megvan a 3, mint osztó, akkor megint meg kell nézned a 3-at osztóként, aztán keresned kell a következő prímet. (Az a megvalósítástól függ, hogy megéri-e kikeresgélni az összes prímet, 3, 5, 7, 11, 13, 17, na végre, vagy gyorsabb a rosszabb módszer, amikor csak végignézed az összes páratlan számot. Az optimalizálásba ilyen is beletartozik. A klasszikus iskolai példa keresteti a prímszámokat is.) De a szám oszthatóságának vizsgálata ciklus, és a következő prím keresése azon belül egy második ciklus.
De ez az egész nem érdekes. Ez már az algoritmuson való töprengés. A feladat és a részfeladatok viszonyát láthattad a példámon. A módszernek az a lényege, hogy ha a feladatot sikerül olyan kis részfeladatok sorozatára bontanod, hogy már minden részfeladatot meg tudsz oldani az adott nyelv egy-egy utasításával, akkor megvan a program.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!