Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Bevezetes a programozasba I.
Kovetelmenyrendszer
Bevezetes a programozasba I.1. gyakorlat
Suranyi Marton
PPKE-ITK
2010.09.07.
Bevezetes a programozasba I.
Kovetelmenyrendszer
Kovetelmenyrendszer
A gyakorlatokon a reszvetel kotelezo!
Ket nagyzarthelyi
Ropzarthelyik a gyakorlatok elejen
Kotelezo hazifeladatok
Bevezetes a programozasba I.
Kovetelmenyrendszer
Jelenlet
Jelenlet
A gyakorlatokon maxmimum harom hianyzas megengedett. Anegyediknel az illeto nem kap alaırast, vagyis a targyat nemteljesıtette.
Bevezetes a programozasba I.
Kovetelmenyrendszer
Nagyzarthelyik
Nagyzarthelyik
Az elso nagyzarthelyit az otodik-hatodik gyakorlat tajan ırjuk,papırra, PlanG-bol. Erre mindenki kap egy jegyet (1-5). Ezena ZH-n semmilyen segedeszkozt nem lehet hasznalni.
A masodikat a felev vegen, gepteremben, C++-bol. Par oraalatt kell egy mukodo programot ırni. Kizarolag bolti konyv(tehat nem sajat kezuleg nyomtatott/ırt papır) hasznalhatosegedeszkozkent. Legalabb kettest el kell erni.
Lehet javıtani, de csak az egyikbol!
Bevezetes a programozasba I.
Kovetelmenyrendszer
Ropzarthelyik
Ropzarthelyik
Minden gyakorlat elejen ropzarthelyit ırunk az addigieloadasok es gyakorlatok anyagabol
Jo valasz eseten +1
Nem jo, de elfogadhato valasz eseten 0
Rossz valasz eseten -1
Illetve, ha valaki nincs jelen a gyakorlaton, akkor szinten -1
A felev vegere a ropzarthelyikre kapott pontok osszegeneklegalabb nullanak kell lennie, ha nem, akkor az illeto nem kapalaırast.
A felev vegen lesz javıtasi lehetoseg.
Bevezetes a programozasba I.
Kovetelmenyrendszer
Hazi feladatok
Hazi feladatok
Minden gyakorlaton kiadunk kotelezo hazi feladatokat, illetveszorgalmi feladatokat
A hazi feladatok megoldasara egy het lesz, pontosabban akovetkezo gyakorlat napjan, reggel 6:00-ig (tehat oszi szunetelott kiadott hazira ket het lesz)
Ha a hazit idoben megkapjuk, es jol mukodik, akkor 0.
Ha nem mukodik, vagy nem idoben erkezik, akkor -1.
A szorgalmikat pedig pluszpontokkal honoraljuk.
A kapott pontokat osszeadjuk; elosztjuk tızzel, es hozzaadjuka gyakorlati jegyhez. Igy tehat lehet javıtani/rontani is.
Bevezetes a programozasba I.
Kovetelmenyrendszer
Gyakorlati jegy
Gyakorlati jegy szamıtasa
1:2 aranyban az elso es masodik ZH eredmenye, plusz ahazifeladatokbol szerzett/vesztett pontok.
Bevezetes a programozasba I.
Kovetelmenyrendszer
Alaırasmegtagadas
FONTOS
Nem kaphat jegyet:
akinek a ropzarthelyik osszege kisebb mint nulla
akinek barmelyik hazifeladatarol kiderul, hogy MASOLTA
elegtelen geptermi ZH
Bevezetes a programozasba I.
Programozas alapok
Alapok
Alapfogalmak
Gepi kod: a szamıtogep szamara kozvetlenul ertelmezhetoutasıtasok sorozata (pl. futtathato allomanyok; exe-k). Pl.100008000800BC16BC1EBC12BC190E28BC15472023. Ebbennem konnyu programot ırni.
Programozasi nyelv: Egy magasabb szintu eszkoz, amivelkonnyebben tudunk programokat ırni (pl. Pascal, Basic, C++,PlanG, stb.).
Forras kod (source code): az adott programozasi nyelvenmegırt program. Altalaban ember altal ırt.
Fordıtas: az a folyamat, amikor a forrasprogrambol gepikodot allıtunk elo, a fordıtoprogram feladata.
A fordıtoprogram ellenorzi a forraskod szintaktikajat, kozbenfordıtasi hibakat kaphatunk.
Bevezetes a programozasba I.
Programozas alapok
Valtozok
Valtozok
A valtozo memoriaban tarolt adat, amelynek a futas soranmegvaltoztathato az erteke.
A legtobb programozasi nyelvben a valtozonak van tıpusa. Atıpus meghatarozza, hogy mit tarolhatunk benne, illetve,hogy milyen muveleteket vegezhetunk rajta.
A valtozok eleresere neveket hasznalunk (pl. a:=5). Avaltozok neveit mi adhatjuk meg, erdemes beszedes nevekethasznalni, amelyek utalnak a valtozo feladatara.
Bevezetes a programozasba I.
Programozas alapok
Vegrehajtas
Vegrehajtas
A program (miutan lefordult) soronkent, lepesrol lepesrehajtodik vegre (pelda kesobb). Az ekozben keletkezo hibakatfutasi hibanak nevezzuk. (pl. Elfogyott a memoria, a programervenytelen memoriateruletet akar elerni, stb.)
Specifikacio: megadjuk, hogy mi a be- illetve kimenetifeltetel. (pl. kesobb)
Bevezetes a programozasba I.
PlanG
A PlanG fejlesztoi kornyezet
PlanG
A PlanG egy fejlesztoi kornyezet, celja a programozasoktatasa. Az elso ot-hat hetben ezzel fogunk foglalkozni.
PROGRAM program_neveVALTOZOK:** deklaracios resz** programtorzs
PROGRAM_VEGE
Valtozokat a deklaracios reszben definialhatunk.
Maga a program utasıtasai a programtorzsbe kerulnek.
Bevezetes a programozasba I.
PlanG
Hello World!
Hello World!
Elso programunk kiırja, hogy ”Hello World!”.Specifikacio:
BE: (nincs bemenet)
KI: ”Hello World!”
PROGRAM hello_worldKI: "Hello World!"
PROGRAM_VEGE
Lathatjuk, hogy most nincs deklaracios resz, mert nem hasznalunkvaltozokat.
Bevezetes a programozasba I.
PlanG
Tıpsuok PlanG-ban
Tıpusok PlanG-ban
Valtozokat a deklaracios reszben definialhatunk. Mar tudjuk, hogya valtozoknak van tıpusa. Alaptıpusok (a teljesseg igenye nelkul):
EGESZ: felveheto ertekek: pozitıv es negatıv egesz szamok esa nulla (... , -2, -1, 0, 1, 2, ...)
VALOS: ertekek: pozitıv es negatıv valos szamok es a nulla(pl. 7.786, 0.0012, 768.05)
LOGIKAI: felveheto ertekek: IGAZ, HAMIS
KARAKTER: felveheto ertekek: betuk, szamok, ırasjelek,szokoz, sorvege jel (’A’, ’2’, ’ ’, ’?’, ’@’, SV)
SZOVEG: felveheto ertekek: karakterek sorozata (lehet uresis) ("alma", "", "korte banan")
A tıpusokrol bovebben a honlapon, PlanG leırasnal olvashattok.
Bevezetes a programozasba I.
PlanG
Kifejezesek
Kifejezesek
A kifejezes szamok, valtozok, muveleti jelek (es fuggvenyek)
sorozata. (pl. 1+1 vagy 4*(5+9)/2 vagy 4 · (5+9)2 ).
Amikor a program futasa egy kifejezeshez er, akkor kiertekeliazt. Az ıgy kapott eredmeny a kifejezes erteke.
Ugy, mint a valtozoknak, a kifejezesek ertekenek is van tıpusa.Pl:
1 + 1 - Ket egesz szamot adunk ossze, EGESZ tıpusu erteklesz az eredmeny(2).2<5 - Ket egesz szamot hasonlıtunk ossze. Az eredmenyLOGIKAI tıpusu (IGAZ).
Bevezetes a programozasba I.
PlanG
Kifejezesek
Kifejezes - pelda
Specifikacio: BE: (nincs bemenet), KI: 28
PROGRAM kifejezes1KI: 2 * (5 + 9)
PROGRAM_VEGE
A bal also sarokban lathato a kifejezesfa.
Bevezetes a programozasba I.
PlanG
Beolvasas, valtozok hasznalata
Valtozok, beolvasas
Olvassunk be egy szamot, majd ırjuk ki a ketszereset!Specifikacio:
BE: egesz szam(a)
KI: a szam ketszerese(a*2) (egesz szam)
PROGRAM valtozo1VALTOZOK:
a: EGESZ
BE: aKI: a * 2
PROGRAM_VEGE
Bevezetes a programozasba I.
PlanG
Beolvasas, valtozok hasznalata
Feladat
Feladatgyujtemeny I. 1.) Dontsd el egy egesz szamrol, hogyparos-e.Specifikacio:
BE: egesz szam(a)
KI: logikai (paros-e)
PROGRAM feladatgy_I_1VALTOZOK:
a: EGESZ
BE: aKI: (a MOD 2) = 0
PROGRAM_VEGE
Bevezetes a programozasba I.
PlanG
Logikai muveletek
Logikai muveletek, osszehasonlıtasok
NEM: logikai tagadas (pl. a NEM IGAZ kifejezes erteke HAMIS)
ES: logikai ES (pl. az ”a ES b” kifejezes erteke pontosanakkor IGAZ, ha a es b is kulon-kulon igaz. )
VAGY: logikai VAGY (pl. az ”a VAGY b” kifejezes ertekepontosan akkor IGAZ, ha legalabb az egyik igaz.)
a = b ket EGESZ, VALOS, KARAKTER vagy SZOVEGkozt vegez egyenlosegvizsgalatot (ha megegyeznek, akkorIGAZ, kulonben HAMIS) (a nem egyenlo muvelet: /=)
a<b ket EGESZ, VALOS kozt vegez osszehasonlıtast (ha akisebb, mint b, akkor IGAZ, egyebkent HAMIS)(hasonlokeppen mukodik: >,<=,>=)
Bevezetes a programozasba I.
PlanG
Feladatok 1.
Feladatok
I. 2.) Dontsd el egy tetszoleges szamrol, hogy egy adottintervallumba esik-e.I. 3.a) Dontsd el egy koordinatakkal adott pontrol, hogy azorigo-e.I. 3.b) Dontsd el, hogy az egyik koordinatatengelyre esik-e.Irj programot, ami megmondja:Hany ora van egy evben?Hany perc van egy evtizedben?
Bevezetes a programozasba I.
PlanG
Szovegkezeles
Szovegkezeles
A Plang-ban van lehetoseg szovegek kezelesere. Karakterrelvegezheto fobb muveletek(a es b karakter tıpusok):
NAGY a: az a valtozoban levo karaktert nagybetuve alakıtja.(FIGYELEM! Ekkor az a valtozo erteke nem valtozik meg!) Akifejezes ertekenek tıpusa KARAKTER
KIS a: ugyanaz, mint font, csak kisbetuve alakıt
a<b: abecesorrend szerint osszehasonlıt (ha a elorebb van azabeceben, mint b, akkor igaz)(hasonlokeppen letezik >,<=,>=) A kifejezes ertekenektıpusa LOGIKAI.
BETU a: ellenorzi, hogy a karakterben tarolt ertek betu-e(tehat nem szam, ırasjel, stb.). Ha az, akkor a kifejezes ertekeIGAZ. (hasonlokeppen a SZAM a azt ellenorzi, hogy szam-ea tarolt ertek)
Bevezetes a programozasba I.
PlanG
Szovegkezeles
Szovegkezeles
Szoveggel vegezheto fobb muveletek(sz,szov1,szov2 SZOVEGtıpusuak; kar1,kar2 pedig KARAKTER):
Osszefuzes (konkatenacio): egy szoveget osszefuzhetunk egymasik szoveggel, vagy karakterrel. Pl. szov1 + szov2, szov1 +kar1, kar1 + szov1
Hossz lekerdezese: |sz | (egesz erteku kifejezes)
Adott helyen allo karakter lekerdezese: sz[4] az otodikhelyen allo karaktert adja vissza. (Tehat az elso helyen allokaraktert az sz[0] kifejezessel erhetjuk el)
Bevezetes a programozasba I.
PlanG
Szovegkezeles
Szovegkezeles (folytatas)
A szovegekre ugyanugy mukodik az osszehasonlıtas, mintkarakterekre, vagyis abecesorrendben hasonlıtja ossze oket.
szov1@kar1 karakter elso elofordulasanak helye (a karakterindexe; ha nem fordulelo, akkor |szov1| az eredmeny)
szov1@szov2 resszoveg elso elofordulasanak helye (aresszoveg elso karakterenek az indexe; ha nem fordul elo,akkor |szov1| az eredmeny)
Figyelem! Nem soroltuk fol az osszes muveletet! A hazi feladatokmegoldasahoz lehet, hogy szukseg van tovabbi muveletekismeretere. Ezeket a honlapon talaljatok meg.
Bevezetes a programozasba I.
PlanG
Feladatok 2.
Feladatok
I. 14. Dontsd el egy szovegrol, hogy szokozzel kezdodik-e.I. 15. Dontsd el egy szovegrol, hogy nagybetuvel kezdodik e.I. 16. Dontsd el egy szovegrol, hogy szamjegyre vegzodik-e.I. 19.a) Add meg egy tetszoleges szoveg elso szavat.
Bevezetes a programozasba I.
PlanG
Hazi feladatok
Hazi feladatok
Kotelezo (I. fejezetbol):
4.) Szamıtsd ki egy adott sugaru gomb terfogatat. (tehat abemenet a sugar)
5.a) Dontsd el ket egesz szamrol, hogy az elso osztoja-e amasodiknak. (bemenet a ket szam)
7.) Dontsd el ket szamrol, hogy megegyezik-e az elojeluk.
8.a) Add meg egy szamtani sorozat elso ket elemenekismereteben a harmadik elemet.
17.a) Dontsd el egy szovegrol, hogy ugyanazzal a karekterrelkezdodik-e, mint amivel vegzodik.
20.) Egy tetszoleges szot alakıts at ugy, hogy nagybetuvelkezdodjon.
Bevezetes a programozasba I.
PlanG
Hazi feladatok
Hazi feladatok
Szorgalmi (plusz pontert):
5.b) Dontsd el ket szamrol, hogy barmelyik osztoja-e amasiknak!
8.b) Add meg egy szamtani sorozat elso ket elemenekismereteben az N-edik elemet!
8.c) Mertani sorozatra is add meg az N-edik elemet!
19.b) Egy tetszoleges szovegnek torold le az elso szavat!
21.a) Ket tetszoleges szovegrol dontsd el, hogy az elsomegtalalhato-e a masodikban!