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

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

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

Informatika terméktervezőknek

Informatika E FAKT , = ±

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

A C# programozási nyelv alapjai

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

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

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

A C# PROGRAMOZÁSI NYELV

Szoftvertervezés és -fejlesztés I.

Webprogramozás szakkör

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

Vezérlési szerkezetek

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

Java programozási nyelv

Szoftvertechnológia alapjai Java előadások

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

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

Óbudai Egyetem. C programozási nyelv

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

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

Programozási nyelvek JAVA EA+GY 1. gyakolat

C programozás. 1 óra Bevezetés

6. fejezet: Ciklusok

Apple Swift kurzus 3. gyakorlat

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

Java II. I A Java programozási nyelv alapelemei

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

Objektumorientált Programozás III.

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

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

Java II. I A Java programozási nyelv alapelemei

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

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

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

A programozás alapjai

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

Mintavételes szabályozás mikrovezérlő segítségével

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

BME MOGI Gépészeti informatika 5.

Vezérlési szerkezetek. Szelekció Ciklusok

Bevezetés a programozásba I.

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

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

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

Szelekció. Döntéshozatal

C# feladatok gyűjteménye

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Operációs rendszerek gyak.

Komputeralgebra Rendszerek

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

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

1. Jelölje meg az összes igaz állítást a következők közül!

Bevezetés a C++ programozási nyelvbe

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Bevezetés a programozásba I.

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

Objektumorientált Programozás II.

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

Programozás I. gyakorlat

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

A JavaScript főbb tulajdonságai

Labor gyakorlat Mikrovezérlők

Programozás C nyelven 5. ELŐADÁS. Sapientia EMTE

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

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

Szkriptnyelvek. 1. UNIX shell

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

BME MOGI Gépészeti informatika 4.

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

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

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Haladó DBMS ismeretek 1

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

Labor gyakorlat Mikrovezérlők

Programozási alapismeretek 2009/2010

BME MOGI Gépészeti informatika 1.

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

Stack Vezérlés szerkezet Adat 2.

INFORMATIKAI ALAPISMERETEK

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

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

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

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

Alkalmazott Modul III 2. előadás. Procedurális programozás: adattípusok, elemi programok

Programok értelmezése

INFORMATIKAI ALAPISMERETEK

Programozás II. ATM példa Dr. Iványi Péter

3. Gyakorlat Ismerkedés a Java nyelvvel

INFORMATIKAI ALAPISMERETEK

Objektumorientált programozás C# nyelven III.

Kiterjesztések sek szemantikája

Átírás:

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

Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más utasítást kell végrehajtania. Logikai feltétel igaz Csinál valamit hamis Nem csinál semmit Logikai feltétel igaz Csinál valamit hamis Mást csinál 2016. 09. 26. Programozás 2. Előadás 2

Vezérlési szerkezetek Elágazás szintaktika if (<log. Kif.>) <utasítás> if (<log.kif.>) <utasítás> else <utasítás> 2016. 09. 26. Programozás 2. Előadás 3

Vezérlési szerkezetek Elágazás int i=1; if (i < 10) i = 10; else i -= 1; int i=1,a; if (i < 10) i = 10; a = 2; else i -= 1; a = 21; 2016. 09. 26. Programozás 2. Előadás 4

Vezérlési szerkezetek Elágazás összetett példa int a,b; bool asiker,bsiker; string s; Console.Write("Kérek egy számot:"); s=console.readline(); asiker = int.tryparse(s, out a); Console.Write("Kérek még egy számot:"); s = Console.ReadLine(); bsiker = int.tryparse(s, out b); 2016. 09. 26. Programozás 2. Előadás 5

Vezérlési szerkezetek Elágazás összetett példa 2 if (asiker && bsiker) if (a > b) Console.WriteLine("a nagyobb"); else if (b>a) Console.WriteLine("b nagyobb"); else Console.WriteLine("a két szám egyenlő"); else Console.WriteLine("nem megfelelő a bemenet"); 2016. 09. 26. Programozás 2. Előadás 6

Értékkereső elágazás switch A feladat ebben az esetben megvizsgálni egy kifejezés értékét, és annak megfelelően különböző utasításokat végrehajtani. A switch utasítás egy kifejezést vizsgál, majd több esetre (case) ad vizsgálati lehetőséget. Lehetőség van egy ún. default ág definiálására, amely akkor hajtódik végre, amennyiben egyik addigi érték sem egyezett Vizsgálandó érték const1 == Utasítások 1!= const1 == Utasítások 2!= constn == Utasítások n!= default utasítások 2016. 09. 26. Programozás 3. Előadás 7

