Algoritmusok tervezése

Hasonló dokumentumok
Algoritmusok tervezése

Szimmetria aszimmetria a tudományban

Java programozási nyelv

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Programozás alapjai 1.Gy: Algoritmizálás P R O

Programozás alapjai (ANSI C)

TestLine - bh-web Minta feladatsor

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Ismétlés nélküli kombináció

Kölcsönhatás diagramok

Az informatika kulcsfogalmai

Érdekes informatika feladatok

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Rendszer szekvencia diagram

KÖNYVTÁRRENDSZER. Igen

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

KAPCSOLÁSI RAJZ KIDOLGOZÁSA

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

Programozási nyelvek 4. előadás


egy szisztolikus példa

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

Témakörök. Struktúrált fejlesztés. Elınyök (SA) Structured Analysis (SA) Hátrányok (SA) Alapfogalmak (SA)

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

Algoritmusok, adatszerkezetek, objektumok

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

Webprogramozás szakkör

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Követelmény a 7. évfolyamon félévkor matematikából

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Függvény fogalma, jelölések 15

Irányítástechnika Elıadás. PLC-k programozása

Nagy HF u tmutato 2011/2012 II. fe le v

Az algoritmusok alapelemei

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

AZ ALGORITMUS. az eredményt szolgáltatja

Témakörök. Structured Analysis (SA) Előnyök (SA) (SA/SD) Jackson Structured Programming (JSP) Szoftvertechnológia

A VIZSGA LEÍRÁSA KÖZÉPSZINT VIZSGA. Írásbeli vizsga

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 15. Széchenyi István Egyetem, Gy r

Vezérlési szerkezetek

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

4. Lecke. Körök és szabályos sokszögek rajzolása. 4.Lecke / 1.

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK

Bevezetés az informatikába

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Társadalmi és gazdasági hálózatok modellezése

SSL elemei. Az SSL illeszkedése az internet protokoll-architektúrájába

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

y ij = µ + α i + e ij

Információtartalom vázlata

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Követelmény a 6. évfolyamon félévkor matematikából

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Követelmény az 5. évfolyamon félévkor matematikából

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Nemlineáris optimalizálási problémák párhuzamos megoldása grafikus processzorok felhasználásával

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

TANMENET. Matematika

Bevezetés a programozásba I.

MATEMATIKA TANMENET. 9. osztály. 4 óra/hét. Budapest, szeptember

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Dr. Gyurcsek István. Példafeladatok. Helygörbék Bode-diagramok HELYGÖRBÉK, BODE-DIAGRAMOK DR. GYURCSEK ISTVÁN

Tehetséggondozó program felvételi mintafeladatok Matematika. 4x 3 y + 4xy 3 x 4 y 4.

A Jövő Internet elméleti alapjai. Vaszil György Debreceni Egyetem, Informatikai Kar

Programozási nyelvek 3. előadás

Adatszerkezetek és algoritmusok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Függvények Függvények

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Visszalépéses keresés

Bevezetés a programozásba I.

1. A komplex számok ábrázolása

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

GÁZTURBINÁK ÜZEME ÉS KARBANTARTÁSA. Gőz Gázturbinák Gyakorlati Alkalmazásai

A C# programozási nyelv alapjai

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Gibbs-jelenség viselkedésének vizsgálata egyszer négyszögjel esetén

Grafikai lehetőségek

Informatika óravázlat 4. osztály oldal 15

Chomsky-féle hierarchia

A rész (30 pont) A.1. Vajon mit csinál? (5 pont) A generál(n) algoritmus egy n természetes számot dolgoz fel (0 < n < 100).

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Programozási nyelvek 6. előadás

ELŐADÁS ÁTTEKINTÉSE. Tevékenységek tervezése Gantt diagramm

Néhány fontosabb folytonosidejű jel

Az adatbázis-alapú rendszerek tervezésének alapvető része az adatok modellezése. Ez legtöbbször két fázisban zajlik:

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

ELEKTRONIKAI ALAPISMERETEK

Közönséges differenciál egyenletek megoldása numerikus módszerekkel: egylépéses numerikus eljárások

Osztályozóvizsga követelményei

Átírás:

Az ember legfontosabb energiaforrására a cukorra is ugyanez érvényes, csak fordítva, hiszen az él szervezet csak jobbra forgató cukrokat gyárt és képes felhasználni, míg a balra forgatók az él szervezetben nem hasznosulnak. Valószín9 ezzel magyarázható, hogy a DNS molekulák csak egyféle, jobbcsavaros hélixet képeznek (3. ábra). Létezik-e mélyebb kapcsolat az él szervezetek és a részecskék szimmetriatulajdonsága közt, vagyis a neutrínóaminosav, antineutrínó-cukor párok viselkedése mögött nem húzódik-e meg egy általános érvény9 törvényszer9ség? Talán érdekes kérdésfeltevés lehet a szaktudósok 3. ábra számára, de az is lehet, hogy puszta véletlen a hasonló viselkedés. Talán önkéntelenül is megfogalmazódik bennünk a kérdés, hogy miért csak közelítleg szimmetrikus a természet? A válasz ma még nem ismeretes, de mivel bevezetnek Feynman nyilatkozatát választottam, ezért zárszóként is t idézem: A természeti törvények csak közelíten szimmetrikusak, nehogy féltékenyek legyünk a természet tökéletességére! (Feynman: Mai fizika) Borbély Éva Algoritmusok tervezése II. rész Algoritmusok, programok leírására, tervezésére a következ grafikus vagy szöveges ábrázolási módokat szokás használni: folyamatábrák struktogramok (box diagram, Chapin chart, Nassi-Shneiderman chart, program struktúra diagram) pszeudokód Warnier-Orr-diagram Jackson-diagram A cikk második részében a Warnier-Orr, valamint a Jackson-diagramokat mutatjuk be. Warnier-Orr-diagram A Warnier-Orr-diagramok elegánsan és egyszer9en ábrázolják a komplex számítási folyamatokat, algoritmusokat. A diagramok nyolc egymáshoz hasonló elembl, blokkból épülnek fel, ezek a következk: Hierarchia, struktúra 2005-2006/4 141

