Szelekció. Döntéshozatal



Hasonló dokumentumok
A C# programozási nyelv alapjai

Webprogramozás szakkör

Java programozási nyelv

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)

Vezérlési szerkezetek

Szoftvertervezés és -fejlesztés I.

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

Függvények int, long 1. Adott a mellékelt f alprogram.

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

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

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

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

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

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

Bevezetés a programozásba I.

Informatika terméktervezőknek

Objektumorientált Programozás III.

A programozás alapjai

Pénzügyi algoritmusok

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

Vezérlési szerkezetek. Szelekció Ciklusok

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

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

Bevezetés a programozásba I.

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

Java II. I A Java programozási nyelv alapelemei

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

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

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

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

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

3 A C programozási nyelv szintaktikai egységei

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

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Informatika E FAKT , = ±

Python bevezető foglalkozás Python bevezető foglalkozás

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

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

1. Alapok. Programozás II

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

1. Alapok. #!/bin/bash

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

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

Szoftvertechnológia alapjai Java előadások

Komputeralgebra Rendszerek

A fizetendő összegből a 35 év fölötti tulajdonos 20 % kedvezményt kap.

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

C programozás. 1 óra Bevezetés

C programozási nyelv

Programozás I. gyakorlat

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

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Stack Vezérlés szerkezet Adat 2.

2.3. A C nyelv utasításai

Operációs rendszerek gyak.

Imperatív és procedurális programozás a Javában

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

C# feladatgyűjtemény Kovács Emőd, Radványi Tibor, Király Roland, Hernyák Zoltán

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

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

Beregszászi István Programozási példatár

Vezérlési szerkezetek

INFORMATIKA tétel 2019

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

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

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)

Bevezetés a programozásba. 8. Előadás: Függvények 2.

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

Bevezetés a programozásba I.

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ás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

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

Programozási alapismeretek 1. előadás

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

Bevezetés a programozásba. 9. Előadás: Rekordok

Java II. I A Java programozási nyelv alapelemei

B I T M A N B I v: T M A N

Apple Swift kurzus 3. gyakorlat

Matlab alapok. Vektorok. Baran Ágnes

GYAKORLATIAS JAVA MINTA

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

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

Imperatív programozás

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

Óbudai Egyetem. C programozási nyelv

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:

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

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

Bevezetés a programozásba. 6. Előadás: C++ bevezető

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Kezdő programozók hibái

Labor gyakorlat Mikrovezérlők

Vezérlési szerkezetek

/* Az iter függvény meghívása és a visszatérő érték átadása a gyok változóba */ gyok = iter( n, a, e ) ;

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

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

Átírás:

Szelekció Döntéshozatal

Elágazásos algoritmus-szerkezet Eddig az ún. szekvenciális (lineáris) algoritmust alkalmaztunk a parancsok egyenként egymás után hajtüdnak végre. Bizonyos esetekben egy adott feltételtől függően egy adott utasítás vagy végrehajtódik, vagy nem a programnak döntést kell hoznia. Elágazásos algoritmus az algoritmus egyes részei egy adott feltételtől függnek.

A feltételes operátor A feltételes operátor lehetővé teszi, hogy a program futása során eldöntse szükséges-e az adott parancs végrehajtása, vagy nem. A feltételes operátor általános alakja: if(kifejezés) utasítás; Ha a kifejezés logikai igaz eredményt ad, az utasítás végrehajtódik.

Példa Ha az a változó értéke pozitív, csökkentsd eggyel: if(a>0) a--;

Választás két lehetőség közül Néha szükséges, hogy két lehetőség közül választhatunk, egy adott feltételtől függően. Általános alak: if(feltétel) utasítás1; else utasítás2; Ha a feltétel eredménye logikai igaz, végrehajtódik az utasítás1, ellenben utasítás2.

Példa Írj programot az x valós szám abszolút értékének meghatározására. Algoritmus: Ha x<0 akkor abs=-x különben abs=x. #include<iostream> int main() double x,abs; cout<<"x=";cin>>x; if(x<0) abs=-x; else abs=x; cout<<"abs="<<abs<<endl; system("pause"); return 0;

Példa Írj programot az x és y egész számok nagyobbikának meghatározásához. Algoritmus: ha x>y akkor max=x különben max=y. #include<iostream> int main() int x,y,max; cout<<"x=";cin>>x; cout<<"y=";cin>>y; if(x>y) max=x; else max=y; cout<<"max="<<max<<endl; system("pause"); return 0;

Példa Az előző példa jobb változata: Algoritmus: max=x; ha y>max akkor max=y; A javítás több változó esetén hatékonyabb. #include<iostream> int main() int x,y,max; cout<<"x=";cin>>x; cout<<"y=";cin>>y; max=x; if(y>max) max=y; cout<<"max="<<max<<endl; system("pause"); return 0;

