BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Hasonló dokumentumok
BME MOGI Gépészeti informatika 15.

BME MOGI Gépészeti informatika 14.

BME MOGI Gépészeti informatika 7.

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

BME MOGI Gépészeti informatika 6.

Form1 Form Size 400;400 Text Mozgó kör timer1 Timer Enabled True Interval 100

BME MOGI Gépészeti informatika 13.

BME MOGI Gépészeti informatika 4.

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

BME MOGI Gépészeti informatika 1.

BME MOGI Gépészeti informatika 5.

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

BME MOGI Gépészeti informatika 2.

Johanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba

components : IContainer dx : int dy : int tmidőzítő : Timer toolstripseparator1 : ToolStripSeparator tsmikilépés : ToolStripMenuItem

Mérési adatgyűjtés és adatfeldolgozás 2. előadás

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

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

Bevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

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

Informatika terméktervezőknek

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

Ugráló gomb oktatási segédlet Ugráló gomb

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.

Objektumok és osztályok. Az objektumorientált programozás alapjai. Rajzolás tollal, festés ecsettel. A koordinátarendszer

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

Johanyák Zsolt Csaba: Grafikus felület programozása. Copyright 2008 Johanyák Zsolt Csaba

Eredmények, objektumok grafikus megjelenítése 3D felületek rajzoló függvényei

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Java és web programozás

Raszter georeferálás QGIS-ben Összeállította: dr. Siki Zoltán verzióra aktualizálta: Jáky András

Egyenletek, egyenlőtlenségek grafikus megoldása TK. II. kötet 25. old. 3. feladat

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

Csoportmódszer Függvények I. (rövidített változat) Kiss Károly

Grafikai lehetőségek

1.1 Szakdolgozat témája A Program célja A használt technológiák ismertetése A program megtervezése...

Elemi Alkalmazások Fejlesztése Beadandó Feladat Juhász Ádám

CAD-ART Kft Budapest, Fehérvári út 35.

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.

Függvények Megoldások

C# feladatok gyűjteménye

Területi primitívek: Zárt görbék által határolt területek (pl. kör, ellipszis, poligon) b) Minden belső pont kirajzolásával (kitöltött)

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Függvények ábrázolása

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Eseményvezérelt alkalmazások fejlesztése II 5. előadás. Windows Forms alkalmazások párhuzamosítása. Giachetta Roberto

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

OOP: Java 8.Gy: Gyakorlás

#include <iostream> using namespace std; // struct macska is lehetne class macska { public: int kor; int suly; }; void main() { macska cirmi;

Programozási technológia

3. Osztályok II. Programozás II

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

INFORMATIKA tétel 2017

INFORMATIKA javítókulcs 2016

Eseményvezérelt alkalmazások fejlesztése II 3. előadás. Windows Forms dinamikus felhasználói felület, elemi grafika

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

Kalapácsvetés 2016 szöveges

Injektív függvények ( inverz függvény ).

Swing GUI készítése NetBeans IDE segítségével

C#---Access adatbáziskezelési gyakorlat

Az objektum leírására szolgálnak. Mire jók? Sokszor maga a jellemző az érdekes: Tömörítés. Objektumok csoportosítására

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

Függvények Függvények

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

Numerikus matematika

FÜGGVÉNYEK TULAJDONSÁGAI, JELLEMZÉSI SZEMPONTJAI

Access adatbázis elérése OLE DB-n keresztül

Descartes-féle, derékszögű koordináta-rendszer

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

4. Gy: JAVA osztályok

Szoftvertechnolo gia gyakorlat

Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

A függvényekről tanultak összefoglalása /9. évfolyam/

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

Farkas Gyula Szakkollégium Bit- és számtologatók. Parametrikus görbék és felületek ábrázolása március 8., 22. Róth Ágoston

Ez a fejezet a 3D egyenletek. célszerû megismerkednie a 6. fejezet. tartalmával. x A z(x,y) egyenlet 3D grafikonjának

1.) = grafikont kell ábrázolnunk. Megj.: 5 1+ A = 1 ill. B = 10 -szeresei. Ábrázolás Függvénytranszformációval :

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

Johanyák Zsolt Csaba: XML Webszolgáltatás alapú osztott alkalmazás fejlesztése (Mandelbrot halmaz számítás) oktatási segédlet

Egyszerű példaprogramok gyakorláshoz

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

Tuesday, March 6, 12. Hasító táblázatok

A C# programozási nyelv alapjai

2012. október 2 és 4. Dr. Vincze Szilvia

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások. alapfüggvény (ábrán: fekete)

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

