4. Előadás Programvezérlő utasítások. (begyakorló feladatok)

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

1. Feladatlap. Függvények. Mőveletek Matlab nyelvben. Példa inverz osztásra >>d=2\1 d= Információkérési lehetıségek help utasítás

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

Bevezetés a programozásba I.

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

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

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Bevezetés a programozásba I.

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

ISKOLÁD NEVE:... Az első három feladat feleletválasztós. Egyenként 5-5 pontot érnek. Egy feladatnak több jó megoldása is lehet. A) 6 B) 8 C) 10 D) 12

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

Példatár a bevezetés a Matlab programozásába tárgyhoz

3 A C programozási nyelv szintaktikai egységei

Számelmélet. 4. Igazolja, hogy ha hat egész szám összege páratlan, akkor e számok szorzata páros!

MATLAB. 3. gyakorlat. Mátrixműveletek, címzések

Gyakorló feladatok 9.évf. halmaznak, írd fel az öt elemű részhalmazokat!. Add meg a következő halmazokat és ábrázold Venn-diagrammal:

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Számelmélet Megoldások

Gyakorló feladatok az 1. nagy zárthelyire

Felvételi tematika INFORMATIKA

Matlab alapok. Baran Ágnes

MATLAB alapismeretek II.

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Vezérlési szerkezetek

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:

Gyakorló feladatok Gyakorló feladatok

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

INFORMATIKA javítókulcs 2016

I. Specifikáció készítés. II. Algoritmus készítés

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

HALMAZOK TULAJDONSÁGAI,

MATEMATIKA VERSENY

2005_01/1 Leírtunk egymás mellé hét racionális számot úgy, hogy a két szélső kivételével mindegyik eggyel nagyobb a két szomszédja szorzatánál.

BME MOGI Gépészeti informatika 5.

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

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

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

Mátrixok, mátrixműveletek

Lineáris algebra. (közgazdászoknak) T C T = ( 1 ) ; , D T D =

1. Alapok. #!/bin/bash

2. Egy mértani sorozat második tagja 6, harmadik tagja 18. Adja meg a sorozat ötödik tagját!

Web-programozó Web-programozó

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

Próbaérettségi feladatsor_b NÉV: osztály Elért pont:

Lineáris egyenletrendszerek

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

1. zárthelyi,

Adatbáziskezelés. SQL parancsok. Függvények

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Matlab alapok. Vektorok. Baran Ágnes

4,5 1,5 cm. Ezek alapján 8 és 1,5 cm lesz.

7. Laboratóriumi gyakorlat, 1. rész : Vezérlési szerkezetek II.

% % MATLAB alapozó % % , Földváry Lóránt % Laky Piroska (kiegészítés)

Számokkal kapcsolatos feladatok.

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

VIK A2 Matematika - BOSCH, Hatvan, 3. Gyakorlati anyag. Mátrix rangja

Bevezetés a programozásba I.

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

MATLAB alapismeretek III.

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

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

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

Kisérettségi feladatsorok matematikából

Webprogramozás szakkör

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Számelmélet

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

2 2 = 2 p. = 2 p. 2. Végezd el a kijelölt műveleteket! 3. Végezd el a kijelölt műveleteket! 4. Alakítsad szorzattá az összeget!

1. gyakorlat

Lineáris algebra (10A103)

START. Billentyűzár ki. Üss be egy számot. Beütöttem az összes számot. Hívás. Várakozás. felveszik. Beszélek. Befejezem a beszélgetést.

Matematika 7. osztály

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

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

I. VEKTOROK, MÁTRIXOK

Lineáris algebra. (közgazdászoknak)

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

7. Strukturált típusok

V. Békés Megyei Középiskolai Matematikaverseny 2012/2013 Megoldások 12. évfolyam

Átlag( ; ): a paraméterlistában megadott számok átlagát adja meg eredményül. Pl.: Átlag(a2:a8)

Bizonyítási módszerek - megoldások. 1. Igazoljuk, hogy menden természetes szám esetén ha. Megoldás: 9 n n = 9k = 3 3k 3 n.

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:

Szoftvertervezés és -fejlesztés I.

Mat. A2 3. gyakorlat 2016/17, második félév

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

BME MOGI Gépészeti informatika 6.

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.)

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

TERMÉSZETES SZÁMOK OSZTHATÓSÁGA

Ajánlott elemi feladatok az AAO tárgyhoz 41 feladat

Analóg és digitális jelek. Az adattárolás mértékegységei. Bit. Bájt. Nagy mennyiségû adatok mérése

