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

A C# programozási nyelv alapjai

Java programozási nyelv

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

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

Óbudai Egyetem. C programozási nyelv

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

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

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

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

Vezérlési szerkezetek. Szelekció Ciklusok

Apple Swift kurzus 3. gyakorlat

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

Szoftvertervezés és -fejlesztés I.

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

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

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

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

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

Objektumorientált Programozás III.

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

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

6. fejezet: Ciklusok

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

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

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

Az entrópia statisztikus értelmezése

Algoritmusok, adatszerkezetek I.

Informatika terméktervezőknek

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

Algoritmusok tervezése

4 2 lapultsági együttható =

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

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

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

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

A JavaScript főbb tulajdonságai

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

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

Vezérlési szerkezetek

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

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

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

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

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

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

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

Programozási nyelvek JAVA EA+GY 1. gyakolat

1. Alapok. #!/bin/bash

Haladó DBMS ismeretek 1

Kezdő programozók hibái

A struktúrált programozás

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

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

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:

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

Pénzügyi algoritmusok

GYAKORLATIAS JAVA MINTA

Bevezetés a programozásba I.

A programozási nyelvek elemei

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

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

Dinamikus programozás

Bevezetés a programozásba I.

Szkriptnyelvek. 1. UNIX shell

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

Imperatív programozás

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Dinamikus programozás

A C# szintaktikája. a C programozási nyelv szintaxisát veszi alapul, ez három fontos szabályt von maga után:

A programozás alapjai

Programozás I. gyakorlat

Az elektromos kölcsönhatás

Internet technológiák

PASzSz. Dr. Kotsis Domokos

Occam 1. Készítette: Szabó Éva

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

Programozási nyelvek I. (Az Ada) Kozsik Tamás

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

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Forráskód formázási szabályok

Átírás:

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); - 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 C# és Java kód 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 Vezérlés szerkezetek 2

Vezérlés szerkezetek 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); Vezérlés szerkezetek 3

Vezérlés szerkezetek 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) Vezérlés szerkezetek 4

Vezérlés szerkezetek 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) Vezérlés szerkezetek 5

Vezérlés szerkezetek 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 2. 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 n. blokk C# kód Utasítás 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 break nélkül 1. blokk 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 Vezérlés szerkezetek 6

Vezérlés szerkezetek 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. Vezérlés szerkezetek 7

Vezérlés szerkezetek 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 cklusmag nt = 1; wle (<10) Console.WrteLne(); ++; - Console.WrteLne elyett System.out.prntln 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; Vezérlés szerkezetek 8

Vezérlés szerkezetek 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); cklusmag nt = 1; do Console.WrteLne(); ++; wle (<10); - Console.WrteLne elyett System.out.prntln 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; Vezérlés szerkezetek 9

Vezérlés szerkezetek 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. Kezdőérték beáll. cklus n-től m-g lefelé egyesével cklusmag a cklus vége For cklus C# és Java formája: 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 Vezérlés szerkezetek 10

Vezérlés szerkezetek 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(); program ForNovel; var : nteger; begn for :=9 downto 0 do begn wrteln(); Vezérlés szerkezetek 11