2018. szeptember 23., vasárnap

2018.09.23. Elmélet: Algoritmizálás

Algoritmizálás

Az iskolában és a mindennapi életben is számos feladatot kell megoldanunk. Sokszor kerülünk szembe új feladatokkal, gyakran azonban jól ismert lépéseket alkalmazunk. Ez utóbbi típusba tartozik egy kör érintőjének a megszerkesztése, egy ismerősünk felhívása mobiltelefonnal vagy bejelentkezés a Facebook fiókunkba.

A bejelentkezés során beírjuk e-mail címünket, majd jelszavunkat, és rákattintunk a Bejelentkezés gombra. A kör érintőjének megszerkesztéséhez megfelezzük a pontot a kör középpontjával összekötő szakaszt, majd kört rajzolunk ezzel a középponttal.

A megoldás lépései gyakran tovább bonthatók. Ha valaki nem tud szakaszt felezni, akkor ennek módját el kell magyaráznunk neki. A megoldás menetét olyan részletesen adjuk meg, hogy az egyes lépéseket a megoldást végző személy (vagy számítógép) már önállóan végre tudja hajtani. Ezeket a lépéseket elemi lépéseknek tekintjük. Az elemi lépések alkotják a feladat megoldásának algoritmusát. Az algoritmus utasításokból áll.

Algoritmus: a feladat megoldásához vezető elemi lépések (utasítások) sorozata. Az algoritmustól elvárjuk, hogy
- véges sok lépésből álljon,
- az egyes lépések ne igényeljenek további magyarázatot,
- minden egyes lépés után egyértelmű legyen a következő lépés.

Példa az e-mail küldés algoritmusára:
1. Nyisd meg a levelező programot!
2. Kattints az Új levél ikonra!
3. Írd be a címzett e-mail címét!
4. Írd be az üzenet szövegét!
5. Kattints a Küldés gombra!

Az egymást követő utasítások sorozatát szekvenciának nevezzük.

Sok gyakorlás után észrevehetjük a tevékenységek közös elemeit, felfedezhetünk olyan lépéseket, melyek általánosítása gyakran előfordul egy-egy feladat megoldása során. Ezeknek az általánosított tevékenységeknek a tudatos alkalmazása hozzásegít a megoldások pontos leírásához, és újabb feladatok elvégzéséhez.

Az informatikában a tennivalók végrehajtását általában a számítógépre bízzuk. Az algoritmusokat olyan módon kell megfogalmaznunk, hogy a számítógép megértse, és elvégezze, amit várunk tőle.

Érdekesség:
Az algoritmus szó Muhammad ibn Músza al-Hvárizmi, a IX. században élt arab tudós nevéből ered. Al-Hvárizmi nagy hatással volt a matematika fejlődésére. A hindu számokról írt műve nyomán terjedt el Európában az arab (helyesebben indiai) számok és a helyiértékes számírás használata. A könyv csak latin fordításban maradt ránk. A lefordított mű az Al-Hvarizmi a hindu számokról címet kapta (latinul: Algorithmi de numero Indorum). A latin cím első szava az arab matematikus elferdített nevét jelenti.

Feladatok:

1. Alkossuk meg a teafőzés algoritmusát!

2. Alkossuk meg a telefonálás algoritmusát!

3. Alkossuk meg a hétvégi, reggeli felkelés algoritmusát!

-------------------------------------------------------------------------


Forrás: Irány az ECDL! a középszintű érettségi! tankönyv (Nemzeti Tankönyvkiadó)

2018.09.23. Év eleje

A félév első részében a SCRATCH programnyelvvel foglalkozunk gyakorlat órákon, és programozás elmélettel az elmélet órákon.
A Scratch használatához a magyar és az angol nyelvű források:


Program vezérlő szerkezetek:
szekvencia: műveletek egymásutánja
szelekció/feltétel: választási lehetőség
        fajtái: egyágú, kétágú, többágú
iteráció/ciklus: ismétlés

Feladat: a SCRATCH játékokban megkeresni a vezérlőszerkezetek nyomait.