• Nem Talált Eredményt

Algoritmusok tervezése

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Algoritmusok tervezése "

Copied!
5
0
0

Teljes szövegt

(1)

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 moleku- lá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 szimmetriatu- lajdonsága közt, vagyis a neutrínó- aminosav, antineutrínó-cukor párok visel- kedé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 számára, de az is lehet, hogy puszta véletlen a hasonló viselkedés.

3. ábra

Talán önkéntelenül is megfogalmazódik bennünk a kérdés, hogy miért csak közelí- t leg szimmetrikus a természet? A válasz ma még nem ismeretes, de mivel bevezet nek Feynman nyilatkozatát választottam, ezért zárszóként is t idézem:

„A természeti törvények csak közelít en szimmetrikusak, nehogy féltékenyek le- gyü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, prog- ram 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ó elemb l, blokkból épülnek fel, ezek a kö- vetkez k:

Hierarchia, struktúra

(2)

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észb l áll) Begin-End blokk

Szekvencia (el szö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-t l 100-ig a B részfeladatot, azután

pedig i-t l j-ig a C részfeladatot)

Rekurzió

Párhuzamosság (az A, B és C részfeladatok párhuzamosan hajtódnak végre)

(3)

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 otthonunk- ban.

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ügg en a felosztás lehet:

minden részfeladat független a többit l és önmagában is egy feladatot képez (pl.: írjunk egy olyan programot, amely 10 adott fraktálfüggvény esetén meg- rajzolja a fraktál képét a képerny n)

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övetke- z rajzoló funkciókkal: vonalrajzolás, téglalaprajzolás, ellipszisrajzolás, satírozott téglalap, satírozott ellipszis rajzolása, adott kerület9sokszö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 ke- resni.

(4)

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 hasz- nál az algoritmus leírására.

A szimbólumok a következ k (ezeket a téglalapok jobb-fels sarkába kell rajzolni):

• *: iteráció, ciklus

• o: elágazás, választási lehet sé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 enti- tások hierarchiába szervezhet k, így alakulnak ki a struktúrák vagy szekvenciák.

Akció és Entitás

Entitás és akció hierarchia: szekvencia, struktúra

Elágazás, választás

Ciklus, iteráció

Null-komponens

Példa: Rajzoljuk fel egy karaktersorozat nagybet9ssé alakításának függvényét

(5)

aktuális karaktere kisbet9 (a..z), akkor nagybet9ssé alakítjuk (kivonjuk a kis ’a’ bet9 kódját és hozzáadjuk a nagy ’A’ bet9kó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 megraj- zolt diagram alapján az algoritmust programmá alakítsák, automatikusan kódot generál- janak pl. Pascal vagy C nyelvre.

Egy ilyen alkalmazás pl. a B-liner 2002, amely elérhet awww.varatek.com honlapon.

Kovács Lehel

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Fontos, hogy a futásidőnek az O(1)-el történő jelölése nem azt jelenti, hogy csupán egy lépésből áll az algoritmus, hanem azt, hogy egy

Nézzük meg, hogy a logikai keretmátrix egyes oszlopaiban milyen elemek találhatók, és ezek hogyan kapcsolódnak egymáshoz.. A mátrix meghatározása az első

(2) Ha a Vadász lelőtte a Farkast, akkor a Nagyi pontosan akkor evett epret, ha nem igaz az, hogy Piroska szereti a Farkast vagy a Farkas megeszi a Nagyit.. (c) (1) Hófehérke

Szőcs szerint az eset fogadtatása arra vezethető vissza, hogy míg az amerikai költő jelölése nem foglalkoztatta a hazai sajtót, a visszautasítást botrányként tálalta, noha a

A tartalmi elemzések alapfeltételezése, hogy a mondatok logikai alakját a háttérben, feszes logikai alakban tárolt, és hétköznapi fogalmakat tartalmazó tudásállományhoz

datból a hozzá tartozó logikai formula előállítható, kilátástalanul bonyolult. Ez indokolja egy olyan logikai nyelv szükségességét, amely nemcsak a természetes

úgy a munkaadó bércséplő vottának meg- jelölése, mint annak a körülménynek a feltüntetése is hiányzott hogy a gazdaság vállal—e bércséplést vagy sem.. Ez az oka

Alapvető tehát itt is a minőségi oldalon végzett logikai jellegű felosztás, és a helyes csoportosítás- nak nem a számokból, hanem a statisztikai sokaság képzésénél