Átírás:

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra 1. feladat Készítsen alkalmazást az = + függvény ábrázolására! Az értelmezési tartomány a [-6;5] intervallum, a lépésköz 0,1 legyen! Írjon metódust a függvény adott x helyen felvett értékének kiszámítására! A függvény értékkészletét az adott intervallumon a rajzolás megkezdése előtt határozza meg! A koordinátatengelyeken egyforma skálázást használjon (azonos faktor értékek)! A formon történő kattintásra állítson be véletlen rajzszínt! A rajzolás egy gombon történő kattintásra történjen, egy újabb kattintás a rajzolás végét és a form törlését jelentse! A függvény számított pontjainak koordinátáit írja ki a pontok.txt szöveges állományba, soronként egy-egy (X, Y) értékpárt, pontosvesszővel tagolva! Megoldási mód: Windows Forms alkalmazás A függvény képe: A Form1 osztályba írandó programkód: // értékkészlet float ymin = 0F, ymax = 0F; // értelmezési tartomány float xmin = -6F, xmax = 5F; const float lépés = 0.1F; 1

Color rajzszín = Color.Red; bool rajzoljon = false; // Metódus a függvényértékek kiszámítására private float Fv(float x) return (float)(math.pow(x + 3, 2) - 5 * x - 10); // A form betöltésekor hívódó eseménykezelő private void Form1_Load(object sender, EventArgs e) // fájl megnyitása írásra StreamWriter ki = new StreamWriter("pontok.txt"); float x, y; // a befoglaló téglalap y-koordinátáinak megkeresése ymin = float.maxvalue; ymax = float.minvalue; for (x = xmin; x <= xmax; x += lépés) y = Fv(x); if (y < ymin) ymin = y; if (y > ymax) ymax = y; // fájlba írás ki.writeline("0;1", x, y); // fájl lezárása ki.close(); // A formon való kattintás eseménykezelője private void Form1_Click(object sender, EventArgs e) // véletlen rajzszín generálása Random rnd = new Random(); rajzszín = Color.FromArgb(rnd.Next(256), rnd.next(256), rnd.next(256)); // A form újrarajzolását végző eseménykezelő metódus private void Form1_Paint(object sender, PaintEventArgs e) if (rajzoljon) // rajzterület magassága float képmagasság = ClientSize.Height; // rajzterület szélessége float képszélesség = ClientSize.Width; // a sík ablakba vetítéséhez x- és y-irányban float xfaktor = képszélesség / Math.Abs(xMax - xmin), yfaktor = képmagasság / Math.Abs(yMax - ymin); float faktor = Math.Min(xFaktor, yfaktor); // az origó koordinátái az ablakban float xképorigó = faktor * Math.Abs(xMin); float yképorigó = képmagasság - faktor * Math.Abs(yMin); 2

// a koordinata-tengelyek kirajzolása Graphics g = e.graphics; Pen toll = new Pen(rajzSzín, 1); g.drawline(toll, xképorigó + faktor * xmin, yképorigó, xképorigó + faktor * xmax, yképorigó); g.drawline(toll, xképorigó, yképorigó - faktor * ymin, xképorigó, yképorigó - faktor * ymax); // a függvény rajzolása PointF pelozo = new PointF(xKépOrigó + xmin * faktor, yképorigó - Fv(xMin) * faktor); PointF pkovetkezo = new PointF(); for (float x = xmin + lépés; x <= xmax; x += lépés) pkovetkezo.x = xképorigó + x * faktor; pkovetkezo.y = yképorigó - Fv(x) * faktor; g.drawline(toll, pelozo, pkovetkezo); pelozo = pkovetkezo; // Az ablak átméretezésekor hívódó eseménykezelő private void Form1_Resize(object sender, EventArgs e) // újrarajzolás kérése ablak átméretezésekor // A Rajzolás gomb megnyomásának eseménykezelője private void button1_click(object sender, EventArgs e) // rajzolás vagy törlés kezdeményezése rajzoljon =!rajzoljon; 2. feladat A függvény.txt állomány egy negyedfokú polinom-függvény ( y = x 4 + x 3-5x 2 5x +1 ) pontjainak (legfeljebb 200 pont) koordinátáit tartalmazza, soronként egy (x,y) értékpárt pontosvesszővel tagolva, az x-koordinátákra növekvően rendezve. Olvassa be az állományból a koordinátákat egy-egy valós tömbbe, és rajzolja ki a függvényt! A függvény értékkészletének határait a tárolt intervallumon a form betöltésekor határozza meg! A koordináta-tengelyeken eltérő skálázást használjon (különböző faktor értékek)! A rajzolás megkezdése előtt állítson be véletlen rajzszínt! A rajzolás egy gombon történő kattintásra történjen, egy újabb kattintás a rajzolás végét és a form törlését jelentse! Megoldási mód: Windows Forms alkalmazás 3

