Vezérlési szerkezetek

Hasonló dokumentumok
Vezérlési szerkezetek

Egyszerű algoritmusok

Másolásra épülő algoritmusok

Rendező algoritmusok. Tartalomjegyzék. Készítette: Gál Tamás

Vezérlési szerkezetek

Java programozási nyelv

A C# programozási nyelv alapjai

Nézzük tovább a lexikai egységeket!

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

Webprogramozás szakkör

Szelekció. Döntéshozatal

Internet programozása. 3. előadás

A C# PROGRAMOZÁSI NYELV

A C programozási nyelv II. Utasítások. A függvény.

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

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

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Apple Swift kurzus 3. gyakorlat

Eljárások, függvények

Óbudai Egyetem. C programozási nyelv

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Vezérlési szerkezetek. Szelekció Ciklusok

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

8. Programozási tételek felsoroló típusokra

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

Szoftvertervezés és -fejlesztés I.

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

S z á m í t ó g é p e s a l a p i s m e r e t e k

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Az entrópia statisztikus értelmezése

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Algoritmusok és adatszerkezetek I. 10. előadás

Véletlenszám generátorok. 5. előadás

Objektumorientált Programozás III.

6. fejezet: Ciklusok

BASH script programozás II. Vezérlési szerkezetek

Előző óra összefoglalása. Programozás alapjai C nyelv 3. gyakorlat. Karakter típus (char) Karakter konstansok. Karaktersorozatot lezáró nulla

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Algoritmusok, adatszerkezetek I.

Informatika terméktervezőknek

Algoritmusok tervezése

4 2 lapultsági együttható =

Eljárások és függvények

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

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

A JavaScript főbb tulajdonságai

Algoritmizálás + kódolás C++ nyelven és Pascalban

1. Alapok. #!/bin/bash

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

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

Egy negyedrendű rekurzív sorozatcsaládról

AWK programozás, minták, vezérlési szerkezetek

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

Vezérlési szerkezetek

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

A struktúrált programozás

Internet technológiák

Szkriptnyelvek. 1. UNIX shell

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

A mágneses tér energiája, állandó mágnesek, erőhatások, veszteségek

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Kezdő programozók hibái Azok a buktatók, amikről ha nem tudsz, napokat töprenghetsz hiába programozás-tanulás közben

Az elektromos kölcsönhatás

Programozási nyelvek JAVA EA+GY 1. gyakolat

Haladó DBMS ismeretek 1

Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése

Ismételt játékok: véges és végtelenszer. Kovács Norbert SZE GT. Példa. Kiindulás: Cournot-duopólium játék Inverz keresleti görbe: P=150-Q, ahol

Kezdő programozók hibái

Komputeralgebra Rendszerek

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Ezt hogy lehet lekódolni? Vagy valami trükközéssel, de van általános szabály is. Nézzük a trükközést:

C# gyorstalpaló. Készítette: Major Péter

AWK programozás, minták, vezérlési szerkezetek

2.3. A C nyelv utasításai

GYAKORLATIAS JAVA MINTA

Pénzügyi algoritmusok

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Bevezetés a programozásba I.

Műszaki folyamatok közgazdasági elemzése Előadásvázlat november 06. A közgazdaságtan játékelméleti megközelítései

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

/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

A programozási nyelvek elemei

Kivételek, kivételkezelés a C++ nyelvben

Dinamikus programozás. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Bevezetés a programozásba I.

Kapcsolja össze háztartási készülékét a jövővel. Quick Start Guide

Szoftvertechnológia alapjai Java előadások

C programozás. 1 óra Bevezetés

,...,q 3N és 3N impulzuskoordinátával: p 1,

vállalatok esetén Technológia és költségek, Árdiszkrimináció és monopólium: A vállalati árbevétel megoszlása Számviteli költségek + számviteli profit

Átírás:

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 cklus..9 Növekményes cklus10 Készítette: Gál Tamás Creatve Commons -Nevezd meg!-ne add el!-így add tovább! 2.5 Magyarország lcenc alatt asználató GT Vezérlés szerkezetek 1

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); - Console.WrteLne elyett System.out.prntln program Elagazas; var a, b: nteger; begn a := 6; b := 5; f (a>b) ten wrteln('az a nagyobb: ',a); Elágazás blokkal Ha a feltétel teljesülésekor több t kívánunk végreajtan, akkor zárójeleket asználunk. (C alapú és Java nyelveknél '' Pascal nyelvben 'begn end') a feltétel akkor a vége nt a = 6; nt b = 5; f (a>b) Console.Wrte("Az a nagyobb: "); Console.WrteLne(a); - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln GT Vezérlés szerkezetek 2