Példa Írj programot három egész szám minimumának meghatározására. Algoritmus: min=x ha y<min akkor min=y ha z<min akkor min=z. #include<iostream> int main() int x,y,z,min; cout<<"x=";cin>>x; cout<<"y=";cin>>y; cout<<"z=";cin>>z; min=x; if(y<min) min=y; if(z<min) min=z; cout<<"min="<<min<<endl; system("pause"); return 0;

Példa Adott két valós szám, x és y. Ha x<y, a k változó értéke legyen 1, ha a feltétel nem teljesül, k legyen 0. Algoritmus: Ha x<y akkor k=1 különben k=0. #include<iostream> int main() double x,y,k; cout<<"x=";cin>>x; cout<<"y=";cin>>y; if(x<y) k=1; else k=0; cout<<"k= "<<k<<endl; system("pause"); return 0;

Utasításblokk Az utasításblokk utasítások sorozata kapcsos zárójelek - és - közé zárva. A feltételes utasításban az utasításblokk egy utasításként szerepel. if(kifejezés) utasítások;... else utasítások;...

Példa Írj programot amely bekéri az x és y egész számokat, majd növekvő sorrendben írja ki őket. Algoritmus: Ha x>y akkor temp=x x=y y=temp. Blokk #include<iostream> using namespace std; int main() int x,y,temp; cout<<"x=";cin>>x; cout<<"y=";cin>>y; if(x>y) temp=x; x=y; y=temp; cout<<x<<'\t'<<y<<endl; system("pause"); return 0;

Egy elágazáson belül újabb elágazásokat is használhatunk. Például: if(kifejezés1) if(kifejezés2) utasításblokk Az if-if beágyazott elágazás

Az if-else beágyazott elágazás Példa: if(kifejezés1) utasításblokk_1 else if(kifejezés2) utasításblokk_2 else utasításblokk_3

Példa Írj programot, amely kivizsgálja, hogy az (a, b) intervallum tartalmazza-e az x valós számot. Algoritmus: ha x>a akkor ha x<b akkor tartalmazza különben nem tartalmazza különben nem tartalmazza. #include<iostream> int main() int x,a,b; cout<<"a=";cin>>a; cout<<"b=";cin>>b; cout<<"x=";cin>>x; if(x>a) if(x<b) cout<<"tartalmazza"<<endl; else cout<<"nem tartalmazza"<<endl; else cout<<"nem tartalmazza"<<endl; system("pause"); return 0;

Az && logikai operátor alkalmazása Az if(kif1) if(kif2) utasítás helyett alkalmazhatjuk az if(kif1 && kif2) utasítás programstruktúrát. #include<iostream> int main() int x,a,b; cout<<"a=";cin>>a; cout<<"b=";cin>>b; cout<<"x=";cin>>x; if((x>a)&&(x<b)) cout<<"tartalmazza"<<endl; else cout<<"nem tartalmazza"<<endl; system("pause"); return 0;

A?: operátor alkalmazása Az if-else szerkezet helyett használhatjuk a? : feltételes utasítást: kifejezés? u_1 : u_2 Ha a kifejezés logikai értéke igaz, az u_1 utasítás, ellenkező esetben az u_2 utasítás értékelődik ki. Az u_1 utasítás után kötelező a kettőspont (:). Példa: y= x 3, x 0 2x, különben y=(x>0)? x+3 : -2*x;

Többágú elágazások Az egész vagy karakter típusú kifejezés különböző értékeire egy adott utasítástól kezdődően más és más utasítások hajtódnak végre. u1 u2 u3 u4 kifejezés

A switch utasítás A C++ programozási nyelvben a többágú elágazást a switch utasítással hajthatjuk végre: switch(kifejezés) case érték 1 : utasítás 1 ; case érték 2 : utasítás 2 ;... case érték n : utasítás n ; default: utasítás n+1 ; A default címke (label) nem kötelező. Ha hiányzik, akkor a vezérlés helyette a switch utáni első utasításra helyeződik át. switch váltó case eset

Példa Írjuk fel azokat az utasításokat, amelyekkel a A C++ nyelvet könnyű tanulni. mondat szavait az n- edik szótól kezdve írja ki. switch(n) case 1: cout<<"a "; case 2: cout<<"c++ "; case 3: cout<<"nyelvet "; case 4: cout<<"konnyu "; case 5: cout<<"tanulni."; cout<<endl;

A break feltétel nélküli ugrás A break utasítás segítségével kiugorhatunk a program egyik ágából az utána következő első utasításra. Legtöbbször a switch utasításban használjuk. switch(nap) case 1: cout<<"hetfo"; break; case 2: cout<<"kedd"; break; case 3: cout<<"szerda"; break; case 4: cout<<"csutortok"; break; case 5: cout<<"pentek"; break; case 6: cout<<"szombat"; break; case 7: cout<<"vasarnap"; break; default: cout<<"hiba!";