Programozási tételek. Dr. Iványi Péter

Algoritmusok pszeudókód... 1

1. Mátrixösszeadás és skalárral szorzás

Szakács Lili Kata megoldása

Matematikai programok

Átírás:

4. Előadás Programvezérlő utasítások. (begyakorló feladatok) Salamon Júlia Előadás I. éves mérnök hallgatók számára

If utasítás A Matlab a döntések meghozatalát szolgáló feltételek vizsgálatára és a döntés végrehajtására az if utasítás szolgál. Az utasítás általános alakja: if feltétel utasítás(ok)1 else utasítás(ok)2 Ha feltételben egy igaz állítás szerepel, akkor az if és else közötti utasítások hajtódnak végre, ha hamis akkor az else és az közötti utasítások. Példaprogram: Döntsük el egy számról, hogy osztható-e hárommal. a=input('szam='); if mod(a,3)==0 disp('oszthato 3-mal') else disp('nem oszthato 3-mal') Logikai_feltétel 2007.10.25. IV. előadás 2 I utasítás1 H utasítás2

Elseif Az egymásba ágyazott if utasításokra kifejlesztették az if utasítás elseif-es változatát. Az utasítás általános alakja: if feltétel1 utasítás(ok)1 elseif feltétel2 utasítás(ok)2 else utasítás(ok)3 Logikai feltétel1 H Logikai feltétel2 I I Utasítás1 Utasítás2 Ha a feltétel1 igaz állítás, akkor az utasítások1 hajtódnak végre, ha hamis, akkor kiértékelődik az elseif feltétele. Ha a feltétel2 igaz akkor az utasítások2 hajtódik végre, ha ez a feltétel is hamis akkor, az else utáni utasítások kerülnek kiértékelésre. H Utasítás3 2007.10.25. IV. előadás 3

For utasítás Ha a programon belül bizonyos utasításokat egymás után többször kell elvégeznünk, de tudjuk, előre, hogy pontosan hányszor, akkor a for utasítást kell használjuk. Az utasítás általános alakja: for változó=kifejezés utasítás(ok) A kifejezés az esetek nagy részében a : operátorral adjuk meg. kifejezés=k_érték:l:v_érték Ebben az esetben az utasítások a : operátor által megadott számszor hajtódnak végre. Példaprogram: Egy bekért számig írd ki a számok négyzeteit. for i=1:n disp(i^2) i= k_érték i<=v_érték 2007.10.25. IV. előadás 4 I Utasítás i=i+l H

Zárthelyi dolgozat felépítése 1. Mátrixműveletek 2p 2. Egyszerű lineáris struktúrájú feladat 1,5p 3. If utasítás használata 1,5p 4. For utasítás használata 2p 5. Nehezebb feladat (if, for használata kombinálva) 2p Jelenlét 1p 2007.10.25. IV. előadás 5

Mátrixműveletek a) Számold ki a A=(2,5,1), B=(-1,0,1) vektorok skalár szorzatát. b) Old meg a következő egyenletrszert: 4x+0.3y=5 3x+2y-z=-1 x+0.2y+z=1 c) Emeld négyzetre A mátrix második oszlopát, majd a mátrix első sorának elemeit add össze. 2 1 0 A = 2 5 1 2 6 3 Megoldás: A=[2 5 1] B=[-1; 0; 1] skalarszorzat=a*b A=[4 0.3 0; 3 2-1; 1 0.2 1] B=[5;-1;1] X=inv(A)*B A=[2-1 0;2 5 1;2-6 3] N=A(:,2).^2 osszeg=sum(a(1,:)) 2007.10.25. IV. előadás 6

Egyszerű lineáris struktúrájú feladat 1. Generálj egy Ascii kódot, majd írasd ki a neki megfelelő karaktert a képernyőre. k=ceil(255*rand); generaltkarakter=char(k) 2. Olvass be egy karakterláncot, hány ma részkarakterláncot találsz benne? sz=input('szoveg=','s'); x=findstr(sz,'ma'); disp(['elofordulasok szama=' num2str(length(x))]) 2007.10.25. IV. előadás 7

