Imagine Logo | Feladatsorok

1. Kályhacsempék Szint: ***

xxx


yyy

http://keramikart.com/content30_h/kalyha_galeria.html

http://keramikart.com/content30_h/kandallogaleria.html

http://keramikart.com/content30_h/rajzok.html

2. Cserépkályhák Szint: ***

A/ Készítsd el a cserépkályha1 projektet/eljárást (a csk1.jpg kép mintájára - hordozható cserépkályha), amelynek méretei a csk1.png képen láthatók ("m" egy négyzet alakú csempe mérete)!

A szükséges eljárások (az ajtókat nem készítettük el!):

- cserépkályha :m

a fő/vezérlő eljárás, ez hívja a többit

- csk_talp :m

a cserépkályha talpa (színe valamilyen szürke - anyaga vas)

- cs_sárga :m

a szélső sárga (vagy narancssárga színű) csempe

- cs_fehér :m

a belső fehér (belül kör alakú mélyedéssel, ezek lehetséges mérete az ábrán látható) kályhacsempe

- karika :r

egy olyan "r" sugarú kört rajzol, amelynek a közepén áll induláskor a teknőc, ez kis átalakítással felhasználható a félkörökhöz is

   Ötlet: e :r j 90   tl ism 360 [e :r *3.14159/180 j 1] tf   b 90 h :r

- cs_fennbal :m

a baloldali legfelső csempe

- cs_fennközép :m

a legfelső középső csempék

- cs_fennjobb :m

a jobboldali legfelső csempe


B/ Készítsd el a cserépkályha2 projektet/eljárást (a csk2.jpg kép mintájára - beépített cserépkályha) ajtókkal!

Ajánlott méretek a csk2.png képen láthatók ("m" egy négyzet alakú csempe mérete).

A szükséges eljárások (az ajtók nélkül!) az A/ feladat mintájára összeállíthatók.


C/ Készítsd el a cserépkályha2 projektet/eljárást (a csk3.jpg kép mintájára - álló cserépkályha) ajtók nélkül!

Ajánlott méretek a csk3.png képen láthatók ("m" egy négyzet alakú csempe mérete).

A szükséges eljárások csak felsorolva:

cserépkályha :m         cs_szemes :m         karika :r
cs_lenn_b :m         cs_lenn :m         cs_lenn_j :m
cs_lapos_b :m         cs_lapos :m         cs_lapos_j


D/ Készítsd el a cserépkályha2 projektet/eljárást (a csk4.jpg kép mintájára - álló cserépkályha) ajtókkal!

A szükséges eljárások (az ajtók nélkül!) az A/ feladat mintájára összeállíthatók.

3. Dominók Szint: ***

a/ Készítsd el a féldominó projektet, amely kirajzol egy fél dominót (lásd domfel.png) rajta véletlenszerű pontszámmal (egyenlőre 0,1,2,3 legyen)!

A pöttyök helye essen az ábra szerinti negyedelőpontokba (például az alsó piros közepű pötty "koordinátái" 3 és 1, pontosabban 3*m/4 és 1*m/4, ahol m a féldominó oldalmérete)!

A szükséges eljárások:

- p :x :y

ahol a "p" eljárás az (x,y) koordinátájú helyre megy és kirajzolja az adott nagy, fekete pöttyöt

Itt úgy használjuk az :m méretet, hogy a "start" eljárásban globális változónak vesszük.

Ötlet: a pötty rajzolható úgy is, hogy vastag tollal nullát megyünk előre!

- pontok :pdb

ahol a :pdb egy véletlenszerű szám (most 0,1,2,3), a pöttyök darabszáma és az eljárás ennyiszer hívja meg a fenti eljárást.

Ötlet: használjuk a ha vagy az elágazás parancsot!

- féldominó :pdb

ahol :pdb a féldominón lévő pöttyök száma, s az eljárás megrajzolja a fél dominót és ráteszi a pöttyöket.

- start

az indító eljárás, beállítja a szükséges dolgokat és véletlenszerű pontszámmal hívja a féldominó eljárást.

Ezt később is használhatjuk a módosított projektek indítására!

