Informatika tehetséggondozás 2012-2013 3. levél Az első levélben megismertétek a számrendszereket. A másodikban ízelítőt kaptatok az algoritmusos feladatokból. A harmadik levélben először megnézünk néhány példát arra, hogy hol, és hogyan találkozhatunk a számrendszerekkel a számítógép használata során, majd megismerkedtek a logikai műveletekkel. A feladatok ezekhez a témakörökhöz kapcsolódnak!
Számrendszerek és az informatika Mi köze a számrendszereknek az informatikához? Meglehetősen sok köze van. Ezek közül ragadok ki most néhány példát. Amikor számítógéppel dolgozunk, akkor kívánságainkat legtöbbször utasításokkal adjuk a gép tudtára. Az utasítások szavakból, azok betűkből és más karakterekből állnak. A számítógép minden tárolt adatot kettes (bináris) számrendszerben tárol, ezért a karaktereket a számítógép számára is érthető formára, binárissá kell alakítani. Hogyan is történik mindez? Először ismerkedjünk meg a bit fogalmával: bit = az a legkisebb fizikai tárolóhely, amelyen két állapot megkülönböztethető. A bit, mivel csak két állapota van, könnyen modellezhető. Régen a lyukkártyákon, lyukszalagokon a bit két állapotát az jelezte, hogy egy adott helyen van lyuk vagy nincs lyuk. A mágneses adathordozókon (mágnesszalag, floppy lemez, winchester) a bit két állapotának a mágnesezettség két különböző lehetséges iránya felel meg. Egy adott helyen az egyik, vagy másik irányba mutat a mágnesezettség. A CD, DVD esetén a biteket úgy különböztetik meg, hogy a felület egy adott pontján van-e kis bemélyedés, úgynevezett „pit”, vagy nincs.
(A kép forrása: http://encyclopedia2.thefreedictionary.com/Pit)
Az egy biten megkülönböztethető két állapot megfelel a bináris számrendszer két jegyének: 0 és 1. Ha egy biten két állapot különböztethető meg, akkor hány lehetséges 2 biten, esetleg 3 biten?
bitek száma 1 2
3
megkülönböztethető megkülönböztethető jelek száma jelek 1 0 2 =2 1 2 00 2 =4 01 10 11 3 000 100 2 =8 001 101 010 110 011 111
Az összefüggés a táblázat alapján látszik. A megkülönböztethető jelek száma kettőnek annyiadik hatványa, ahány bit áll rendelkezésünkre. Három biten még nem ábrázolható az összes karakter (Gondoljunk csak arra, hogy az angol ABC-ben 26 féle betű van, ezeknek van kis és nagybetűs alakja, van 10 számjegy, ott vannak az írásjelek, zárójelek, és a további nyelvekn sok-sok más karakter). 4 biten 24=16, 5 biten 25=32, 6 biten 26=64, 7 biten 27=128 és 8 biten 28=256 jelsorozat különböztethető meg. 256 féle jel elegendőnek bizonyult a legtöbb karakter ábrázolásához, ezért a 8 bitből álló egységet elnevezték bájtnak (byte) és ma ez az adattárolás logikai alapegysége. Tehát minden karakter egy bájtot foglal el. Ez az alapja a sokáig leggyakrabban használt ASCII kódrendszernek. Az ASCII kódrendszer úgy épül fel, hogy a 256 lehetséges kód közül az első 128 mindenütt ugyanazokat a karaktereket jelöli, míg a második 128 földrajzi régiónként eltér. Mi Magyarországon az úgynevezett 852-es kódlapot használjuk, de ezt használják pl. Szlovákiában, Romániában is, mert az ő speciális betűik is benne vannak a 852-es kódlap második 128 karaktere között. Ha pl. a jegyzettömb programban a billentyűzet bal oldali ALT gombját nyomva tartva beírsz egy 0255-ig eső számot, akkor az ALT-ot elengedve megjelenik a kódhoz tartozó karakter. Pl. a ž karakter kódja 167. Feladat: Milyen karakter tartozik a következő kódokhoz?
1. feladat 2. feladat 3. feladat 4. feladat
kód betű 64 100 139 32 (ez 2 pontos feladat)
5 pont
Feladat: Jegyzettömbbe írd be a saját neved egy sorba. A sor végén ne nyomj ENTER-t. Mentsd el a szöveget és nézd meg, hogy hány bájtból áll. 3 pont 5. feladat
Indokold meg, hogy miért pont annyiból.
Amikor valamilyen mértékegységről beszélünk, akkor tapasztalhatjuk, hogy vannak alap mértékegységek és annak többszörösei. Pl. a gramm 10-szerese a dekagramm, 1000 szerese a kilogramm. A bájtnak is vannak többszörösei, ezek sorban a következők: kilobájt (KB), megabájt (MB), gigabájt (GB), terrabájt (TB). A váltószám közöttük az 1024 (210=1024). Tehát 1 KB = 1024 bájt, 1 MB = 1024 KB stb. Vajon mennyi adat fért el egy floppy lemezen vagy egy 2 GB-os pendrive-on? Hogy legyen fogalmatok róla, oldjátok meg a következő feladatokat Feladat: Egy floppy lemez kapacitása 1440 KB. 6. feladat
2 pont
Hány karakter fér el rajta, ha csak a karaktereket tároljuk?
Feladat: Egy floppy lemez kapacitása 1440 KB. Egy A4-es méretű géppapírra átlag 50 sort gépelünk. Egy sorba 90 karaktert írunk 5 pont Hány oldalnyi gépelt szöveg fér el a floppy lemezen, ha csak a karaktereket tároljuk? (2 pont) 8. feladat És hány oldalnyi fér egy 2 GB-os pendrive-ra? (3 pont) Az ember nem is gondolná, hogy milyen sok. 7. feladat
A Paint rajzolóprogram úgynevezett raszteres rajzolóprogram ami annyit jelent, hogy a rajzot képpontokból rakja össze. Amikor a Paint programmal rajzolunk és elmentjük a rajzot, akkor a rajzfájl mérete két dologtól függ: a képpontok számától és a színmélységtől. A színmélység azt mutatja, hogy egyetlen képpontnak hányféle színe lehet. Pl. a 256 színű bitkép esetén minden képpontnak 256 féle színe lehet. Mivel 1 bájton (8 biten) 2 8=256 féle jelet lehet ábrázolni, ezért a 256 színű bitkép esetén minden képponthoz egy bájt szükséges a színek tárolásához. Ezt figyelembe véve oldd meg a következő feladatot! Feladat: Készíts egy nem túl nagy színes rajzot a Paint rajzolóprogrammal és mentsd el RAJZ24BIT.BMP néven, 24 bites bitképként, majd a rajz és a képméret változtatása nélkül mentsd el RAJZ256.BMP néven is, de most már 256 színű bitképként! Hasonlítsd össze a két rajzfájl méretét! 5 pont 9. feladat 10. feladat
Melyik a nagyobb, és hányszorosa a másiknak? )2 pont) Indokold, hogy mi lehet az oka? (3 pont)
Logikai műveletek Az informatikában a matematikai műveleteken kívül másfajta műveletek is vannak. A logikai műveletekre jellemző, hogy eredménye kétféle lehet: igaz vagy hamis. Az igaz állítás jele leggyakrabban 1, a hamis állításé mindig 0. Bizonyára Te is hallottál már ilyen állításokat, hogy pl.: a szatyor nehéz Peti vagy Zoli eljönnek hozzánk. Kati és Zsuzsi szépek Tagadás (NOT) Nézzük az első állítást! Nevezzük el ezt 'A' állításnak A = a szatyor nehéz. Vegyük ennek az állításnak a tagadását. B = a szatyor nem nehéz. Azt mondjuk, hogy B állítás az A tagadása. A tagadás igazságtáblája a következő: A
not A
0 1
1 0
Logikai 'VAGY' (OR) Legyen a C állítás az, hogy Peti vagy Zoli eljönnek hozzánk. Ez az állítás összetett, mert két állításból áll: az egyik, hogy Peti eljön hozzánk, a másik, hogy Zoli eljön hozzánk. A két állítást most VAGY-gyal kapcsoltuk össze. Mikor lesz igaz ez az összetett állítás? ha Peti sem jön el és Zoli sem jön el, az állítás hamis ha csak Peti jön el az állítás igaz ha csak Zoli jön el az állítás ismét igaz ha mindketten eljönnek az állítás megint csak igaz. Azt mondjuk: a VAGY-gyal összekapcsolt összetett állítás akkor igaz, ha a részállítások közül legalább egy igaz. Esetünkben: C = A or B, ahol A = Peti eljön hozzánk, B = Zoli eljön hozzánk A logikai VAGY igazságtáblázata: A 0 0 1 1
B 0 1 0 1
A or B 0 1 1 1
Logikai 'ÉS' (AND) Nézzük a harmadik állítást! D = Kati és Zsuzsa szépek. Mikor lesz ez igaz? Csak akkor, ha Kati is szép és Zsuzsa is szép. Ha bármelyikük nem szép, az együttes, összetett állítás hamis. Azt mondjuk: ÉS-sel összekapcsolt összetett állítás akkor igaz, ha minden részállítása igaz. Esetünkben: D = A and B, ahol A = Kati szép, B = Zsuzsa szép. A logikai ÉS igazságtáblázata: A
B
A and B
0 0 1 1
0 1 0 1
0 0 0 1
A matematikai műveleteknél tapasztalhattátok, hogy pl: a 3+8/2 műveletet a számítógép úgy hajtja végre, hogy először kiszámolja a 8/2-t, majd ezt adja a 3-hoz. Ez azért van, mert a matematikai műveleteknél van egy úgynevezett prioritási sorrend és ebben az osztás előbb van, mint az összeadás. A matematikai műveletekhez hasonlóan a logikai műveletek között is van prioritási sorrend. Ez a következő: 1. tagadás 2. és 3. vagy A szabály a következő: azonos prioritású műveleteket balról jobbra hajtja végre. Ha különböző prioritású műveletek vannak, akkor előbb végre hajtja a magasabb prioritásúkat. A műveletek végrehajtási sorrendjét zárójelekkel befolyásolhatjuk. Ha vannak zárójelek, akkor először a zárójelen belüli műveleteket hajtja végre. Egymásba ágyazott zárójelek esetén belülről kifelé halad. Például az A or B and C állítást a következő sorrendben értékeli ki: először a B and C-t hajtja végre mert az és erősebb, mint a vagy (or), majd a vagy-ot. Ha azt szeretnénk, hogy előbb az A or B-t hajtsa végre, akkor azt zárójelbe kell tennünk: (A or B) and C.
Egy összetett állítás eredményét igazságtáblázattal állapíthatjuk meg (az eredmény függ a részállítások igaz vagy hamis voltától). Pl. Adjuk meg a következő állítás igazságtáblázatát? E = (A and B) or (not A and B) ennek lépései a következők: Vegyük fel A és B lehetséges értékeit: A B 0 0 0 1 1 0 1 1 egészítsük ki a műveletek végrehajtási sorredjének megfelelően: A and B (3. oszlop), not A (4. oszlop), not A and B (5. oszlop) értékeivel: 1 A 0 0 1 1
2 B 0 1 0 1
3 A and B 0 0 0 1
4 not A 1 1 0 0
5 not A and B 0 1 0 0
Végül vegyük hozzá még a 4. és 5. oszlop segítségével a teljes állítást (6. oszlop): 1 A 0 0 1 1
2 B 0 1 0 1
3 A and B 0 0 0 1
4 not A 1 1 0 0
5 not A and B 0 0 0 1
6 (A and B) or (not A and B) 0 1 0 1
Látható, hogy az E állítás tehát akkor igaz, ha A=0 és B=1, vagy A=1 és B=1.
Feladat: Készítsd el a következő állítások igazságtáblázatát (papíron magadnak, ezt nem kell beküldened), majd azok segítségével válaszolj a következő kérdésekre! (10 pont) Mi lesz a D állítás értéke, ha: 11. feladat 12. feladat
A=0 és B=1 A=1 és B=0
Mi lesz az E állítás értéke, ha: 13. feladat 14. feladat 15. feladat
D = (A or B) and A (2 pont) (2 pont)
E = (not A or B) and A
A=0 és B=0 A=0 és B=1 A=1 és B=1
(2 pont) (2 pont) (2 pont)
Feladat:
not(A and B) jelenti A and B, not(A or B) jelenti A or B tagadását. Készítsd el a következő állítások igazságtáblázatát (papíron magadnak, ezt nem kell beküldened), majd sorold fel, hogy az egyes állítások milyen A és B értékpároknál lesznek igazak! (12 pont) 16. feladat
D = not(A and B)
(2 pont)
17. feladat
E = not A and not B
(2 pont)
18. feladat
F = not(A or B)
(2 pont)
19. feladat
G = not A or not B
(2 pont)
20. feladat
Jól megfigyelve a következtetésre jutsz?
kapott
igazságtáblázatokat (2+2 pont)
milyen
Feladat Adott a következő összetett állítás:
(8 pont)
C = ((not A or B) and (A and B)) or not(A and B) Mi lesz C értéke, ha 21. feladat 22. feladat 23. feladat 24. feladat
A = 0, A = 1, A = 0, A = 1,
B=0 B=0 B=1 B=1
(2 pont) (2 pont) (2 pont) (2 pont)
Az elérhető pontszám 50. A megoldásokat e-mail-ben kérem! A megoldásokat írjátok be a mellékelt, word formátumú megoldótáblázatba, (Ne felejtsétek el beírni a neveteket a megfelelő helyre!) és csatoljátok a válaszlevélhez! A levél tárgya: 3. forduló legyen!
Cím:
[email protected] Beküldési határidő: 2013. január 3. A megoldáshoz mindenkinek jó munkát kívánok. Motyovszki Tibor