a program fogalmának bevezetése a Scratch fejlesztőkörnyezet bemutatása a Scratch lehetőségeinek bemutatása példákon keresztül gyakorlás a példák módosításával
Mi a program? utasítások sorozata valamilyen feladat megoldására amit egy számítógép hajt végre 2
Programozás programok készítése 1. feladat megértése 2. tervezés 3. kódolás 4. tesztelés 5. hibák javítása 6. továbbfejlesztés A programozás során a feladat megoldását a gép által egyértelműen végrehajtható, apró lépésekre kell bontani! 3
Utazó robot Utasítások: Utazz... megállót! Szállj át a(z)... vonalra! Fordulj a(z)... irányába! Megérkeztél. Készíts programot! A fenti utasítások segítségével írj programot melynek végrehajtásával egy robot el tud jutni Acquincumból az Operához! 4
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 5
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 6
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 7
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 8
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 9
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 10
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 11
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 12
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 13
Program (Acquincumból Operába): Fordulj a Batthyány tér irányába! Utazz 7 megállót! Szállj át a piros vonalra! Fordulj az Őrs vezér tér irányába! Utazz 2 megállót! Szállj át a sárga vonalra! Fordulj az Mexikói út irányába! Utazz 2 megállót! Megérkeztél. 14
Labirintus Utasítások: Menj előre... lépést! Fordulj jobbra! Fordulj balra! Megérkeztél. Készíts programot! A fenti utasítások segítségével írj programot mely átvezeti a cicát a labirintuson! 15
Számtan Utasítások:... változó értéke legyen:...!... változó értéke változzon ennyivel:...! Ha... akkor folytasd a...-dik sortól! Írd ki... változó értékét! Stop. Készíts programot! Ezen utasítások segítségével írj programot, mely kiírja a páros számokat 1-től 100- ig! Példa: 1 X változó értéke legyen: 12! 2 T1 változó értéke legyen: Ez egy egyjegyű szám.! 3 T2 változó értéke legyen: Ez egy többjegyű szám.! 4 Ha X > 9 akkor folytasd a 7-dik sortól! 5 Írd ki T1 változó értékét! 6 Stop. 7 Írd ki T2 változó értékét! 8 Stop. Hogy működik? Elemezd ezt a példát úgy, hogy lépésenként követed a program futását! 16
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. 17
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 2 18
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 2 2 19
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 4 2 20
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 4 2 21
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 4 2 4 22
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 6 2 4 23
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 6 2 4 24
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 6 2 4 6 25
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 100 80 82 84 86 88 90 92 94 96 98 100 26
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 102 80 82 84 86 88 90 92 94 96 98 100 27
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 102 80 82 84 86 88 90 92 94 96 98 100 28
Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 102 80 82 84 86 88 90 92 94 96 98 100 29
Programozási nyelvek programok írására szolgáló mesterséges nyelvek utasításkészlet ( szótár ) szintaktikai szabályok ( nyelvtan ) sokféle programozási nyelv létezik pl. Scratch, Python, JavaScript, PHP, Java, C, Ada... 30
Programozási nyelvek a programban csak az utasításkészlet utasításai használhatók az utasításoknak lehetnek paraméterei a programban fontos az utasítások sorrendje Például: Menj előre... lépést! Fordulj jobbra! Fordulj balra! Megérkeztél. 31
Programozási hibák Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 3-dik sortól! 5 Stop. Mit ír ki? Vizsgáld meg ezt a programot! Mit ír ki? Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X > 0 akkor folytasd a 2-dik sortól! 5 Stop. Mit csinál ez a program? Vizsgáld meg ezt a programot! Hogyan viselkedik? Mit ír ki? 32
Scratch programozási nyelv kiválóan alkalmas a programozás alapjainak elsajátítására integrált fejlesztő és futtató környezet vizuális könnyen használható elérhető magyarul is A Scratch on-line is használható egy böngésző segítségével. Próbáld ki! https://scratch.mit.edu/ 33
HÁTTEREK A Scratch felülete UTASÍTÁS- KÉSZLET (BLOKKOK) JÁTÉKTÉR SZEREPLŐK PROGRAM TERÜLET 34
Játéktér program indítása program megállítása váltás teljes képernyőre háttér szereplő (ha egérrel megragadod, akkor mozgathatod) 35
Hátterek és szereplők új szereplő hozzáadásának módjai aktuális háttér (ha rákattintasz, szerkesztheted) kiválasztott szereplő (szerkesztheted és programozhatod) új háttér hozzáadásának módjai 36
Kutyi-mutyi színre lép Adj hozzá egy új szereplőt a programhoz! Tölts be egy kutyát az előre elkészített szereplőket tartalmazó könyvtárból! Nevezd el Kutyi-mutyinak! Változtasd meg a forgási stílusát! Állíts be másik hátteret! Tölts be egy új hátteret az előre elkészített háttereket tartalmazó könyvtárból! 37
2x 38
39
Szereplők méretének állítása 40
Szereplők programozása kiválasztott szereplő utasítás típusok Ragadd meg, és húzd át! utasítás készlet (blokkok) Illeszd össze a blokkokat! szereplő programja 41
Mit csinál ez a program! Vizsgáld meg ezt a programot! Szerinted mit csinál? Hogyan mozog Kutyi-mutyi? Mikor fog ugatni? Módosítsd a programot! Másold le ezt a programot, majd módosítsd a következőképpen: Kutyi-mutyi mozogjon gyorsabban! Kutyi-mutyi akkor ugasson, ha egérrel rákattintunk! 42
Színek és utasítás típusok 43
Paraméteres utasítások Emlékszel erre? Menj előre... lépést! Ha ide kattintasz, akkor át tudod írni.... de át is írhatod. 44
Cica-mica és kutyi-mutyi Mit csinálnak ezek a programok! Másold le az alábbi programokat és figyeld meg a működésüket! Vizsgáld meg a programokat és próbáld megérteni őket! 45
A repülés illúziója Készíts programot! Készíts olyan programot, amiben Cica-mica repül a város felett! Töltsd be a repülő cica jelmezt és az épületek (Buildings) jelmezt! Mozgasd az épületek jelmezt folyamatosan a képernyő egyik szélétől a másikig, miközben Cica-mica egy helyben áll! Úgy fog látszani, mintha Cica-mica repülne. Cica-mica legyen mozgatható függőleges irányban a LE és a FEL gombokkal! 46
A repülés illúziója 47
Cica kaland Kísérletezz! Töltsd le a Cica-kaland játékot és indítsd el! Játssz vele egy kicsit, majd vizsgáld meg a programját! Módosítsd kedved szerint! 48
További példák kísérletezéshez Kísérletezz! Nyisd meg a https://scratch.mit.edu/starter_projects/ oldalt egy böngészőben! Nézegesd meg az itt található példa alkalmazásokat, és kísérletezz velük! Próbáld ki őket, majd vizsgáld meg és módossítsd a programjaikat! 49
Összefoglalás a program fogalma programozási nyelvek a Scratch mint nyelv és fejlesztő környezet a Scratch lehetőségei szereplők, hátterek betöltése, módosítása szereplők programozása (mozgatás, érzékelés, hangok,...) 50
További anyagok on-line: http://scratch.inf.elte.hu/ https://scratch.mit.edu/ https://studio.code.org/ könyv: Carol Vorderman, Programozás gyerekeknek A bináris kódtól a játékkészítésig 51
Készítette: Buttyán Levente Levente.Buttyan@gmail.com CoderDojo Szentendre 2017 52