Ötlet: célszerű felemelt tollal rajtolni, hiszen majd elég sokat kell mozogni a teknőccel!


b/ Fejlesszük a fentieket a dominó eljárással, amely egy egész dominót készít az előző eljárások felhasználásával!

Bővítsük a meglévőket is úgy, hogy mindenféle dominót kaphassunk (a pöttyök helye látható a dom0-9.png képen) !


c/ Készítsük el a dominósor :db eljárást, amely az előzők felhasználásával :db dominót tesz egy sorba (lásd dom3.png)!

Ötlet: használjuk az xpoz! parancsot!


d/ Készítsük el a dominótábla :sdb :db eljárást, amely az előzők felhasználásával :db dominót tesz egy sorba és :sdb ilyen sort csinál (lásd dom4.png)!

Ötlet: használjuk az ypoz! parancsot és a hányadik ciklusváltozót!


e/ Figyeljük meg a dom5.png képek a 7 pöttyöt tartalmazó dominókat (pirossal jelölve)! A jobboldali féldominó másképp néz ki. Módosítsuk az előző eljárásokat úgy, hogy figyeljenek erre is!

Ötlet: használhatunk egy :bj paramétert, amelynek értéke "b vagy "j attól függően, hogy a baloldali vagy a jobboldali dominó féldominót készítjük.

4. Koordinátarendszer Szint: **

a/ Készítsd el a krsz1.png képet (x tengely pozitív fele) létrehozó projektet (krendszer1) !

Az osztásvonalak 50 pixelenként kövessék egymást.


b/ Készítsd el a krsz2.png képet létrehozó projektet (krendszer2) a féltengely és a tengelyek eljárásokkal!

- féltengely :db

ahol :db a fél koordinátatengelyen lévő osztások száma (50 pixelenként), figyeljünk az utolsó osztás utáni 25 pixelnyi darabkára

- tengelyek

a négy féltengelyt létrehozó eljárás


c/ Nehezítsük a b/ feladatot azzal, hogy minden 100 pixelnél vastagabb (2 px) vonalat húzunk!

Ötlet: használjunk a ha elágazást és a maradék parancsot!

5. Szakaszfelezőpont, harmadolópontok Szint: ***

a/ Készítsd el azt a projektet, amely bekéri egy "A" pont koordinátáit és ábrázolja a koordinátarendszerben!

A szükséges eljárások:

- adatbekérés

legyenek a1 és a2 a koordináták (ötlet: olvasszó parancs, globális változók használata)

- pont :x :y :sz

egy nagyobb pontot rajzol, :x, :y a koordinátái, :sz a színe (ötlet: vastag tollal előre 0)

Az előző feladatból (Koordinátarendszer) pedig:

- féltengely :db

- tengelyek


b/ Bővítsük az a/ feladatot a "B" pont bekérésével (b1 és b2 a koordináták), ábrázolásával és egészítsük ki a következő eljárással:

- szakasz :x1 :y1 :x2 :y2

ahol a paraméterek az első illetve második pont koordinátái, és az eljárás kirajzolja az "AB" szakaszt!

(Az adatbekérés eljárás hívja először a szakasz majd a pont eljárásokat!)


c/ Készítsünk egy felezőpont eljárást is, amely kiszámítja az AB szakasz felezőpontjának koordinátáit és kirajzolja a koordinátarendszerbe (pl. narancs színnel) !

Benne f1 = (a1+b1)/2 és f2 = (a2+b2)/2 a felezőpont koordinátái globális változók.


d/ A szfszh.png kép mintájára számítsuk ki és ábrázoljuk az AB szakasz harmadolópontjait (harmadolópontok) is!

ha1 = (2*a1+b1)/3 ha2 = (2*a2+b2)/3 az "A" ponthoz közelebbi harmadolópont,

hb1 = (a1+2*b1)/3 hb2 = (a2+2*b2)/3 a "B" ponthoz közelebbi harmadolópont koordinátái.

Írassuk is ki a bekért és számított adatokat!

6. Háromszög oldalainak hossza Szint: ***

a/ Készíts projektet, amely bekéri egy háromszög csúcsainak (A,B,C) koordinátáit és ábrázolja a koordinátarendszerben!

