26
Bevezet´ es a programoz´ asba I. K¨ovetelm´ enyrendszer Bevezet´ es a programoz´ asba I. 1. gyakorlat Sur´ anyi M´ arton PPKE-ITK 2010.09.07.

Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

Bevezetes a programozasba I.

Kovetelmenyrendszer

Bevezetes a programozasba I.1. gyakorlat

Suranyi Marton

PPKE-ITK

2010.09.07.

Page 2: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

Bevezetes a programozasba I.

Kovetelmenyrendszer

Kovetelmenyrendszer

A gyakorlatokon a reszvetel kotelezo!

Ket nagyzarthelyi

Ropzarthelyik a gyakorlatok elejen

Kotelezo hazifeladatok

Page 3: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 4: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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!

Page 5: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 6: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 7: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 8: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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

Page 9: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 10: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 11: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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)

Page 12: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 13: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 14: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 15: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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).

Page 16: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 17: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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

Page 18: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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

Page 19: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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: >,<=,>=)

Page 20: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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?

Page 21: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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)

Page 22: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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)

Page 23: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 24: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 25: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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.

Page 26: Bevezet es a programoz asba I.users.itk.ppke.hu/~surma/bp1/gyak/gyak01.pdf · Bevezet es a programoz asba I. Programoz as alapok V altoz ok V altoz ok A v altoz o mem ori aban t arolt

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!