program Elagazas; var a, b: nteger; begn a := 6; b := 5; f (a>b) ten begn wrte('az a nagyobb: '); wrteln(a); Elágazás else ággal Ha a feltétel teljesül, akkor az gaz ágon találató t ajtja végre a program, egyébként az else után állót. a feltétel akkor 1. egyébként 2. nt a = 6; nt b = 5; f (a>b) Console.WrteLne("Az a nagyobb: "+a); else Console.WrteLne("Az a nem nagyobb: "+a); 1. 2. - Console.WrteLne elyett System.out.prntln program Elagazas; var a, b: nteger; begn a := 6; b := 5; f (a>b) ten wrteln('az a nagyobb: ',a) else wrteln('az a nem nagyobb: ',a); GT Vezérlés szerkezetek 3

Elágazás else ággal blokkal Ha a feltétel teljesül, akkor az gaz ágon találató okat ajtja végre a program, egyébként az else után állókat. Több esetén zárójeleket asználunk. (C alapú és Java nyelveknél '' Pascal nyelvben 'begn end') a feltétel akkor egyébként a vége nt a = 6; nt b = 5; f (a>b) Console.Wrte("Az a nagyobb: "); Console.WrteLne(a); else Console.Wrte("A b nagyobb vagy egyenlő:"); Console.WrteLne(b); - Console.WrteLne elyett System.out.prntln program Elagazas; var a, b: nteger; begn a := 6; b := 5; f (a>b) ten begn wrte('az a nagyobb: '); wrteln(a); end else begn wrte('a b nagyobb vagy egyenlő: '); wrteln(b) GT Vezérlés szerkezetek 4

Egymásba ágyazott elágazások Egy elágazás akár gaz, akár ams ágába egyaránt tovább elágazás llesztető. a feltétel akkor egyébként a feltétel akkor egyébként a vége a vége nt a = 6; nt b = 5; f (a==b) Console.Wrte("Egyenlő: "); Console.WrteLne(a); else f (a>b) Console.Wrte("a nagyobb:"); Console.WrteLne(a); else Console.Wrte("b nagyobb:"); Console.WrteLne(b); - Console.WrteLne elyett System.out.prntln program Elagazas; var a, b: nteger; begn a := 6; b := 5; f (a=b) ten begn wrte('egyenlő: '); wrteln(a); end else begn f a>b ten begn wrte('a nagyobb: '); wrteln(a) end else begn wrte('b nagyobb: '); wrteln(b) GT Vezérlés szerkezetek 5

Többrányú elágazás Többrányú más néven összetett elágazás több végreajtás ággal rendelkezk, és egyetlen kfejezés kerül kértékelésre, melynek eredménye alapján kerül az egyes ágakra a vezérlés. A kértékelendő kfejezés értéke csak megszámlálató típusú leet. kfejezés 1. blokk Többágú elágazás feltétel_1 esetén ok_1 feltétel_n esetén ok_n egyéb esetén ok_m Elágazás vége C# kód Utasítás blokk 2. blokk n. blokk nt szam = 3; swtc(szam) case 1 : Console.WrteLne("Egy"); break; case 2 : Console.WrteLne("Kettő"); break; case 3 : Console.WrteLne("Három"); break; default : Console.WrteLne("Sok"); break; A C# nyelvben mnden elágazáságat, még a default ágat s, kötelező valamlyen vezérlés átadással befejezn! (break, goto, return) Java kód nt szam = 3; swtc(szam) case 1 : System.out.prntln("Egy"); break; case 2 : System.out.prntln("Kettő"); break; case 3 : System.out.prntln("Három"); break; default : System.out.prntln("Sok"); kfejezés 1. blokk break nélkül 2. blokk A Java nyelvben nem kötelező mnden elágazáságat vezérlés átadással befejezn! nt szam = 1; swtc(szam) case 1 : System.out.prntln("Egy"); szam++; case 2 : System.out.prntln("Kettő"); szam++; case 3 : System.out.prntln("Három"); szam++; default : System.out.prntln("Sok"); Utasítás blokk n. blokk GT Vezérlés szerkezetek 6

Pascal kód Összetett elágazás Pascal formája: Case kfejezés of értékllsta_1: _1; értéklsta_n: _n; else _m; End; program Tobbranyu; var : nteger; begn := 1; Case of 1: Wrteln('Egy'); 2: Wrteln('Kettő'); 3: Wrteln('Három'); else Wrteln('Sok'); Ha valamely ágon több t kívánunk végreajtan, akkor Pascal nyelvben kötelező a Begn páros. kfejezés 1. 2. n. GT Vezérlés szerkezetek 7