Értékkereső elágazás switch Minden case labelhez tartozik egy konstans érték Ezt követhetnek utasítások Az utasításokat minden esetben le kell zárni egy break; paranccsal, így a különböző ágak nem folytatódhatnak egymásban (kivéve üres case label) int caseswitch = 1; switch (caseswitch) case 0: case 1: Console.WriteLine("Case 0 or 1"); break; case 2: Console.WriteLine("Case 2"); break; default: Console.WriteLine("Default case"); break; 2016. 09. 26. Programozás 3. Előadás 8

Ciklusok Amikor egy adott utasítássorozatot egymás után többször kell végrehajtanunk, akkor ciklust használunk. A C# négyféle ciklust biztosít számunkra. (Ebből most hármat tanulunk) 2016. 09. 26. Programozás 3. Előadás 9

A while ciklus Elöl tesztelő ciklus Először kielemzi a bennmaradási feltételt, majd annak függvényében végrehajtja az utasítást. Ezt addig folytatja, míg a logikai kifejezés false nem lesz. A while ciklushoz egy utasítás tartozik! Logikai feltétel igaz Utasítás hamis while(<logikai kifejezés>) utasítás; 2016. 09. 26. Programozás 3. Előadás 10

while példa int c = 0; while (++c < 10) Console.Write("0 ", c); Eredmény: 1 2 3 4 5 6 7 8 9 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 11

További ciklusvezérlés break, continue A ciklusok működését befolyásolhatjuk a break és a continue utasításokkal A break azonnal kilép a ciklusból A continue visszaugrik a ciklus elejére (a bennmaradási feltétel elé) continue; log kif igaz?? utasítás; hamis break; 2016. 09. 26. Programozás 3. Előadás 12

continue példa int c = 0; while (++c < 10) if (c == 3) continue; Console.Write("0 ", c); Eredmény: 1 2 4 5 6 7 8 9 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 13

break példa int c = 0; while (++c < 10) if (c == 3) continue; if (c == 6) break; Console.Write("0 ", c); Eredmény: 1 2 4 5 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 14

A do-while ciklus Hátul tesztelő ciklus Végrehajt egy meghatározott utasítás sorozatot, majd kielemzi a bennmaradási feltételt, majd annak függvényében végrehajtja az utasítást. Ezt addig folytatja, míg a logikai kifejezés false nem lesz. do utasítás; while(<logikai kifejezés>); igaz Utasítás Logikai feltétel hamis 2016. 09. 26. Programozás 3. Előadás 15

do while példa int c = 0; do Console.Write("0 ", ++c); while (c < 10); Eredmény: 1 2 3 4 5 6 7 8 9 10 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 16

A for ciklus A for ciklust jellemzően számlálót alkalmazó ciklusként alkalmazzuk, for (ini ; felt ; lépt) utasítás; ugyanaz, mint: ini; while (felt) utasítás; lépt; hamis Inicializálás feltétel igaz utasítás léptetés 2016. 09. 26. Programozás 3. Előadás 17

for példa char c; for (c='a';c<='z';c++) Console.Write(c); Eredmény: abcdefghijklmnopqrstuvwxyz 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 18

Összetett példa Faktoriális int i, szam, fakt; bool sikeres; string s; do Console.Write("Adj meg egy számot:"); s = Console.ReadLine(); sikeres = int.tryparse(s, out szam); while (!sikeres); fakt = 1; for (i = 2; i<=szam ; i++) fakt = fakt * i; //fakt*=i; Console.WriteLine("0!=1", szam, fakt); 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 19

Ciklusok egymásba ágyazása int i,j,k=7; for (i = 1; i < k ; i++) for (j = 1; j < k; j++) Console.Write("0,4", i*j); Console.WriteLine(); Console.ReadLine(); Eredmény: 1 2 3 4 5 6 2 4 6 8 10 12 3 6 9 12 15 18 4 8 12 16 20 24 5 10 15 20 25 30 6 12 18 24 30 36 2016. 09. 26. Dr. Bécsi Tamás: Járműfedélzeti rendszerek II. 20