NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2020-21/11B2 csoport 'programozás' órai munkái
2018. október 26., péntek
2018. október 24., szerda
2018.10.24. Elmélet: Ciklusok
Feladat: mindenki ossza meg velem a digifüzetét, aki még nem tette. Továbbá csinálj a Drive-odon egy Programozás házi mappát (ha eddig nem volt) és oszd meg velem azt is.
A gyakorlati számonkérés beadásának ellenőrzése.
Megbeszéljük, mi lesz a szünet után két hétig, amíg helyettesítés lesz.
Ma vesszük a ciklusos elméleti lecke elejét (számlálós ciklusokig). Pénteken megbeszéltük, hogy végig kell tudni.
Pénteken elmélet röpdolgozat.
----------------------------------------------------------------------------------------------------------
Ismétlődő utasítások – feltételes ciklusok
A feladatok megoldása során találkozhatunk olyan utasításokkal, melyeket ismételten, többször is végrehajtunk. SMS küldésénél például egymás után írjuk be a mobiltelefonba a karaktereket.
Ciklus (iteráció): egymás után többször végrehajtásra kerülő, ismétlődő utasításcsoport.
Ismétlődő utasítások:
ISMÉTLÉS AMÍG nincs vége az üzenetnek
írd be a következő karaktert
ISMÉTLÉS VÉGE
Az algoritmusokban az ismétlés szó helyett általában a ciklus szót használjuk.
Ha előre nem fogalmaztuk meg az üzenetet, akkor nem tudjuk a karakterek számát. Az ismétlés egy feltétel bekövetkezésétől függ: egymás után írjuk be a karaktereket addig, amíg nincs vége az üzenetnek.
Ritkán szoktunk olyan üzenetet küldeni, amely egyetlen karakterből sem áll. Ezért az ismétlés feltételét megvizsgálhatjuk a tevékenység (az első betű beírása) után. Lehetséges, hogy a feltételt az utasítások végrehajtása előtt nem is tudjuk kiértékelni. (Kiértékelés: eldönteni a feltételről, hogy igaz, vagy sem).
A feltétel kiértékelésének helyétől függően a ciklus lehet:
a, elöltesztelő ciklus: a feltételt az utasítások végrehajtása előtt értékeljük ki;
b, hátultesztelő ciklus: a feltételt az utasítások végrehajtása után értékeljük ki;
Hátultesztelő ciklus:
CIKLUS
írd be a következő karaktert
AMÍG nincs vége az üzenetnek
CIKLUS VÉGE
Vegyük észre, hogy ha eleve nem teljesül a feltétel, akkor az elöltesztelő ciklus egyszer sem kerül végrehajtásra. Ha a telefonhívásnál foglalt a vonal, akkor várunk egy kicsit, majd újra tárcsázunk. Nincs szükség a várakozásra, és az ismételt hívásra, amikor ismerősünk egyből felveszi a telefont.
A hátultesztelő ciklus utasításait viszont legalább egyszer végrehajtjuk. Egy magasugró versenyen a sportoló annyiszor ismételhet, ahányszor átugorja a lécet. Ha átugrotta, magasabbra emelik, és megint ugorhat. Amíg nem ugrott, nem tudjuk megmondani, hogy ismételhet-e. A magasugrás a hátultesztelő ciklus példája.
Hátultesztelő ciklust általában akkor alkalmazunk, ha a ciklus kezdetén még nem tudjuk ellenőrizni az ismétlés feltételét.
Ismétlési és kilépési feltételek
Az SMS küldésére vonatkozó példánkban egy feltétel tagadása szerepelt:
CIKLUS AMÍG nincs vége az üzenetnek
A feltétel tagadása megnehezíti az algoritmusok értelmezését. Célszerű bevezetnünk olyan ciklustípust, amelyben az ismétlés feltétele helyett a kilépés feltételét adjuk meg.
Ismétlési feltétel: teljesülése esetén ismétlődik a ciklus utasításainak végrehajtása.
Kilépési feltétel: teljesülése esetén kilépünk a ciklusból (abbahagyjuk az utasítások ismétlését).
Ciklus kilépési feltétellel:
CIKLUS MÍGNEM vége van az üzenetnek
írd be a következő karaktert
CIKLUS VÉGE
A kilépési feltételre a MÍGNEM szóval utalhatunk. Addig jár a korsó a kútra, amíg el nem törik – tartja a közmondás. Kilépési feltétellel így fogalmazhatjuk meg: addig jár a korsó a kútra, mígnem eltörik.
A programozási nyelvekben az ismétlési feltételre általában a WHILE, a kilépési feltételre az UNTIL szó utal.
Vegyük észre, hogy a kilépési feltétel éppen tagadása az ismétlési feltételnek. Azt választjuk közülük, amelyikkel egyszerűbben írhatjuk le az algoritmust.
A feltételes ciklusok tehát lehetnek elöl-, illetve hátultesztelőek. A feltétel mindkét típusnál vonatkozhat az ismétlésre vagy a kilépésre.
Ismétlődő utasítások – számlálós ciklusok
Az SMS-küldésnél (hagyományos mobiltelefonon) bizonyos betűk beírásához a nekik megfelelő billentyűt többször le kell nyomni. Az S betűt például a 7-es billentyű négyszeri megnyomásával érjük el. Ekkor előre tudjuk az ismétlések számát.
A ciklusok típusai:
a, számlálós ciklus: előre tudjuk az ismétlések számát;
b, feltételes ciklus: az ismétlések száma egy feltétel teljesülésétől függ.
Számlálós ciklus:
CIKLUS 4-szer
nyomd le a 7-es billentyűt
CIKLUS VÉGE
Ciklusváltozó alkalmazása:
CIKLUS számláló = 1-től 100-ig:
ugord át a kötelet
CIKLUS VÉGE
Ha sokszor kell végrehajtanunk egy számlálós ciklust, akkor célszerű valamilyen módon nyilvántartanunk az ismétlések számát. Strigulákat húzhatunk papíron, vagy készíthetünk elektronikus számlálót is. Az algoritmusban jelezhetjük a számláló alkalmazását.
Az ugrókötelezésnél 100-szor kell átugornunk a kötelet. A számláló értéke 1-től kezdve minden egyes ismétlésnél eggyel megnő. Amikor túllépte a 100-at, akkor már nem kerül sor az ugrás megismétlésére. A számlálót ciklusváltozónak nevezzük. A számláló értékét felhasználhatjuk a ciklus utasításaiban.
A számlálónak a végértékkel való összehasonlítását elvégezhetjük a ciklusutasítások végrehajtása előtt, illetve után. A számlálós ciklusok általában előre veszik az összehasonlítást (elöltesztelő ciklus). Ha a kezdőérték eleve túllépi a végértéket, akkor a ciklusutasítások egyszer sem kerülnek végrehajtásra.
2018. október 17., szerda
2018.10.17. Gyakorlati számonkérés
Feladat: mindenki ossza meg velem a digifüzetét.
A gyakorlati számonkérést fejezd be péntekig, töltsd föl a drive-ra és oszd meg velem.
Az elmélet házit jövő szerdára kell megcsinálni, mert a pénteki elmélet óra elmarad ünnepség miatt (és a hétfő-kedd szünet). Szerdán elmélet óra lesz.
Jövő pénteken elmélet röpdolgozat.
A gyakorlati számonkérést fejezd be péntekig, töltsd föl a drive-ra és oszd meg velem.
Jövő pénteken elmélet röpdolgozat.
2018.10.17. Gyakorlat - Számonkérés
A csoport
Rajzolj egy képet, amin egy tó van, rajta egy zsombék, a
háttérben a part. Tegyél az égre felhőket és egy napot (ezek vannak készen is).
Keress, vagy rajzolj egy hajót is.
A következő történjen:
Egy hajó ringatózik a vízen, balról jobbra halad, kimegy a
képből.
Közben a felfelé nyíl megnyomásakor egy hal kiugrik a vízből
véletlenszerű helyről véletlenszerű (de azért ésszerű) magasságba, majd
visszaesik a vízbe, ahol eltűnik.
3 felhő halad balról jobbra, eltűnnek a jobb oldalon.
Haladás közben eltakarják a napot, ha a nap elé érnek.
Egy madár repül át jobbról balra, ha felhőhöz ér, eltűnik
benne, és nem is jelenik meg többet.
Egy teknős kimászik a vízből egy zsombékra, „vizes” vonalat
húz maga után.
Amikor a madár megjelenik, a teknős „megijed”: behúzza a fejét
és a lábait.
Rajzolj egy képet, amin egy víz alatti világ van. Alul
egy-két vízinövény a homokban.
A következő történjen:
Egy cápa föl-le hullámzó mozgással áthalad a képen, végül kiúszik
a képből. Körülötte halak úszkálnak véletlenszerű mozgással, ezeket a cápa
megeszi, ha hozzáérnek.
A szóköz megnyomásakor egy újabb, nagyobb cápa jelenik meg
vele szemben (ugyanazok a tulajdonságai, ugyanúgy közlekedik, csak nagyobb hullámokat csinál), és ennek más
legyen a színe. Ha összeütköznek, a kisebbik forduljon meg, és ússzon
visszafelé.
A homokban egy rák halad hátrafelé. Ha elér egy vízinövényt,
mögötte megy tovább, majd megáll a képernyő szélénél. Amikor megállt, jelenjen
meg egy polip mellette.
Ha megnyomjuk a le billentyűt, valami általad választott
tárgy beleesik a vízbe, és lesüllyed, megáll a homokon. Ettől megijed a polip
és lila tintacsíkot húzva maga után kimenekül a képből.
2018. október 16., kedd
2018.10.16. Gyakorlat - Listák
Ellenőriztük a házi feladatot.
Vettük a Listák leckét, elkezdtük megvalósítani önállóan a mintaprogramot.
Házi feladat befejezni.
Holnap kapsz egy önálló feladatot, aminek megoldásához a szomszédon kívül bármit használhatsz, jegyet fogsz kapni a megoldásra. Ehhez az eddig megoldott feladatokhoz kacsolódó tudást kell tudni felhasználni.
Vettük a Listák leckét, elkezdtük megvalósítani önállóan a mintaprogramot.
Házi feladat befejezni.
Holnap kapsz egy önálló feladatot, aminek megoldásához a szomszédon kívül bármit használhatsz, jegyet fogsz kapni a megoldásra. Ehhez az eddig megoldott feladatokhoz kacsolódó tudást kell tudni felhasználni.
2018. október 12., péntek
2018.10.12. Gyakorlat: Véletlenszámok
A véletlenszámos játékot kezdtük el újraalkotni más figurákkal. Házi feladat befejezni.
2018. október 11., csütörtök
2018.10.10. Sima tantermi elmélet óra
Ma nem volt géptermünk, így az algoritmizálást gyakoroltuk a táblánál.
2018. október 9., kedd
2018.10.09. Ismétlés
A rajzolós házit és a teknőcös házit ellenőriztük.
Aki nem készítette el valamelyiket, még a következő órára hozhatja.
Még egyszer a feladataid:
Házi feladat a teknőcös játék egy egyéni verzióját elkészíteni. Másképp oldd meg a következőket: figura, mozgás, betűk, háttér, és ha elér egy pontra, akkor jelezze a program végét valami feltűnő módon.
Olvasd végig a véletlenszámos leckét.
Aki nem készítette el valamelyiket, még a következő órára hozhatja.
Még egyszer a feladataid:
Házi feladat a teknőcös játék egy egyéni verzióját elkészíteni. Másképp oldd meg a következőket: figura, mozgás, betűk, háttér, és ha elér egy pontra, akkor jelezze a program végét valami feltűnő módon.
Olvasd végig a véletlenszámos leckét.
2018. október 4., csütörtök
2018.10.04. (Helyettesítés) Elmélet: Feltételes elágazások
Sok algoritmusban fordulnak elő olyan utasítások, melyeket csak meghatározott feltételek teljesülése esetén kell végrehajtani. Ha például még nincs Facebook fiókunk, akkor először létrehozunk egyet. Csak utána tudunk bejelentkezni.
Feltételes elágazás:
HA nincs Facebook fiókod AKKOR
hozz létre egyet
ELÁGAZÁS VÉGE
Jelentkezz be
Feltételes elágazás (szelekció): az utasításoknak egy meghatározott feltételtől függő végrehajtását írja elő.
Kétágú szelekció:
HA a címzett szerepel a címlistában AKKOR
válaszd ki az e-mail címet a listából
EGYÉBKÉNT
írd be az e-mail címet a címzett rovatba
ELÁGAZÁS VÉGE
Többágú szelekció:
HA kicsúszott a vezeték a gépből AKKOR
dugd vissza
EGYÉBKÉNT HA kikapcsolták a főkapcsolót AKKOR
kapcsold be
EGYÉBKÉNT
vidd el a szervízbe
ELÁGAZÁS VÉGE
A feltételes elágazás egyes ágaihoz tartozó utasításokat célszerű behúzással leírni az algoritmusban. Így könnyen áttekinthető szerkezetet alakítunk ki.
Feltételes elágazás:
HA nincs Facebook fiókod AKKOR
hozz létre egyet
ELÁGAZÁS VÉGE
Jelentkezz be
Feltételes elágazás (szelekció): az utasításoknak egy meghatározott feltételtől függő végrehajtását írja elő.
Kétágú szelekció:
HA a címzett szerepel a címlistában AKKOR
válaszd ki az e-mail címet a listából
EGYÉBKÉNT
írd be az e-mail címet a címzett rovatba
ELÁGAZÁS VÉGE
Többágú szelekció:
HA kicsúszott a vezeték a gépből AKKOR
dugd vissza
EGYÉBKÉNT HA kikapcsolták a főkapcsolót AKKOR
kapcsold be
EGYÉBKÉNT
vidd el a szervízbe
ELÁGAZÁS VÉGE
A feltételes elágazás egyes ágaihoz tartozó utasításokat célszerű behúzással leírni az algoritmusban. Így könnyen áttekinthető szerkezetet alakítunk ki.
A feltételes elágazások gyakran arra az esetre is utasítást adnak, amikor nem teljesül a feltétel. Ekkor kétágú szelekcióról beszélünk. E-mail írásánál például beírjuk az ismerősünk címét a Címzett rovatba. De ha szerepel a címlistánkban, akkor a gépelés helyett elegendő onnan kiválasztani.
Bonyolultabb esetben kettőnél több ágra szakadhat az elágazás. Ha például nem indul el a számítógép, akkor ennek többféle oka is lehet.
Feladatok: egészítsük ki a szekvenciális feladatainkat feltételekkel!
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!
Házi feladat: az első feladat mintája alapján a 2.-3. feladatot megírni úgy, hogy feltételek is legyenek benne.
1. feladat egy lehetséges megoldása:
Forrás: Irány az ECDL! a középszintű érettségi! tankönyv (Nemzeti Tankönyvkiadó)
Házi feladat: az első feladat mintája alapján a 2.-3. feladatot megírni úgy, hogy feltételek is legyenek benne.
1. feladat egy lehetséges megoldása:
vízforralóban forralok vizet
kiöntöm a forró vizet a bögrébe
beleteszem a filtert
várok 5 percet
HA van itthon méz AKKOR
beleteszem a mézet a teába
EGYÉBKÉNT
cukrot teszek bele
ELÁGAZÁS VÉGE
HA van itthon citrom AKKOR
belefacsarom a citromot a teába
EGYÉBKÉNT
citromsavat teszek bele
ELÁGAZÁS VÉGE
megiszom a teát
-------------------------------------------------------------------------
Forrás: Irány az ECDL! a középszintű érettségi! tankönyv (Nemzeti Tankönyvkiadó)
2018. október 3., szerda
2018.10.03. Gyakorlás
A rajzolós házit ellenőrizzük a következő gyakorlat órán.
Értsük meg a teknőcös játék feladatot a honlap nélkül. Házi feladat ennek egy egyéni verzióját elkészíteni. Másképp oldd meg a következőket: figura, mozgás, betűk, háttér, és ha elér egy pontra, akkor jelezze a program végét valami feltűnő módon.
Olvasd végig a véletlenszámos leckét.
Értsük meg a teknőcös játék feladatot a honlap nélkül. Házi feladat ennek egy egyéni verzióját elkészíteni. Másképp oldd meg a következőket: figura, mozgás, betűk, háttér, és ha elér egy pontra, akkor jelezze a program végét valami feltűnő módon.
Olvasd végig a véletlenszámos leckét.
2018. október 2., kedd
2018.10.02. Gyakorlás
Új modul: Üzenetek. A kész programot feltöltötted a Drive-ra.
Elkezdtük a rajzolós leckét. A félkész programot a Drive-ra tetted, otthon be kell fejezni és a kész programot feltölteni ugyanoda.
Elkezdtük a rajzolós leckét. A félkész programot a Drive-ra tetted, otthon be kell fejezni és a kész programot feltölteni ugyanoda.
Feliratkozás:
Bejegyzések (Atom)