A függvény képe: A Form1 osztályba írandó programkód: // értékkészlet float ymin = 0F, ymax = 0F; // értelmezési tartomány float xmin = 0F, xmax = 0F; const float lépés = 0F; Color rajzszín = Color.Red; bool rajzoljon = false; float[] x = new float[200]; float[] y = new float[200]; int n = 0; // a tárolt pontok száma Random rnd = new Random(); // A form újrarajzolását végző eseménykezelő metódus private void Form1_Paint(object sender, PaintEventArgs e) if (rajzoljon) // rajzszín beállítása rajzszín = Color.FromArgb(rnd.Next(256), rnd.next(256), rnd.next(256)); // rajzterület magassága float képmagasság = ClientSize.Height; // rajzterület szélessége float képszélesség = ClientSize.Width; // a sík ablakba vetítéséhez x- és y-irányban float xfaktor = képszélesség / Math.Abs(xMax - xmin), yfaktor = képmagasság / Math.Abs(yMax - ymin); // az origó koordinátái az ablakban float xképorigó = xfaktor * Math.Abs(xMin); float yképorigó = képmagasság - yfaktor * Math.Abs(yMin) ; // a koordinata-tengelyek kirajzolása Graphics g = e.graphics; Pen toll = new Pen(rajzSzín, 1); g.drawline(toll, xképorigó + xfaktor * xmin, yképorigó, 4

xképorigó + xfaktor * xmax, yképorigó); g.drawline(toll, xképorigó, yképorigó - yfaktor * ymin, xképorigó, yképorigó - yfaktor * ymax); // a függvény rajzolása PointF pelozo = new PointF(xKépOrigó + x[0] * xfaktor, yképorigó - y[0] * yfaktor); PointF pkovetkezo = new PointF(); for (int i = 1; i < n; i++) pkovetkezo.x = xképorigó + x[i] * xfaktor; pkovetkezo.y = yképorigó - y[i] * yfaktor; g.drawline(toll, pelozo, pkovetkezo); pelozo = pkovetkezo; // Az ablak átméretezésekor hívódó eseménykezelő private void Form1_Resize(object sender, EventArgs e) // A Rajzolás gomb megnyomásának eseménykezelője private void button1_click(object sender, EventArgs e) rajzoljon =!rajzoljon; // A form betöltésekor hívódó eseménykezelő private void Form1_Load(object sender, EventArgs e) // olvasás fájlból, a fájl végéig StreamReader be = new StreamReader("függvény.txt"); while (n<200 && be.peek()>-1) string[] puffer = be.readline().split (';'); x[n] = float.parse(puffer[0]); y[n] = float.parse(puffer[1]); n++; be.close(); // értelmezési tartomány meghatározása xmin = x[0]; xmax = x[n - 1]; // értékkészlet meghatározása ymin = float.maxvalue; ymax = float.minvalue; for (int i = 0; i < n; i++) if (y[i] < ymin) ymin = y[i]; if (y[i] > ymax) ymax = y[i]; 5

3. feladat önálló munka Oldjon meg egy feladatot önálló munkavégzés keretében az alább felsorolt feladatok közül! Gyakorló feladatok - függvényábrázolás 1. Készítsen alkalmazást az = + + függvény ábrázolására a [-0,55; 10] intervallumban 0,1-es lépésközzel! Írjon metódust a függvény adott x helyen felvett értékének kiszámítására! A függvény értékkészletét ezen az intervallumon a form betöltésekor határozza meg! A koordináta-tengelyeken egyforma skálázást használjon (azonos faktor értékek)! A formon történő kattintásra állítson be véletlen rajzszínt! A rajzolás egy gombon történő kattintásra történjen, egy újabb kattintás a rajzolás végét és a form törlését jelentse! Írja ki a pontok.txt szöveges állományba az ábrázolás során meghatározott pontok koordinátáit, soronként egy pontét, pontosvesszővel tagolva! 2. Készítsen alkalmazást az = + + függvény ábrázolására a [-2; 10] intervallumban 0,1-es lépésközzel! Írjon metódust a függvény adott x helyen felvett értékének kiszámítására! A függvény értékkészletét ezen az intervallumon a form betöltésekor határozza meg! A koordináta-tengelyeken eltérő skálázást használjon (különböző faktor értékek)! Egy gombra történő kattintáskor állítson be véletlen rajzszínt! A rajzolás a formra történő kattintásra történjen, egy újabb kattintás a rajzolás végét és a form törlését jelentse! Írja ki a pontok.txt szöveges állományba az ábrázolás során meghatározott pontok koordinátáit, soronként egy pontét, pontosvesszővel tagolva! 6

3. Készítsen alkalmazást az =, függvény ábrázolására a [-3π/2; 5π/2] intervallumban π/32-es lépésközzel! Írjon metódust a függvény adott x helyen felvett értékének kiszámítására! Készítsen menüt a Rajzszín és Rajzolás menüelemekkel! A függvény értékkészletét ezen az intervallumon a form betöltésekor határozza meg! A koordináta-tengelyeken egyforma skálázást használjon (azonos faktor értékek)! A Rajzszín menüpontra kattintáskor állítson be véletlen rajzszínt! A rajzolás a Rajzolás menüpontra kattintáskor történjen, egy újabb kattintás a rajzolás végét és a form törlését jelentse! Írja ki a pontok.txt szöveges állományba az ábrázolás során meghatározott pontok koordinátáit, soronként egy pontét, pontosvesszővel tagolva! 7