Elöltesztelős cklus Az elöltesztelős cklus először megvzsgálja, ogy a feltétel teljesül-e. Ha gen, akkor végreajtja a cklusmagot, majd a folyamat az újból kezdődk. Ha nem, akkor a program a cklus után ponton folytatódk tovább, azaz a cklusmag kmarad. Ha a feltétel már első alkalommal sem teljesül, akkor a cklusmag egyszer sem lesz végreajtva. cklus amíg feltétel cklusmag a cklus vége Előltesztelős cklus C# és Java formája: wle (feltétel) cklusmag nt = 1; wle (<10) Console.WrteLne(); ++; - Console.WrteLne elyett System.out.prntln cklusmag Előltesztelős cklus Pascal formája: wle feltétel do begn cklusmag program ElolTesztel; var : nteger; begn := 1; wle <10 do begn wrteln(); :=+1; GT Vezérlés szerkezetek 8

Hátultesztelős cklus A átultesztelős cklus először végreajtja a cklusmagot utána megvzsgálja, ogy a feltétel teljesül-e. Java és C alapú nyelvek esetén a a feltétel gaz, akkor a cklus végreajtása folytatódk, ellenkező esetben pedg leáll. Pascal nyelv esetén a a feltétel ams, a cklus végreajtása folytatódk, ellenkező esetben pedg leáll. A átultesztelős cklusban Java és C alapú nyelvek esetén a folytatás, a Pascal nyelv esetén a klépés feltételét kell megadn! A átultesztelős cklus cklusmagja egyszer mndenképpen végreajtásra kerül. cklus cklusmag a amíg feltétel Hátultesztelős cklus C# és Java formája: do cklusmag wle (smétlés feltétele); nt = 1; do Console.WrteLne(); ++; wle (<10); - Console.WrteLne elyett System.out.prntln cklusmag Hátultesztelő cklus Pascal formája: repeat cklusmag untl (klépés feltétele); program ElolTesztel; var : nteger; begn := 1; repeat wrteln(); :=+1; untl =10; GT Vezérlés szerkezetek 9

Növekményes cklus Az smétlések száma előre smert. A cklus a cklusváltozó előre megadott értékétől, előre megadott értékg fut. A cklusváltozó egész típusú. cklus n-től m-g cklusmag a cklus vége Ha a cklusváltozó nem egyesével növekszk, akkor megadjuk a számlálás rányát és lépésközét s. cklus n-től m-g lefelé egyesével cklusmag a cklus vége For cklus C# és Java formája: Kezdőérték beáll. feltétel cklusmag for (1; feltétel; 2) // Cklusmag Ckl. v. növelése 1: cklusváltozó deklarálása feltétel: amíg a feltétel gaz addg fut a cklus 2: cklusváltozó növelése/csökkentése Mndaddg amíg a feltétel teljesül a feltételvzsgálatot követően megtörténk a cklusmag végreajtása, majd a cklusváltozó csökkentése és smét kezdődk előröl. Ha a feltétel nem teljesül, akkor cklust követő sal folytatódk a program végreajtása. for (nt =0;<10;++) Console.WrteLne(); ; for (nt =9;>=0;--) Console.WrteLne(); ; - Console.WrteLne elyett System.out.prntln GT Vezérlés szerkezetek 10

For cklus Pascal formája: for cklusváltozó := kfejezés1 to kfejezés2 do ; kfejezés1: cklusváltozó kezdőértéke kfejezés2: cklusváltozó végértéke : az smételn kívánt (cklusmag) Ha több t szeretnénk smételtetn, akkor a do után begn és end páros között soroljuk fel őket. (Utasításblokk.) Működés: A cklusváltozó felvesz először a kfejezés1 értékét. Ha a cklusváltozó nagyobb mnt a végérték, akkor a program végreajtja az cklusmagot, majd a cklusváltozó növekszk eggyel és smét megtörténk az összeasonlítás. Mndaddg smétlődk az összeasonlítás, cklusmag végreajtása és a cklusváltozó növelése, amíg a cklusváltozó értéke nem lesz nagyobb a végértéknél. Ekkor a cklust követő sal folytatódk a program végreajtása. program ForNovel; var : nteger; begn for :=0 to 9 do begn wrteln(); Kezdőérték beáll. program ForNovel; var : nteger; begn for :=9 downto 0 do begn wrteln(); Végérték < Ckl. v. cklusmag Ckl. v. növelése GT Vezérlés szerkezetek 11