A szükséges eljárások:

- adatbekérés

legyenek a1;a2, b1;b2, c1;c2 a koordináták globális változókkal

- szakasz :x1 :y1 :x2 :y2

megrajzolja a végpontjaival megadott szakaszt

- pont :x :y :sz

megrajzolja az :x, :y a koordinátájú, :sz a színű pontot

- féltengely :db

- tengelyek


b/ Számítsuk ki és írjuk is ki a háromszög oldalainak hosszát!

- oldalhosszak

számol és kiír, a képlet (a többi hasonló): AB = gyök( (b1-c1)2 + (b2-c2)2 )


c/ Számítsuk ki és írjuk is ki az sa súlyvonal hosszát, majd rajzoljuk be a háromszögbe!

- felezőpont :x1 :y1 :x2 :y2

- súlyvonal

A súlyvonal "A" pontból indul és a BC szakasz "F" felezőpontjába érkezik.


Tesztelje a részfeladatokat a hsz.png kép használatával!

7. Törölköző Szint: ***

a/ Készítsd el a tor1.png képet létrehozó projektet (törölköző1) !

- a négyzetek legyenek 40, a vonalvastagság 1 pixel, a színek bármilyenek


b/ Készítsd el a tor2.png képet létrehozó projektet (törölköző2) a négyzet, a téglalap és a sor eljárásokkal!

- négyzet :m :sz

ahol :m a négyzet mérete, :sz a színe

- téglalap :m :sz

ahol :m a téglalap magassága, :sz a színe, a hossza pedig 3*:m

- sor :db :m :sz

ahol :db a négyzetek darabszáma a sorban, :m a sor elemeinek magassága, :sz1, :sz2, :sz3, :sz4 az elemek színe


c/ Készítsd el a tor3.png képet létrehozó projektet (törölköző3) a négyzet, a téglalap és a sor eljárásokkal!

Ötlet: egy kicsit módosítani kell a b/ feladaton! (Hatféle színt használunk!)


d/ Készítsd el a tor4.png képet létrehozó projektet (törölköző4) a négyzet, a téglalap, a sor és a törölköző eljárásokkal!

Ötlet: egy kicsit módosítani kell a c/ feladaton! (Hatféle színt használunk!)


e/ Nehezítsük a fenti (d/) feladatot (tor5.png kép): legyenek "kockás" elemek is a törölközőben!

Ötlet: használjunk egy extra színt (pl. -1, ami a "kockást" jelenti) és a hakülönben parancsot!

8. Könyvespolc(ok) Szint: ***

a/ Készítsd el a kp1.png képet létrehozó projektet (könyvespolc1) !

- a polc méretei: 250 hosszú, 120 magas, a vonalvastagság 4

- a könyvek: vastagság 10, magasság 80 és 1 pixel vastag a fekete keret, színük véletlenszerű (tetsz)

A polcon 20 darab könyv legyen!


b/ Készítsd el a kp2.png képet létrehozó könyvespolc2 projektet a polc és könyv eljárásokkal!

- polc :ph :pm

ahol :ph a polc hossza, :pm a magassága, most ezek 600 és 120 legyenek (a vonalvastagság most is 4 )

- könyv :kv :km

ahol :kv a könyv vastagsága, :km a magassága, híváskor ezek véletlenszerűek legyenek a következőképpen:

5 ≤ :kv ≤ 25 illetve 80 ≤ :km ≤ 110

A polcon most 30 könyv legyen!

Ötlet: pozicionáláshoz használható az xpoz! parancs


c/ Készítsd el a kp3.png képet létrehozó könyvespolc3 projektet a polc és könyv eljárásokkal!

Az eljárások paraméterezése és az eljárások hívása legyen ugyanúgy, mint a b/ részben!

A polcokon most is 30 könyv legyen!

Ötlet: pozicionáláshoz használhatók az xpoz! és az ypoz! parancsok


d/ Nehezítsük a fenti (c/) feladatot: annyi könyv legyen a polcon, hogy töltse ki a polcot (kp4.png kép) és ne legyen fekete könyv (könyvespolc4) !

Ötlet: használjuk az amíg ciklust!