If utasítás használata 1. Generálj véletlenszerűen két valós számot, és a nagyobbikat írasd ki. a=10*rand; b=10*rand; if a>b disp(a) else disp(b) 3. Olvass be 3 számot és a párosak összegét írasd ki a parancssorba. a=input('a='); b=input('b='); c=input('c='); s=0; if mod(a,2)==0 s=s+a; if mod(b,2)==0 s=s+b; if mod(c,2)==0 s=s+c; parosokosszege=s 2. Egy számról döntsd el hogy 2-be végződike? if mod(n,10)==2 else 4. Olvass be egy karakterláncot, döntsd el, hogy hossza meghaladja-e a 10 karaktert. sz=input('szoveg=','s'); if length(sz)<10 else disp('2-be vegzodik') disp('nem 2-be vegzodik') disp('rovidebb 10 karakternel') disp('hosszabb 10 karakternel') 2007.10.25. IV. előadás 8

For utasítás használata 1. Írasd ki 1-től egy bekért számig a 4-gyel osztható számokat. for i=4:4:n disp(i) 2. Olvass be n darab számot. for i=1:n x=input('szam='); 3. Írj programot, amely egy karakterlánc minden harmadik betűjét s betűre írja át. sz=input('szoveg=','s'); for i=3:3:length(sz) sz(i)='s'; disp(sz) 4. Olvass be egy karakterláncot és törölj ki belőle minden szóközt. sz=input('szoveg=','s'); v=findstr(sz,' '); v=fliplr(v); n=length(v); for i=1:n sz(v(i))=[]; disp(sz) 2007.10.25. IV. előadás 9

5. Írj programot, amely egy tömb elemeinek az átlagát adja vissza a legkisebb elem elhagyásával. (for utasítást használva) x=input('vektor='); s=0; for i=1:length(x) 7. Olvass be egy mátrixot, majd számold ki az utolsó sorának szorzatát. A=input('Matrix=') s=1; [n,m]=size(a); for i=1:m s=s+x(i); s=s-min(x); atlag=s/(length(x)-1) s=s*a(n,i); szorzat=s 6. Írj programot, amely egy tömb minden második elemének a szorzatát elosztja az utolsó előtti elemmel. x=input('vektor='); s=1; for i=2:2:length(x) 8. Olvass be egy négyzetes mátrixot, a főátló elemeit cseréld le generált elemekre. A=input('Matrix=') [n,m]=size(a); for i=1:n s=s*x(i); eredmeny=s/x(length(x)-1) A(i,i)=rand; ujmatrix=a 2007.10.25. IV. előadás 10

Nehezebb feladat (if, for használata kombinálva) 1. Írasd ki egy bekért számtól 100-ig a 7-tel osztható számokat. for i=n:100 if mod(i,7)==0 disp(i) 2. Írasd ki egy szám legnagyobb valódi osztóját. for i=1:n-1 if mod(n,i)==0 nv=i; legnagyobboszto=nv 2007.10.25. IV. előadás 11

3. Olvass be egy karakterláncot, jelenítsd meg minden szóköz utáni karakterét. sz=input('szoveg=','s'); for i=1:length(sz) if sz(i)==' ' disp(sz(i+1)); 4. Olvass be egy karakterláncot, majd töröld ki belőle minden szóköz utáni 'k' betűt. sz=input('szoveg=','s'); e=sz(1); for i=1:length(sz)-1 if (sz(i)~=' ') (sz(i+1)~='k') e=[e sz(i+1)]; disp(e) Egy másik megoldási lehetőség sz=input('szoveg=','s'); for i=1:length(sz)-1 if (sz(i)==' ')&(sz(i+1)=='k') sz(i+1)=[]; sz=[sz ' ']; deblank(sz); disp(sz) 2007.10.25. IV. előadás 12

5. Olvass be egy karakterláncot, írasd ki hol találhatók az s betűk. sz=input('szoveg=','s') for i=1:length(sz) if sz(i)=='s' disp(i) 6. Írj programot, amely egy n elemű tömböt tölts fel véletlenszerűen [- 20,20] intervallumbeli elemekkel, majd a tömb minden pozitív elemét összeadja, és ebből kivonja a negatívokat. x=40*rand(1,n)-20 s=0; for i=1:n if x(i)>0 s=s+x(i); else s=s-x(i); eredmeny=s 2007.10.25. IV. előadás 13

7. Írj programot, amely egy n elemű tömböt feltölt véletlenszerűen elemekkel, majd a tömb 5-tel osztható elemeinek az átlagát adja meg. x=fix(100*rand(1,n)) s=0; d=0; for i=1:n if mod(x(i),5)==0 s=s+x(i); d=d+1; atlag=s/d 8. Generálj egy nxm-es mátrixot, majd minden második sorában található elemeket szorozd össze. m=input('m='); A=rand(n,m) s=1; for i=1:n for j=1:m if mod(j,2)==0 s=s*a(i,j); szorzat=s 2007.10.25. IV. előadás 14