Begin-End blokkok Szekvencia Ismétlés, jelölése: (szám), vagy (k, v), szám-szor, vagy k-tól, v-ig ismétli Rekurzió Párhuzamosság, logikai és, jelölése: +, vagy AND Elágazás, választás, logikai vagy, jelölése:, vagy OR Komplementer-képzés, logikai tagadás, jelölése: entitás Hierarchia (az egész három részbl áll) Begin-End blokk Szekvencia (elször az A, azután a B, majd a C) Ismétlés (5-ször végrehajtja az A részfeladatot, azután 50-tl 100-ig a B részfeladatot, azután pedig i-tl j-ig a C részfeladatot) Rekurzió Párhuzamosság (az A, B és C részfeladatok párhuzamosan hajtódnak végre) 142 2005-2006/4

Elágazás (választani lehet A, B és C közül) Tagadás (az állítás lehet érvényes vagy nem érvényes) Példa: A alábbi Warnier-Orr-diagram egy vendég fogadását ábrázolja otthonunkban. Jackson-diagram A Jackson-diagram a procedurális absztrahálás logikai szerkezetének ábrázolására, könny9 áttekintésére, elemzésére kialakult technika. A programozási feladatok nagy része részfeladatokra bontható. A részfeladatoktól függen a felosztás lehet: minden részfeladat független a többitl és önmagában is egy feladatot képez (pl.: írjunk egy olyan programot, amely 10 adott fraktálfüggvény esetén megrajzolja a fraktál képét a képernyn) a részfeladatok függetlenek, de a megoldásuk kombinációjából alakul ki a feladat megoldása (pl.: írjunk egy olyan rajzolóprogramot, amely rendelkezik a következ rajzoló funkciókkal: vonalrajzolás, téglalaprajzolás, ellipszisrajzolás, satírozott téglalap, satírozott ellipszis rajzolása, adott kerület9 sokszög kitöltése stb.) létezik néhány alaprészfeladat, ezekre épül egy néhány komplexebb részfeladat és így tovább (pl.: objektumhierarchia tervezése) Absztrahálás esetén különböz részfeladatokra egy közös megoldást próbálunk keresni. 2005-2006/4 143

Procedurális absztrahálás A Jackson-diagram (Michael Jackson nem az énekes) által megalkotott egyszer9 ábrázolásmód, nyilakat, téglalapokat és a téglalapokban bizonyos szimbólumokat használ az algoritmus leírására. A szimbólumok a következk (ezeket a téglalapok jobb-fels sarkába kell rajzolni): *: iteráció, ciklus o: elágazás, választási lehetség (o option) -: null-komponens (pl. egy if-then-else típusú elágazásnál, ha nincs else-ág) A téglalapokba kerülnek az akciók és az entitások. Az entitásokat a rendszer m9ködteti, az akciókat pedig az entitások és ezek más entitásokat érinthetnek. Az akciók és az entitások hierarchiába szervezhetk, így alakulnak ki a struktúrák vagy szekvenciák. Akció és Entitás Entitás és akció hierarchia: szekvencia, struktúra Null-komponens Elágazás, választás Ciklus, iteráció Példa: Rajzoljuk fel egy karaktersorozat nagybet9ssé alakításának függvényét Jackson-diagram segítségével. A karaktersorozat C-típusú null-terminál karaktersorozat. Egy ciklussal bejárjuk a karaktersorozatot (a 0 indextl null -ig). Ha a karaktersorozat 144 2005-2006/4

aktuális karaktere kisbet9 (a..z), akkor nagybet9ssé alakítjuk (kivonjuk a kis a bet9 kódját és hozzáadjuk a nagy A bet9 kódját), ha nem kisbet9, akkor továbblépünk. Számos olyan automatikus segédeszköz, alkalmazás létezik, amelyek megkönnyítik a cikkünkben bemutatott diagramok rajzolását. Némelyek képesek arra is, hogy a megrajzolt diagram alapján az algoritmust programmá alakítsák, automatikusan kódot generáljanak pl. Pascal vagy C nyelvre. Egy ilyen alkalmazás pl. a B-liner 2002, amely elérhet a www.varatek.com honlapon. Kovács Lehel 2005-2006/4 145