A struktúrált programozás
|
|
- Donát Fekete
- 8 évvel ezelőtt
- Látták:
Átírás
1 Proramtervezés smeretek A struktúrált proramozás A struktúrált proramozás olyan proramozás elvek összessée, amelyek seítenek meteremten, oy a proram szöveszerkezete tükrözze a proram véreajtása során követett vezérlés folyamatot. A struktúrált proramozás során a műveletekre összpontosítunk, az adatok szerepe, szerkezete másodlaos, de eyáltalán nem lebecsülendő. Alkalmazásával könnyebben és atékonyabban leet proramot felépíten és könnyebb a proram meértése. A struktúrált proramozás elv mejelenését Edser W. Djkstra nevéez kapcsoljuk az 1968-as ckke révén. A jó proram smérve: 1. Keléít a követelményeket, a felasználó ényeket. 2. Helyesen, bamentesen működk. 3. Amennyre szüksées, atékony. 4. Teljesítése dő- és költséatáron belül történk. 5. A jövőben módosítató. (Uprade.) Ez mefelelő dokumentáltsáot s jelent. A struktúrált proramozás általában eyütt jár a felülről lefelé proramtervezés koncepcóval. (Lásd később.) A cél a bonyolultsá kézbentartása. Az ember ay általában neezen tud eyazon dőpontban több célra koncentráln. A struktúrált proramozás elvek előseítk ezen eybeesések szétválasztását. Ey skolapélda erre az alább mellékelt proram, amelyben kezdő proramozók által elkövetett tpkus ba találató. A proram a New Haven- esőátlaot kszámító proram néven vált smertté. A proram feladata: Nap csapadékmennyséeket kell ey proram számára meadn, amely számadatokból a proram átlaot számol. Az adatok sorát ey es szám zárja, amelyet már nem kell fyelembe venn a csapadékátla kszámításánál. Neatív számot nem szabad elfoadn csapadékmennysének, anem elyette az adatot újra be kell kérn. A bás verzó következk alább. // Soloway, CACM 9-86 p. 853 ckkbel proram pszeudokódosítva VÁLTOZÓK Össze, Eső, Átla R 3. Számláló N Össze 0 6. Számláló 0 7. OUTPUT ( Kérem az eső mennyséét! ) 8. INPUT (Eső) 9. WHILE Eső DO 10. WHILE Eső < 0 DO 11. OUTPUT ( Eső mennysée nem leet neatív. Adja me újra! ) 12. INPUT (Eső) 13. Össze Össze + Eső 14. INC (Számláló) 15. OUTPUT ( Kérem az eső mennyséét! ) 16. INPUT (Eső) 17. IF Számláló > THEN OUTPUT ( Átlaos esőmennnysé =, Össze / Számláló) 19. ELSE OUTPUT ( Nncs értékelető adat, átlaszámítás nem történt! ) 20. STOP 21. // New Haven- esőátla proram vée
2 Proramtervezés smeretek A fent bás verzó kpróbálását ey kapkodó felasználó a -3-as szám beépelésével kezdte, majd észrevéve a bát mejedt, és a cel k akart lépn a proramból, de az számoln kezdett. Nyílvánvalóan a proram nem felelt me az előírt elvárásoknak. Tanulsá: Neéz eydejűle több célt s követn! Alább mellékelünk ey leetsées elyes változatot. New Haven- esőátla, javított változat // Ey procedúra a elyes nputra Helyes_Input (@x) // A procedúra fejléce 4. Output paraméter : x R 5. OUTPUT ( Kérem az eső mennyséét! ) 6. INPUT (x) 7. WHILE x < 0 DO 8. OUTPUT( Eső mennysée nem leet neatív. Adja me újra! ) 9. INPUT (x) 10. RETURN (x) // Procedúra vée // =================================================== Főproram 13. KONSTANS Szentnel = (Szentnel jelentése őrszem) 14. VÁLTOZÓK Össze, Eső R 15. Számláló N Össze Számláló CALL Helyes_Input (@Eső) 20. WHILE Eső Szentnel DO 21. Össze Össze + Eső 22. INC (Számláló) 23. CALL Helyes_Input (@Eső) 24. IF Számláló > THEN OUTPUT ( Átlaos esőmennnysé =, Össze / Számláló) 26. ELSE OUTPUT ( Nncs értékelető adat, átlaszámítás nem történt! ) 27. STOP // ========================================= Főproram vée A Helyes_Input procedúra füvény formában s meírató lett volna. Ebben az esetben az alább alakban állatna. Helyes_Input R // A procedúra fejléce 1. // Nncs nput paramétere, a vsszaadott füvényérték valós 2. OUTPUT ( Kérem az eső mennyséét! ) 3. INPUT (x) 4. WHILE x < 0 DO 5. OUTPUT( Eső mennysée nem leet neatív. Adja me újra! ) 6. INPUT (x) 7. Helyes_Input x 8. RETURN // Procedúra vée A füvény változatot asználva a proramban a CALL Helyes_Input (@Eső) utasítás elyett az Eső Helyes_Input utasítást íratnánk.
3 Proramtervezés smeretek A struktúrált proramozás a proramokat (és folyamatábrákat) árom alapelemből épít föl: Szekvenca Cklus Eláazás p ams az p ams az Jellemzőjük: 1. Mnden építőelemnek csak ey belépés és ey klépés pontja van. 2. A belépés pont a struktúra elején, a klépés a véén van. Az eyes alapelemek formulával s leíratók. A szekvenca formulája: S( ) Ha több szekvenca követ eymást, akkor azokat íratjuk ey közös zárójelben felsorolva és vesszővel elválasztva eymástól. A pszeudokódban általában az értékadás, procedúraívás, nput-output, adatmozatás, füvényérték kszámítás, adattranszformácó a mefelelője. A cklus formulája: C( p; ) A p tt predkátum, a cklusma a predkátum az értéke esetén kerül véreajtásra. Pszeudokódban: WHILE p DO Az eláazás formulája: E( p;, ) A p tt predkátum, melynek az értéke esetén az elsőnek feltüntetett, ams értéke esetén a másodknak feltüntetett kerül véreajtásra. Eykük leet üres s. Ebben az esetben elyükre a mínusz ( - ) jelet, vay az üres almaz jelet íratjuk. Pszeudokódban: IF p THEN ELSE Fyeljük me, oy mnd a cklus, mnd az eláazás formulában a predkátum a formula elején folal elyet és a formula több részétől pontosvessző választja el, mí másol az elválasztás a vessző jellel történk Defnícó: Két proram ekvvalencája Két proramot ekvvalensnek nevezünk, a mnden leetsées uyanazon nput esetén uyanazon outputot eredményezk. (Uyanazon kezdőállapotból uyanazon véállapotba jutnak el.)
4 Proramtervezés smeretek Defnícó: Proramráf A proramráf, vay vezérlés ráf olyan összefüő rányított ráf, amely vonalakból (folyamatvonalakból), szekvencákból (füvényekből), eláazásokból (predkátumokból, ey befutó, két kfutó él) és yűjtő szmbólumokból (két befutó, ey kfutó él) épül fel. A vonalak a ráf élet adják, a többek ped a ráf csomópontjat. A predkátumok az adatmezőt osztják föl két dszjunkt részre. P ( d ) az, = ams a d D k a d D l D = Dk Dl és Dk Dl = A proramráf struktúrájának vzsálatakor ey bemenő (START) és ey kmenő (STOP) szmbólumra korlátozódatunk, am az általánossáot nem csorbítja, a sok STOP-ot eyetlen közös STOP-ba torkoltatjuk. Az ábrázolások során a bemenő és a kmenő szmbólumot el s fojuk ayn, mvel ez a mnket érdeklő következtetésenket nem foja befolyásoln. Az eláazásnak (predkátumnak) ey bemenő és két kmenő éle van, a yűjtő szmbólumnak két bemenő és ey kmenő éle van, pontosabban az általánossá csorbítása nélkül ezt feltételezetjük, meköveteletjük a proramráf lyen alakban történő felrajzolását. A leírtakból következk, oy a sokrányú eláazást több kétrányúval kell elyettesíten. A proramráf meadása, leírása élalmaz seítséével a következő módon történk. A ráf mnden csomópontja kap ey menevezést, azonosítót. Ksebb méret esetén ez leet ey betű például. Ezt követően felsoroljuk kapcsos zárójelek között a ráfot alkotó éleket, mnt aoy ey vées almaz elemet szokás felsoroln. Mnden él ey csomópont párosból áll. A páros első taja az él kezőpontja, a másodk ta az él vépontja. A párost zárójelbe tesszük és a páros két taját vesszővel választjuk el eymástól. Uyancsak vesszőt teszünk az eyes élek közé a felsorolásban. Eláazásból knduló élek vépontjánál ey / jellel elválasztva vay betűvel jelezzük, oy az az vay a ams áról van-e szó. Az élek felsorolás sorrendje általában kötetlen, tetszőlees leet. Ezt a precíz meadást, amely ey kcst terjenős, tömörebbé, uyanakkor talán ey kssé neezebben követetővé, de eyértelművé tudjuk tenn a következő módon. Ha csökkenten akarjuk a zárójelek számát, akkor az élt meadó párost közbezáró zárójelpárt elayatjuk, de ebben az esetben ey nylat teszünk a páros tajat elválasztó vessző elyére, szmbolzálva az él rányítottsáát. Tömör írásmódot s alkalmazatunk, a a yűjtő csomópontokat kayjuk a leírásból a belőle kvezető élt ozzáfűzve a bemenő élez. Tömörebben írató az eláazás s úy, oy a jelet követően először az az á élének vépontját, majd a ams á élének vépontját adjuk me vesszővel elválasztva eymástól. Ebben az esetben az az és a ams á élvéet zárójellel fojuk eybe. Példa: Leyen a feladat ey tömbben lévő elemek között a T tulajdonsáúaknak a tömb elejére yűjtése és a darabszámuk meállapítása, a T tulajdonsáal nem rendelkezőknek ped a tovább, a tömb véén lévő elyekre yűjtése. Az alortmus (most ey teljes proramot készítünk) lényee, oy két ndexet mozatunk a tömbön. Az eyk () az első eleme elé mutat, a másk (j) az utolsó elem möé kezdetben. Ezután felváltva mozatjuk az ndexeket mndadd, amí a j nem T tulajdonsáúra mutat, az ped T tulajdonsáúra. Amkor mndkettőnél meváltozk az elem mnősée (rendelkezés a T tulajdonsáal, vay nem), vay ped a két mutató elér eymást, elmey eymás mellett, akkor meállunk. Ha mé nem érték volna el eymást, akkor a mutatott két elemet felcseréljük, ezáltal a T tulajdonsáú felülre, a nem T tulajdonsáú alulra kerül. Ha a mutatók már elérték, vay elayták eymást, akkor befejeztük az átelyezéseket és következk a véeredmények kíratása.
5 Proramtervezés smeretek Alább meadjuk az alortmus folyamatábráját és mellette ey, a folyamatábrának mefelelő pszeudokódot. A proram neve leyen P. START X 0 j Hossz[X]+1 < j en DEC( j ) be nem X, j STOP k PROGRAM P VÁLTOZÓK X R 20,j N INPUT (X) 0 j Hossz[X]+1 WHILE < j DO DO DEC(j) WHILE DO INC() IF OUTPUT(X, j) STOP ( x ) ( j ) T j > WHILE T ( x ) ( j) < j THEN x és x j felcserélés en ( x ) ( j ) T j > nem INC( ) en ( x ) ( j) T nem nem <j en x és x j felcserélése A folyamatábra és a pszeudokód után most elkészítjük a proramráfot, amely a folyamtábrára épül. A folyamatábráról leválasztjuk a START és a STOP szmbólumokat meayva a ozzájuk kapcsolódó folyamatvonalakat. (Ha több STOP lenne az ábrán, akkor azokat eyetlen közös STOP-ba futtatnánk össze előbb yűjtő szmbólumok bektatásával.) A folyamatábrában az nput-output szmbólumokat télalappal elyettesítjük és a szmbólumokban lévő szöveet s jelekre, azonosítókra (a példánkban az ábécé naybetűre)
6 Proramtervezés smeretek változtatjuk, mert most nem az a lényees, oy azok mt csnálnak, bár me s ayatnánk őket. Ez azonban meneezítené a szerkezet áttekntését. A proramráf mellett meadjuk a proramráf élalmazos leírását teljes és rövdített, tömör formában s. Teljes élalmazos leírás A B C P = { (START, A), (A, B), (B, C), (C, D), (D, E/), (E, STOP), (D, F/), (F, G), (G, H), (H, I/), (H, F/), (I, J), (J, K), (K, L/), (K, I/), (L, N/), (L, M/), (M, C) } D nem E Tömör élalmazos leírás en F G P = { START A, A B, B D, D (G, E), E STOP, G H, H (G, J), J K, K (J, L), L (N, D)} en H nem I J en K nem M nem L en N Látatjuk, oy a proramráf merajzolása a teljes élalmazos leírásból eyszerűen mevalósítató, de leet, oy az eyes csomópontok eometrala másként elyezkednek majd el a papíron, mnt eredetle voltak, vszont a közöttük lévő kapcsolatok (élek) uyanolyanok maradnak. A tömör élalmazos leírásból már neezebb a rajz elkészítése, mvel látatóan a leírásból kmaradtak a yűjtő csomópontok, teát azokat rajzolás közben kell elyreállítan, amt leet, oy csak dőben eltolva tudunk metenn
7 Proramtervezés smeretek Defnícó: Valód proram Ey proramot valód proramnak nevezünk, a: 1. proramráfja vées számú nem zérus bemenő éllel és kmenő éllel rendelkezk, 2. proramráfjának csomópontja predkátumok, füvények és yüjtők, 3. proramráfjának mnden csomópontján keresztül vezet lealább ey útvonal, amely ey bemenő éllel és ey kmenő éllel rendelkezk ( a proramráf kezdő élétől a klépés él vezet). A valód proramok almaza meszámolató. Az ey élből álló proramból kndulva csomópontok eyenként ozzáadásával az összes valód proram előáll. Példa nem valód proramra: A B C D E Kváz-struktúrált szerkezet, az smétlés: Formulája I( p; ) Kváz-struktúrált smétlés Ekvvalens struktúrált proramráf p p Proramráf formulával: I( p; )=S(, C( p; ) )
8 Proramtervezés smeretek A későbbekben az smétlést s alapelemként fojuk véett. kezeln az eyszerűbb következtetések Példa nem struktúrált proramrész átalakítására ekvvalens struktúrálttá: Nem struktúrált proramrész Ekvvalens struktúrált proramrész K: S1 S1 IF B THEN S2 GOTO K WHILE B DO S2 S1 Proramráffal: S1 S1 B B S2 S2 S1 Proramráf élalmazzal: {START S1, S1 B, B (S2, STOP), S2 S1 } Proramráf formulával: S( S1, C( B; S( S2, S1 ) ) ) P éldák összetett struktúrára (több szntű struktúráltsá). A B C D E F E( A; S( B, D ), E( C; E, F ) )
9 Proramtervezés smeretek A B C D G E H F I E( A; E( B; S( D, G ), C( E; H ) ), S( C, F, I ) ) Kváz struktúrált folyamatábrák: a REPEAT UNTIL átírása struktúráltra. Kváz struktúrált proramrész Ekvvalens struktúrált proramrész REPEAT S S WHILE F DO UNTIL F S A DO WHILE átírása struktúráltra. Kváz struktúrált proramrész Ekvvalens struktúrált proramrész DO S S WHILE F DO WHILE F S Defnícó: A vezérlőráf lebontása A vezérlőráf lebontásának nevezzük azt az eljárást, melynek során a struktúrált alapszerkezetek valamelykét ey füvény csomóponttal elyettesítjük, és ezt mndadd folytatju k, amí ez leetsées. Az eyetlen csomópontból álló ráfot eye tlen éllel elyettesítjük. ( Az eyetlen rányított él neve üres proram.)
10 Proramtervezés smeretek Példák lebontásra.
11 Proramtervezés smeretek Defnícó: A struktúrált proram Struktúrált proramnak nevezzük azt a proramot, amelynek vezérlőráfja lebontató az önmaában álló rányított élre. Mnt látató, az előző két proramráf lebomlott az önmaában álló írányított élre, ezért a nekk mefelelő proram struktúrált. Példa valód, nem struktúrált proramra és lebontására. A jelen példában eyetlen lebontás lépést sem tudunk véezn. A proramráf nem bontató le az eyetlen önálló rányított élre, teát a proram nem struktúrált. Nem mnden eset lyen
12 Proramtervezés smeretek feszes, van, amkor néány lebontás lépés metétele után nem tudunk már tovább aladn mé melőtt elértük volna az eyetlen önálló rányított élt. Tétel: A struktúrált proram formulája Ey f proram akkor és csak akkor struktúrált proram, a formulája felírató az S() vay a C(p;) vay az E (p;,) alakban, aol p predkátum, és ped struktúrált proramok (beleértve az üres proramot s, azaz melynek proramráfja az önmaában álló rányított él). Példa struktúrált proram formulájára. Meadjuk a tömbelemeket a T tulajdonsá szernt a saját tömbjükben szétváloató proramnak a formuláját, mvel az (kváz)struktúrált proram. (Csak a csomópontok nevet asználjuk, a tartalmat nem írjuk k, oy rövdebb leyen a formula.) f = S( A, B, C( D; S( I( H; G ), I( K, J ), E( L, ) ) ), E ) Tétel: Bőm Jacopn tétel (a struktúrált proramozás alaptétele) Mnden valód proram meadató ekvvalens, struktúrált proram formájában s. A tétel csak az átalakítatósáot állítja, a oyanról nem nylatkozk. A tételnek azonban van konstruktív bzonyítása, azaz olyan, amely alortmust ad ey leetsées ekvvalens struktúrált proram konstruálására és bebzonyítja ezen konstrukcó elyesséét. Nemcsak eyféleképpen valósítató me az ekvvalens átírás, m ey konkrét alortmust founk meadn a későbbekben. A struktúrált szerkezetek asználata nem aranca ey proram jósáára. Ezekkel s leet bás proramot készíten. (Lásd a New Haven- esőátla proram esete.) Módszer valód proram proramráfjának átalakítására struktúrált proramráffá A proramot füvénynek tekntetjük, szen az x bemenetből az y kmenetet állítja elő a D meenedett nputok almazán, ezért ey y=f(x) formulával szmbolzálatjuk a proram működését. A formulát a proramráf tesz szemléletessé, és ez a formula struktúrált esetben a korábban táryalt S, C, és E (vay I) formulákon keresztül fel s írató. Nem struktúrált esetben ez nem teető me lyen eyszerű módon. Ezért fontos, oy a struktúrált proramráf a rendelkezésünkre álljon. A proramráf kezdőélén vzsáljuk az első csomópontot és a típusának mefelelően redukáljuk azt és alakítjuk k páruzamosan a formuláját. Füvény (szekvenca) csomópont esete: f=s(, )
13 Proramtervezés smeretek Predkátum (eláazás) csomópont esete: az p ams az p ams f=e(p;, ) f Az f -ben a p predkátum az áán aladó utakat -be, a ams áán aladókat -ba yűjtjük. Ha szüksées, akkor a csomópontokat mekettőzzük. Azok a csomópontok lesznek mekettőzve, amelyeken mndkét út átmey. Előfordulat, oy yűjtő csomópontok a kettőzés után keyszerűsödnek. G yűjtőpont csomópont esete: Ez az eset árom alesetre bomlk szét aszernt, oy a vzsált yűjtő csomópontra rákövetkező csomópont mlyen típusú. Ezek a következők. Gyűjtőpontot füvény követ aleset: f=s(, ) Gyűjtőpontot yűjtőpont követ aleset: A B A B
14 Proramtervezés smeretek Gyűjtőpontot predkátum követ aleset: be az p ams levesz az p ams vssza en nem levesz Ennél az esetnél a formula f=s(be, I(vssza; S(levesz, E(p;, ))), levesz). A be füvény ey extra btet defnál és beállít 1-re. A k füvény ey extra btet defnál és beállít 0-ra. A levesz füvény eltüntet, meszüntet az extra btet. A vssza predkátum az extra btet vzsálja. Ha az extra bt 1, akkor az en áon, a 0, akkor a nem áon lépünk k belőle. A és áak szerkezete az alábbak eyke. vay vay be k be k A ában a p az áán a kmenő élez (STOP) vezető (k), vay vssza a yűjtőbe (be) vezető utak vannak. A ában a p ams áán a kmenő élez (STOP) vezető (k), vay vssza a yűjtőbe (be) vezető utak vannak. Példa nem struktúrált proramráf átalakítására struktúrálttá.
15 Proramtervezés smeretek A B C D E F G H Szekvenca esete f = S( A, ), ezután yűjtőpontot predkátum követ. A be B levesz C D E F G be H 1 H 2 k k I J vssza levesz Az útvonalak bejárása során a H csomópontot me kellett kettőzn, mvel több úton s átaladtunk rajta. Ezek a mekettőzött yűjtők azután felesleesnek bzonyultak, mvel csak
16 Proramtervezés smeretek ey bemenetük maradt jelen esetben. Ezért a proramráfból el s ayatók. A véső formula: f = S(A, S(be, I(vssza; S(levesz, E(C; E(D; S(E,be), S(F, k) ), S(G, k)))), levesz) ). A nem struktúráltsá néy alapformája Ey proram nem struktúráltsáát meállapítatjuk a proramráfja vzsálatával azáltal, oy jellezetes, a struktúráltsá elvét mesértő részráfokat keresünk benne. Az alább vázolt néy eset lyen részráfokat ad me. Eláazás két bemenettel Eláazás két kmenettel Cklus két bemenettel Cklus két kmenettel Bőm Jacopn példája nem struktúrált proramra (proramráf). Melyk alapformákat találjuk me ebben a példában és ányszor? A fent néy alapforma a vázoltnál fontosabb, uyans kmondató a következő tétel. Tétel: A nem struktúráltsá karakterzálása Ey proram akkor és csak akkor nem struktúrált, a annak proramráfjában részráfként előfordul több k-, lletve belépő éllel rendelkező cklus, vay eláazás.
17 Proramtervezés smeretek Tétel: Alapformák a nem struktúrált proramban A nem struktúrált proram a néy nem struktúráltsá alapforma közül lealább kettőt mnd tartalmaz. Defnícó: A proram modul Modulnak nevezzük az ey fle-ban lévő, eyszerre fordítandó proramrészt. Ez általában ey vay több procedúra vay a főproram. Tovább elvek a struktúrált proramok írásáoz: a. asználjunk beszélő változóneveket! b. Névvel ellátott konstansokat asználjunk, melyek defnícója a proram meatározott elyén (általában az elején) leyen! c. Kerüljük a GOTO asználatát és soase írjunk spaett kódot! (A GOTO ey néybetűs szó! = Te GOTO s a four-letter word!) d. Modulárs proramokat írjunk, íy a részek kölcsönatása tszta és eyszerű. e. A modul része felfoatók leyenek és sorban olvasatók. f. A modulok eyke se tudjon túl sokat az eész proram erarcájából. Csak néány szomszédjával tartsa a kapcsolatot. Ez csökkent a veszélyt, oy ey változás sok részre kasson.. A modulok amennyre leet, leyenek eymástól füetlenek.. Rövd procedúrákat írjunk, amelyek csak ey dolot valósítanak me, de azt jól!. A procedúra leetőle ne leyen ey oldalnál osszabb! j. Mnden procedúra feladata ey-két sorban leírató leyen. k. A procedúra úy készüljön, oy a specfkácóját (a feladat leírását) keléítse, azaz először a specfkácó jön, majd a procedúra írása következk és nem fordítva! l. Használjuk k a bekezdések eltolatósáának leetőséét a proramszöveben! m. Mnél több értelmes kommentárt készítsünk, mnél teljesebb dokumentácót írjunk! n. Túl sok IF-et ne skatulyázzunk eymásba! o. A tervezés döntéseket és az adatszerkezeteket fedjük el. Amelyk procedúra nem asználja valamelyket, az ne s smerje, ne s lássa. p. A proram leyen mnél eyszerűbb. Veyük fyelembe a azdasáossá és szabványosítás szempontokat. A fejlesztés több lépésben történjen: először a központ részeket fejlesszük, a részletekkel ne folalkozzunk. q. Hayjuk, oy a feladat neezét más oldja me. Ez azt jelent, oy építsünk a saját maunk, vay más által elkészített munkákra, procedúrakönyvtárakra. A GOTO poléma 1. Túl sok célra asználató (mert túl eyszerű) és a környezetében nem derül k, oy m a célunk vele. 2. Ha ey címkét látunk ey proramszöveben, nem tudjuk, oy onnan leet odauran. 3. A proramszöve olvasása során yakran kell összevssza urálnunk a szöveben, am neézkessé tesz a szöve olvasását, neezen követetővé a vezérlést. Struktúrált esetben lefelé és balról jobbra olvasunk. 4. Struktúrál t proramnak könnyebb a proramelyessé vzsálata. Kváz struktúrált folyamatábrák: cklusból dő előtt kurás Be leet vezetn ey EXIT utasítást (a GOTO elyett!), amelynek a szerepe: klépés a struktúrából a struktúra véén, az eyetlen kmeneten.
18 Proramtervezés smeretek Az a elem keresése az X tömbben. Gyorsabb, de zavarosabb ép meoldás 1. FOR 1 TO Hossz[X] DO 2. IF x =a 3. THEN GOTO 6 4. // nncs me 5. GOTO 7 6. // mevan 7. Lassabb, de áttekntető ember meoldás WHILE Hossz[X] és x a DO 3. INC() 4. IF > Hossz[X] 5. THEN // nncs me 6. ELSE // mevan Nass Snedermann ábrák, a struktoram A struktúrált proramok vezérlés szerkezetének szemléltetésére jól asználatók az úynevezett Nass Snedermann ábrák, vay népszerű (németből átvett) nevén a struktoramok. Isaak Nass és Ben Snedermann fejlesztette k 1972-ben. A struktoramok a folyamatábra szabadossáát korlátozzák és csak (kváz)struktúrált szmbólumokat tartalmaznak. Ebből következk, oy csak (kváz)struktúrált proramok szerkezete ábrázolató a seítséükkel. Alapelem a télalap, amt különböző módokon osztunk fel részekre. Maa a proram eyetlen partíconált (felosztott) télalap. A következő leetőséek adottak. Szekvenca utasítás utasítás utasítás utasítás Eláazás (kétfelé) Ha a feltétel az, akkor az az alatt, a ams, akkor a ams alatt utasításnál folytatjuk lefelé. Ha valamely á üres, akkor az utasítás elyét kkszeljük. feltétel az aaa aa a ams utasítás utasítás Cklus (elöltesztelős) Ismétlés, amí a feltétel az. feltétel utasítás Eláazás (sokfelé) Ey feltételnek mnd teljesüln, kell és eydejűle csak ey teljesület. Ha valamely á üres, akkor az utasítás elyét kkszeljük. feltétel 1 feltétel 2 feltétel n utasítás 1 utasítás 2 utasítás n Cklus (átultesztelős) Ismétlés, amí a feltétel az. utasítás feltétel Eljárásdefnícó A lokáls változókat és a paramétereket a név mellett soroljuk fel a névez ozzákapcsolva. Név utasítás
19 Proramtervezés smeretek A struktoram előnye. Az struktoram tömörebb, mnt a folyamatábra, főként a folyamatvonalak kküszöbölése matt. Garantált a proram struktúráltsáa, mvel más szmbóluma nncsenek. Használató a lépésenként fnomítás módszerével történő proramfejlesztésre. A struktoram átránya. Neezebben követető, mnt a folyamatábra. A rajz matt terjedelmes, vszont a korlátozott szélessé matt neezen javítató. Gyakorlatla újra kell rajzoln. Nem ad leetőséet nem struktúrált utasításokra. Struktoramra példaként a fentebb táryalt proramot adjuk me, amelyben ey tömb elemet rendezzük át úy, oy a T tulajdonsáúak a tömb elején, a többek a véén elyezkedjenek el. Fentebb meadtuk a folyamatábrát és a pszeudokódot, most alább meadjuk a struktoramot. PROGRAM P 20 VÁLTOZÓK X R,j N INPUT (X) 0 j Hossz[X]+1 aa < j DEC(j) T ( x j ) ( j > ) INC() T ( x ) ( j) < j aaaaaa azaaa aa aa ams x és x j felcserélése OUTPUT(X, j) STOP
20 Proramtervezés smeretek FELADATOK 1. Tömör élalmazzal adottak alább proramráfok. Rajzoljuk me a proramráfot! Lássuk be, oy nem struktúrált, vay ped, oy az! Írjuk át struktúrálttá, a nem az! Írjuk fel ezután a formuláját! Rajzoljuk fel a struktoramot! a. {START A, A (D, B), B (C, E), C A, D A, E STOP} b. {START A, A (B, C), B C, C (B, STOP)} c. {START A, A (B, C), B (D, E), C STOP, D A, E STOP} d. {START A, A (B, C), B F, C (D, E), D F, E (G, F), F E, G (H, STOP), H A} e. {START A, A (C, B), B (E, D), C (F, E), D A, E G, F G, G (H, STOP), H F} f. { STAR T A, A (B, C), B STOP, C (STOP, D), D A}. {START A, A (B, C), B C, C (D, E), E STOP, D A}. {START A, A (B, STOP), B C, C (A, STOP)}. {START A, A (C, B), B STOP, C (D, STOP), D A} j. Leyen a proramráf a fent említet t Bőm Jacopn példa. (Adjuk me az élalmazt!) k. Leyen a proramráf a nem stru ktúráltsá néy ala pformája. (Adjuk me az élalmazt! Két bemenet esetén azokat a START-ból ey predkátum két kmenete adja, két kmenet esetén azokat futtassuk e ybe ey STOP-ba! ) l. 2. a. Készítsünk proramot ey 1 és 1000 között ondolt szám ktalálására. (A proram próbálkozzon ktaláln az általunk ondolt számo t, leetőle mnél kevesebb lépéssel. ) A proram teyen fel kérdéseket, amelyekre m csak az en vay nem választ adatjuk. Iyekezzünk struktúrált proramot készíten. H a nem az skeredne, alakítsuk át a tanult módszerrel struktúrálttá! Írjuk fel ezután a formuláját! Rajzoljuk fe l a struktoramot! b. Módosítsuk az előző pror amot úy, oy feltételezzük, oy a válaszadó esetle csalat. Ekkor a véén rák érdezünk a ondolt számra, és a a válasz az, oy a ondolt szám nem a metalált, akkor bekérjük a válaszoló szernt elyes számot és rámutatunk, oy ol csalt először.
21 Proramtervezés smeretek Adott az alább formáls pszeudokód. Rajzoljuk me a proramráfot! Írjuk át struktúráltra, a nem az! Írjuk fel ezután a formuláját! Rajzoljuk fel a struktoramot! a. 1. IF A 2. THEN B 3. GO TO 8 4. ELSE IF C THEN ELSE GO TO 8 D GOTO 1 8. STOP b. 1. A 2. IF B 3. THEN C 4. GO TO 1 5. STOP c. 1. WHILE B D O 2. A 3. IF C 4. THEN 5. ELSE 6. STOP D E d. 1. A 2. IF B 3. THEN 4. IF D 5. THEN F 6. GOTO 4 7. ELSE D 8. E 9. G 10. STOP
ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK
ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK 1. ALGORITMUS FOGALMA ÉS JELLEMZŐI Az algortmus egyértelműen végreajtató tevékenység-, vagy utasítássorozat, amely véges sok lépés után befejeződk. 1.1 Fajtá: -
RészletesebbenA pályázat címe: Új elméleti és numerikus módszerek tartószerkezetek topológiaoptimálására
00. év OKA zárójelentés: Vezetı kutató:lóó János A pályázat címe: Új elmélet és numerkus módszerek tartószerkezetek topolóaoptmálására determnsztkus és sztochasztkus feladatok esetén. (Részletes jelentés)
RészletesebbenFuzzy rendszerek. A fuzzy halmaz és a fuzzy logika
Fuzzy rendszerek A fuzzy halmaz és a fuzzy logka A hagyományos kétértékű logka, melyet évezredek óta alkalmazunk a tudományban, és amelyet George Boole (1815-1864) fogalmazott meg matematkalag, azon a
RészletesebbenKOMBINATORIKA ELŐADÁS osztatlan matematika tanár hallgatók számára. Szita formula
KOMBINATORIKA ELŐADÁS osztatlan matematka tanár hallgatók számára Szta formula Előadó: Hajnal Péter 2015. 1. Bevezető példák 1. Feladat. Hány olyan sorbaállítása van a a, b, c, d, e} halmaznak, amelyben
RészletesebbenVezérlési szerkezetek
Vezérlés szerkezetek Tartalomjegyzék Elágazás2 Elágazás blokkal..2 Elágazás else ággal.3 Elágazás else ággal blokkal4 Egymásba ágyazott elágazások5 Többrányú elágazás..6 Elöltesztelős cklus.8 Hátultesztelős
Részletesebben4 205 044-2012/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme
HU 4 205 044-2012/11 Változtatások joga fenntartva Kezelés útmutató UltraGas kondenzácós gázkazán Az energa megőrzése környezetünk védelme Tartalomjegyzék UltraGas 15-1000 4 205 044 1. Kezelés útmutató
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
RészletesebbenBevezetés a programozásba. 3. Előadás Algoritmusok, tételek
Bevezetés progrmozásb 3. Elődás Algortmusok, tételek ISMÉTLÉS Specfkácó Előfeltétel: mlyen körülmények között követelünk helyes működést Utófeltétel: mt várunk kmenettől, m z összefüggés kmenet és bemenet
RészletesebbenAlgoritmusok és adatszerkezetek gyakorlat 09 Rendezések
Algortmusok és adatszerkezetek gyakorlat 09 Rendezések Néhány órával ezelőtt megsmerkedtünk már a Merge Sort rendező algortmussal. A Merge Sort-ról tuduk, hogy a legrosszabb eset dőgénye O(n log n). Tetszőleges
RészletesebbenA PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin
1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy
RészletesebbenWebprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
RészletesebbenVezérlési szerkezetek
Vezérlés szerkezetek Elágazás Ha a feltétel teljesül, akkor az gaz ágon találató t a program végreajtja, egyébként átlép. a feltétel akkor nt a = 6; nt b = 5; f (a>b) Console.WrteLne("Az a nagyobb: "+a);
RészletesebbenEgyszerű algoritmusok
Egyszerű algortmusok Tartalomjegyzék Összegzés...2 Maxmum kválasztás...3 Mnmum kválasztás...4 Megszámlálás...5 Eldöntés...6 Eldöntés - wle...8 Lneárs keresés...10 Készítette: Gál Tamás Creatve Commons
RészletesebbenSugárszivattyú H 1. h 3. sugárszivattyú. Q 3 h 2. A sugárszivattyú hatásfoka a hasznos és a bevezetett hidraulikai teljesítmény hányadosa..
Suárszivattyú suárszivattyúk működési elve ey nay eneriájú rimer folyadéksuár és ey kis eneriájú szekunder folyadéksuár imulzusseréje az ún. keverőtérben. rimer és szekunderköze lehet azonos vay eltérő
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
Részletesebben7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.
7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,
RészletesebbenDr. Mileff Péter
Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé
RészletesebbenAdminisztrációs feladatok Strukturált programok A C programnyelv elemei
Strukturált C-Strukturált Egyéb elemek Strukturált C-Strukturált Egyéb elemek Adminisztrációs feladatok Strukturált programok A C programnyelv elemei A programozás alapjai. álózati Rendszerek és Szolgáltatások
RészletesebbenBékefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció
Közlekedés létesítmények élettartamra vonatkozó hatékonyság vzsgálat módszerenek fejlesztése PhD Dsszertácó Budapest, 2006 Alulírott kjelentem, hogy ezt a doktor értekezést magam készítettem, és abban
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenOperációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
RészletesebbenSzámítógép-architektúrák II.
Várady Géza Számítógép-archtektúrák II. Pécs 2015 A tananyag a azonosító számú, A gépészet és nformatka ágazatok duáls és modulárs képzésenek kalakítása a Pécs Tudományegyetemen című projekt keretében
RészletesebbenA függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
RészletesebbenProgramozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása
Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható
RészletesebbenSzekvencia diagram. Szekvencia diagram Dr. Mileff Péter
Dr. Mileff Péter 1 2 Szekvencia diagram Feladata:objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengelyt képvisel.
RészletesebbenOAF Gregorics Tibor: Minta dokumentáció a 4. házi feladathoz 1. Feladat. Megoldás
OAF Gregorcs Tbor: Mnta dokumentácó a 4. ház feladathoz 1. Feladat Adott egy szöveges fájlbel szöveg, ahol a szavakat szóközök, tabulátor-jelek, sorvége-jelek lletve a fájlvége-jel határolja. Melyk a leghosszabb
Részletesebbenend function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..
A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenNEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere
Szekvenciális programok kategóriái strukturálatlan strukturált NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE Hoare-Dijkstra-Gries módszere determinisztikus valódi korai nem-determinisztikus általános fejlett
Részletesebben2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)
A Név: l 2017.04.06 Neptun kód: Gyakorlat vezet : HG BP l 1. Az A vektor tartalmát az alábbi KUPACOL eljárással rendezzük át maximum kupaccá. A={28, 87, 96, 65, 55, 32, 51, 69} Mi lesz az értéke az A vektor
RészletesebbenAmortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
Részletesebben5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
RészletesebbenDr. Jelasity Márk Mesterséges Intelligencia I. (I602, IB602)
Dr. Jelasty Márk Mesterséges ntellgenca. (602, B602) kurzus nyolcadk előadásának jegyzete (2008. október 20-a) Készítette: Bóna Bence BOBNAAT.SZE NF-MAT V. Bayes-áló Ebben a részben egy szsztematkus módszert
RészletesebbenÜzemeltetési kézikönyv
Vízűtéses rendszerű tokozott vízűtő berendezések EWWP045KAW1M EWWP055KAW1M EWWP065KAW1M ECB1MUW ECB2MUW ECB3MUW EWWP045KAW1M EWWP055KAW1M EWWP065KAW1M ECB1MUW ECB2MUW ECB3MUW Vízűtéses rendszerű tokozott
Részletesebben8. Programozási tételek felsoroló típusokra
8. Programozás tételek felsoroló típusokra Ha egy adatot elem értékek csoportja reprezentál, akkor az adat feldolgozása ezen értékek feldolgozásából áll. Az lyen adat típusának lényeges jellemzője, hogy
RészletesebbenAlgoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával
Algoritmusok Algoritmus fogalma Mi az algoritmus? Egy adott probléma megoldásának leírása elemi lépések sorozatával HF: Al Khwarizmi Követelmények Véges: nem állhat végtelen sok lépésből Teljes: teljes
RészletesebbenStatisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás.
Statsztka próbák Paraméteres. A populácó paraméteret becsüljük, ezekkel számolunk.. Az alapsokaság eloszlására van kkötés. Nem paraméteres Nncs lyen becslés Nncs kkötés Ugyanazon problémára sokszor megvan
RészletesebbenProgramozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)
Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
RészletesebbenMutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában
Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény
Részletesebben11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.
11. gyakorlat Sturktúrák használata I. Új típus új műveletekkel 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi. typedef struct datum { int ev; int ho; int nap;
Részletesebben4 2 lapultsági együttható =
Leíró statsztka Egy kísérlet végeztével általában tetemes mennységű adat szokott összegyűln. Állandó probléma, hogy mt s kezdjünk - lletve mt tudunk kezden az adatokkal. A statsztka ebben segít mnket.
RészletesebbenDie Sensation in der Damenhygiene Hasznos információk a tamponokról www.123goodbye.com
nokról tampo a k ácó form n s no Hasz Mért használnak tamponokat? A tampon szó francául és a szó szernt fordításban dugó. Már a szó s sokat mond. A tamponok körülbelül öt centméteres rudak, amely közel
RészletesebbenAlgoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
RészletesebbenKinematika 2016. február 12.
Kinematika 2016. február 12. Kinematika feladatokat oldunk me, szamárháromszö helyett füvényvizsálattal. A szamárháromszöel az a baj, hoy a feladat meértése helyett valami szabály formális használatára
RészletesebbenI. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis
I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,
RészletesebbenPhilosophiae Doctores. A sorozatban megjelent kötetek listája a kötet végén található
Phlosophae Doctores A sorozatban megjelent kötetek lstája a kötet végén található Benedek Gábor Evolúcós gazdaságok szmulácója AKADÉMIAI KIADÓ, BUDAPEST 3 Kadja az Akadéma Kadó, az 795-ben alapított Magyar
RészletesebbenProgramozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
RészletesebbenTáblázatok fontosabb műveletei 1
Táblázatok fontosabb műveletei 1 - - Soros táblázat procedure BESZÚR1(TÁBLA, újelem) - - beszúrás soros táblázatba - - a táblázatot egy rekordokat tartalmazó dinamikus vektorral reprezentáljuk - - a rekordok
Részletesebben1. MECHANIKA-MECHANIZMUSOK ELŐADÁS (kidolgozta: Szüle Veronika, egy. ts.) 1. Alapfogalmak:
SZÉCHENYI ISTVÁN EGYETEM LKLMZOTT MECHNIK TNSZÉK. MECHNIK-MECHNIZMUSOK ELŐDÁS (kidolozta: Szüle Veronika, ey. ts.). lapfoalmak:.. mechanizmus foalmának bevezetése: modern berendezések, épek jelentős részében
Részletesebbend(f(x), f(y)) q d(x, y), ahol 0 q < 1.
Fxponttétel Már a hétköznap életben s gyakran tapasztaltuk, hogy két pont között a távolságot nem feltétlenül a " kettő között egyenes szakasz hossza" adja Pl két település között a távolságot közlekedés
Részletesebben7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet
7. BINÁRIS FÁK Az előző fejezetekben már találkoztunk bináris fákkal. Ezt a központi fontosságú adatszerkezetet most vezetjük be a saját helyén és az általános fák szerepét szűkítve, csak a bináris fát
RészletesebbenMűszaki folyamatok közgazdasági elemzése. Kevert stratégiák és evolúciós játékok
Műszak folyamatok közgazdaság elemzése Kevert stratégák és evolúcós átékok Fogalmak: Példa: 1 szta stratéga Vegyes stratéga Ha m tszta stratéga létezk és a 1 m annak valószínűsége hogy az - edk átékos
Részletesebben3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai
Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes
Részletesebben1. Holtids folyamatok szabályozása
. oltds folyamatok szabályozása Az rányított folyamatok jelentés részét képezk a lassú folyamatok. Ilyenek például az par környezetben található nagy méret kemencék, desztllácós oszlopok, amelyekben valamlyen
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 7. Gráfalgoritmusok II. 7.1. Feladat: Útcaseprő A város utcáinak takarítását úgy szervezték
Részletesebben... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
Részletesebbenangolul: greedy algorithms, románul: algoritmi greedy
Mohó algoritmusok angolul: greedy algorithms, románul: algoritmi greedy 1. feladat. Gazdaságos telefonhálózat építése Bizonyos városok között lehet direkt telefonkapcsolatot kiépíteni, pl. x és y város
RészletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenAlgoritmizálás és adatmodellezés 2. előadás
Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,
RészletesebbenCölöpcsoport függőleges teherbírásának és süllyedésének számítása
17. számú mérnöki kézikönyv Frissítve: 2016. április Cölöpcsoport füőlees teherbírásának és süllyedésének számítása Proram: Fájl: Cölöpcsoport Demo_manual_17.sp Ennek a mérnöki kézikönyvnek a célja, a
RészletesebbenAlgoritmusok tervezése
Hova fordulhatok segítségért? Az amatrcsillagászat egy szép tevékenység, de gyakran nagyon nehéz is lehet. Ilyenkor jöhet jól a többi amatrcsillagász segítsége. Az amatrök különböz egyesületeket, klubokat,
RészletesebbenA C programozási nyelv II. Utasítások. A függvény.
A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk
RészletesebbenAERMEC hőszivattyú az előremutató fűtési alternatíva
- AERMEC hőszivattyú az előremutató fűtési alternatíva A hőszivattyúk a kifordított hűtőép elvén a környezetből a hőeneriát hasznosítják épületek fűtésére a felhasználó által kifizetett eneriaárra vonatkoztatva
RészletesebbenSzerelési útmutató FKC-1 síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára
Szerelés útmutató FKC- síkkollektor tetőre történő felszerelése Junkers szolár rendszerek számára 604975.00-.SD 6 70649 HU (006/04) SD Tartalomjegyzék Általános..................................................
RészletesebbenEljárások, függvények
Eljárások, függvények Tartalomjegyzék Az alprogramok...2 Kérdések, feladatok...2 Kérdések, feladatok...3 Eljárások...3 Kérdések, feladatok...4 Érték és cím szerinti paraméterátadás...5 Kérdések, feladatok...6
RészletesebbenAdatszerkezetek 7a. Dr. IványiPéter
Adatszerkezetek 7a. Dr. IványiPéter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér () Nincsennek hurkok!!! 2 Bináris fák Azokat a
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenA bankközi jutalék (MIF) elő- és utóélete a bankkártyapiacon. A bankközi jutalék létező és nem létező versenyhatásai a Visa és a Mastercard ügyek
BARA ZOLTÁN A bankköz utalék (MIF) elő- és utóélete a bankkártyapacon. A bankköz utalék létező és nem létező versenyhatása a Vsa és a Mastercard ügyek Absztrakt Az előadás 1 rövden átteknt a két bankkártyatársasággal
RészletesebbenDinamikus programozás vagy Oszd meg, és uralkodj!
Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c
Részletesebben2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
RészletesebbenOptikai elmozdulás érzékelő illesztése STMF4 mikrovezérlőhöz és robot helyzetérzékelése. Szakdolgozat
Mskolc Egyetem Gépészmérnök és Informatka Kar Automatzálás és Infokommunkácós Intézet Tanszék Optka elmozdulás érzékelő llesztése STMF4 mkrovezérlőhöz és robot helyzetérzékelése Szakdolgozat Tervezésvezető:
RészletesebbenAWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
RészletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
RészletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
RészletesebbenFFT =0.. 1! 1 %=0.. 1! 2. Legyen az ú.n. egységgyök a következő definícióval megadva: &# = 3
FFT. oldal A DFT alkalmas valamely időüő jel Fourier transzormáltjának előállítására és íy a spektrum elvételére is. Futási ideje azonban o(n ) ami ien korlátozottá teszi használatát - a spektrum uyanis
RészletesebbenFüggvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
RészletesebbenIntelligens Rendszerek Elmélete
Intellgens Rendszerek Elmélete Dr. Kutor László A mesterséges neuráls hálózatok alapfogalma és meghatározó eleme http://mobl.nk.bmf.hu/tantargyak/re.html Logn név: re jelszó: IRE07 IRE 7/1 Neuráls hálózatok
RészletesebbenProgramozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenBeépítési és kezelési utasítás. Einbau- und Bedienungsanleitung. Einbau- und Bedienungsanleitung F. Einbau- und Bedienungsanleitung
Comfort 250, 252 KapumıködtetŒ rendszer arázsokoz Anriebssystem für Garaen Anriebssystem für Garaen Anriebssystem für Garaen Anriebssystem für Garaen Beépítési és kezelési utasítás Einbau- und Bedienunsanleitun
RészletesebbenPeriodikus figyelésű készletezési modell megoldása általános feltételek mellett
Tanulmánytár Ellátás/elosztás logsztka BME OMIKK LOGISZTIKA 9. k. 4. sz. 2004. júlus augusztus. p. 47 52. Tanulmánytár Ellátás/elosztás logsztka Perodkus fgyelésű készletezés modell megoldása általános
RészletesebbenRendező algoritmusok. Tartalomjegyzék. Készítette: Gál Tamás
Rendező algortmusok Tartalomjegyzék Csere...2 Tömbelemek cseréje...2 Tömbelemek cseréje a a[]>a[+1]...3 n-1 csere, a a[]>a[+1]...4 (n-1)*(n-1) csere, a a[]>a[+1]...5 Buborék rendezés...6 Cserés rendezés...7
RészletesebbenMETROLÓGIA ÉS HIBASZÁMíTÁS
METROLÓGIA ÉS HIBASZÁMíTÁS Metrológa alapfogalmak A metrológa a mérések tudománya, a mérésekkel kapcsolatos smereteket fogja össze. Méréssel egy objektum valamlyen tulajdonságáról számszerű értéket kapunk.
RészletesebbenABB Teach Pendant programozás segédlet
ABB Teach Pendant programozás segédlet Készítette: Gyöngyösi Balázs Kiadja a Robert Bosch Mechatronikai Intézeti Tanszék Miskolc, 2017. Tartalomjegyzék Tartalomjegyzék... 1 1. Teach Pendant és az érintőképernyő
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
RészletesebbenBASH SCRIPT SHELL JEGYZETEK
BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...
RészletesebbenAlgoritmusok és adatszerkezetek I. 1. előadás
Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási
RészletesebbenProgramozás alapjai (ANSI C)
Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu
RészletesebbenVezérlési szerkezetek
Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását
RészletesebbenProgramozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
RészletesebbenGyakorló feladatok Gyakorló feladatok
Gyakorló feladatok előző foglalkozás összefoglalása, gyakorlató feladatok a feltételes elágazásra, a while ciklusra, és sokminden másra amit eddig tanultunk Változók elnevezése a változók nevét a programozó
RészletesebbenKiegészítés a felületi hullámossághoz és a forgácsképződéshez. 1. ábra. ( 2 ) A szögváltozó kifejezése:
Kegészítés a felület hullámossághoz és a forgácsképződéshez Két korább dolgozatunkban [ KD1 ], [ KD2 ] s foglalkoztunk már a fapar forgácsoláselméletben központ szerepet játszó felület hullámosság kalakulásával,
RészletesebbenForráskód formázási szabályok
Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
RészletesebbenPéldák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán):
F NIK INÁRIS RLÁIÓK INÁRIS RLÁIÓK (és hasonló mátrxok s tt!) Defnícó: z R bnárs relácó, ha R {( a, b) a, b } nárs relácók lehetséges tuladonsága:. Reflexív ha ( x,.(a). Szmmetrkus ha ( x, y) ( y,.(b).
Részletesebben2018, Diszkrét matematika
Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes
RészletesebbenBevezetés a kémiai termodinamikába
A Sprnger kadónál megjelenő könyv nem végleges magyar változata (Csak oktatás célú magánhasználatra!) Bevezetés a kéma termodnamkába írta: Kesze Ernő Eötvös Loránd udományegyetem Budapest, 007 Ez az oldal
RészletesebbenAlgoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
Részletesebbenfile./script.sh > Bourne-Again shell script text executable << tartalmat néz >>
I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >
Részletesebben