Kalapácsvetés 2016 szöveges

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

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.

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:)!

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

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

Mentsd el code file-t kektura.cs néven, illetve kiterjesztéssel! Másold be a kektura.csv állományt a Projects munkamappa megfelelő almappájába!

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

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

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

INFORMATIKAI ALAPISMERETEK

MestInt gyakorlat visszalépéses keresés

Tájékoztató. Használható segédeszköz: -

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

BME MOGI Gépészeti informatika 13.

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

Tájékoztató. Használható segédeszköz: -

Objektumorientált programozás C# nyelven

Bánsághi Anna

Objektumorientált programozás C# nyelven

Fájlkezelés. Szöveges fájlok kezelése

OOP: Java 8.Gy: Gyakorlás

BME MOGI Gépészeti informatika 4.

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

117. AA Megoldó Alfréd AA 117.

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

PROGRAMOZÁS ALAPFELADATOK

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Tájékoztató. Használható segédeszköz: -

Tájékoztató. Használható segédeszköz: -

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Objektumorientált programozás C# nyelven III.

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

OOP: Java 8.Gy: Abstract osztályok, interfészek

4. Gy: JAVA osztályok

Tájékoztató. Használható segédeszköz: -

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

500. AA Megoldó Alfréd AA 500.

Programozás II gyakorlat. 4. Öröklődés

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

BME MOGI Gépészeti informatika 5.

Informatika terméktervezőknek

Szoftvertechnolo gia gyakorlat

Java és web programozás

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

BME MOGI Gépészeti informatika 7.

7. K: JAVA alapok Konzultáció

INFORMATIKAI ALAPISMERETEK

Bánsághi Anna

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Objektumorientált programozás C# nyelven

500. CC Megoldó Alfréd CC 500.

3. Osztályok II. Programozás II

Programozás II. 4. Dr. Iványi Péter

A C# PROGRAMOZÁSI NYELV

C#, OOP. Osztályok tervezése C#-ban

INFORMATIKAI ALAPISMERETEK

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

Java és web programozás

Java és web programozás

A LEVENSHTEIN TÁVOLSÁG THE LEVENSHTEIN DISTANCE

OOP: Java 4.Gy: Java osztályok

INFORMATIKAI ALAPISMERETEK

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

INFORMATIKAI ALAPISMERETEK

Smalltalk 2. Készítette: Szabó Éva

Java és web programozás

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

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

Eseményvezérelt alkalmazások fejlesztése II. A.NET keretrendszer és a C# programozási nyelv. Objektumorientált programozási nyelvek A Smalltalk nyelv

OOP #14 (referencia-elv)

Szoftvertervezés és -fejlesztés I.

BME MOGI Gépészeti informatika 1.

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

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

Programozási nyelvek Java

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

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

Programozás I. Első ZH segédlet

Felhasználó által definiált adattípus

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

Abstract osztályok és interface-ek. 7-dik gyakorlat

C# osztályok. Krizsán Zoltán

Java programozási nyelv 6. rész Java a gyakorlatban

C# feladatok gyűjteménye

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

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

OOP: Java 7.Gy: Öröklődés, referenciák

Vizuális programozás Komplex számok

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

Programozás I gyakorlat

OOP: Java 1.Gy: Java alapok

Java gyakorlat feladatai e s megolda sai ( )

Programozási nyelvek II.: JAVA, 3. gyakorlat

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

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

Átírás:

Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után csak az addigi legjobbak folytathatták a versenyt. A dobás távolságát centiméter pontossággal mérik. Ha a dobás érvénytelen volt, akkor az eredmény helyén az "x" karakter szerepel. A megoldás során vegye figyelembe a következőket: Az ékezetmentes kiírás is elfogadott! A feladat jobb megértése érdekében tanulmányozza a mintákat is! Készítsen konzolos programot Kalapacsvetes2016 néven, amely az alábbi feladatokat oldja meg! 1. Hozzon létre osztályt Versenyző azonosítóval! 2. Az osztály tagjaként deklaráljon egy privát szöveges típusú vektort, vagy listát a dobások eredményeinek tárolásához! 3. Készítse el az osztály konstruktorát, ami a forrásfájl egy sorát kapja paraméterként és a következő feladatokat látja el! a. Inicializálja a Dobások vektort vagy listát. b. Eltárolja a versenyző nevét, országát és dobásainak eredményét a megfelelő változókban/jellemzőkben. 4. Olvassa be a forrás fáj (kalapacsvetes2016.txt) sorait és tárolja el a Versenyző típusú osztálypéldányokat (objektumokat) egy olyan adatszerkezetben, ami a további feladatok megoldását lehetővé teszi! 5. Határozza meg és írja ki a képernyőre a döntőbe jutott versenyzők számát a minta szerint! 6. A 3. dobás után csak meghatározott számú versenyző folytathatta a döntőt. Írassa ki a döntőt folytató sportolók számát! Az eredmény a minta szerint jelenítse meg a képernyőn! 7. Készítsen statisztikát a minta szerint! A döntőt folytató versenyzők érvényes, sikertelen és legjobb dobásait a minta szerint! 8. Határozza meg és írja ki a minta szerint a magyar sportoló nevét és helyezését! Feltételezheti, hogy a döntőbe csak egy magyar versenyző jutott! 9. Készítsen kalapacsvetes2016inch.txt néven szöveges állományt, amely csak annyiban különbözzön a forrás fájltól, hogy a dobások távolságát centiméter helyett hüvelyk (coll) mértékegységben, három tizedes jegyre kerekítve tartalmazza! 1coll=2,54cm! Minta szöveges fájl: Minta a programról:

Minta a kalapacsvetes2016inch.txt fájlról Megoldás: using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace kalapacsvetes2016 class versenyzo public string nev get; private set; public string orszag get; private set; public List<string> dobasok get; private set; public int dobasokszama get return dobasok.count - 2; public versenyzo(string sor) string[] m = sor.split(';'); nev = m[0]; orszag = m[1]; dobasok = new List<string>();

for (int i = 2; i < m.length; i++) dobasok.add(m[i]); static void Main(string[] args) //Olvassa be a forrás fáj (kalapacsvetes2016.txt) sorait és tárolja el a //Versenyző típusú osztálypéldányokat (objektumokat) // egy olyan adatszerkezetben, ami a további feladatok megoldását lehetővé teszi! int dontobejutottakszama = 0; List<versenyzo> t = new List<versenyzo>(); foreach (var i in File.ReadAllLines("kalapacsvetes2016.txt")) t.add(new versenyzo(i)); Console.WriteLine(" 0 ", i);//sorok kiíratása //Határozza meg és írja ki a képernyőre a döntőbe jutott versenyzők számát a minta szerint! Console.WriteLine("5. feladat: Döntőbe jutott versenyzők száma: 0",t.Count()); /*dobások kiíratása Console.Write("0 ",j); Console.WriteLine("\n"); */ //A 3. dobás után csak meghatározott számú versenyző folytathatta a döntőt. //Az eredményt a minta szerint jelenítse meg a képernyőn! if (i.dobasok.count > 3) dontobejutottakszama++; Console.WriteLine("\n6.feladat: A 3. dobás után 0 versenyző folytathatta a döntőt", dontobejutottakszama); //Készítsen statisztikát a minta szerint! A döntőt folytató versenyzők érvényes, sikertelen és legjobb dobásaihoz //készítsen a Versenyző osztályban jellemzőket az osztálydiagram szerint! int ervenyesdobasokszama = 0; int sikertelendobasokszama = 0; double legjobbdobas = 0; double[] legjobberedmenyek = new double[100]; int sz = 0; string magyarsportolonev = ""; double magyareredmeny = 0; Console.WriteLine("\n7.feladat: Statisztika (név;érvényes dobás;sikertelen dobás;legjobb dobás"); if (i.dobasok.count > 3) ervenyesdobasokszama = 0; sikertelendobasokszama = 0; legjobbdobas = 0; if (j!= "x")

ervenyesdobasokszama++; if (double.parse(j) > legjobbdobas) legjobbdobas = double.parse(j); else sikertelendobasokszama++; //Console.Write("0 ", j); Console.WriteLine("\t0; 1; 2; 3 cm", i.nev, ervenyesdobasokszama, sikertelendobasokszama, legjobbdobas); if (i.orszag == "Magyarország") magyarsportolonev = i.nev; magyareredmeny = legjobbdobas; legjobberedmenyek[sz] = legjobbdobas; sz++; //Határozza meg és írja ki a minta szerint a magyar sportoló nevét és helyezését! //Feltételezheti, hogy a döntőbe csak egy magyar versenyző jutott! int helyezes =0; //legjobb eredmények sorbarendezése maximumkiválasztással int l,r, h = sz, db = 0; double max; while (h > 1) l = 0; max = legjobberedmenyek[0]; r = 0; while (l <= h) if (legjobberedmenyek[l] > max) max = legjobberedmenyek[l]; r = l; l++; db++; legjobberedmenyek[r] = legjobberedmenyek[h]; legjobberedmenyek[h] = max; h--; //Console.Write("\nSzámok sorbarendezve: "); for (l = 1; l <= sz; l++) if (legjobberedmenyek[l] == magyareredmeny) helyezes = l; // Console.Write("0 ", legjobberedmenyek[l]); Console.WriteLine("\n8.feladat: A magyar versenyző 0 1. lett", magyarsportolonev, szhelyezes+1); //Készítsen kalapacsvetes2016inch.txt néven szöveges állományt, //amely csak annyiban különbözzön a forrás fájltól, //hogy a dobások távolságát centiméter helyett hüvelyk (coll) mértékegységben, //három tizedes jegyre kerekítve tartalmazza! 1coll=2,54cm! double eredmeny; FileStream fnev = new FileStream("kalapacsvetes2016inch.txt", FileMode.Create); StreamWriter fajlbairo = new StreamWriter(fnev); fajlbairo.write(i.nev); fajlbairo.write(";"); fajlbairo.write(i.orszag);

fajlbairo.write(";"); if (j!= "x") eredmeny= double.parse(j) / 2.54; fajlbairo.write("0;", Math.Round(eredmeny,3)); else fajlbairo.write("x;"); fajlbairo.writeline("\n"); fajlbairo.close(); fnev.close(); Console.ReadKey();