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

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

Kalapácsvetés 2016 szöveges

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

BME MOGI Gépészeti informatika 13.

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

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

PROGRAMOZÁS ALAPFELADATOK

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

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!

BME MOGI Gépészeti informatika 4.

INFORMATIKAI ALAPISMERETEK

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

BME MOGI Gépészeti informatika 1.

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

Szoftvertervezés és -fejlesztés I.

MestInt gyakorlat visszalépéses keresés

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

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

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

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

BME MOGI Gépészeti informatika 5.

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

A C# PROGRAMOZÁSI NYELV

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

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

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

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

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

INFORMATIKAI ALAPISMERETEK

A C# programozási nyelv alapjai

C# feladatok gyűjteménye

Szoftvertechnolo gia gyakorlat

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

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

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

117. AA Megoldó Alfréd AA 117.

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

A 35/2016. (VIII. 31.) NFM rendelet szakmai és vizsgakövetelménye alapján.

Informatika terméktervezőknek

Objektumorientált programozás C# nyelven III.

INFORMATIKA javítókulcs 2016

SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC

Szoftvertechnológia alapjai Java előadások

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

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

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

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

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

Bánsághi Anna

Java és web programozás

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

Java II. I A Java programozási nyelv alapelemei

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

Java gyakorlat feladatai e s megolda sai ( )

Objektumorientált Programozás VI.

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

Java Programozás 11. Ea: MVC modell

Bevezetés a programozásba I.

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

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

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

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

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

4. Gy: JAVA osztályok

OOP: Java 8.Gy: Gyakorlás

Objektumorientált programozás C# nyelven

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

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

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

OOP: Java 1.Gy: Java alapok

Objektumorientált programozás C# nyelven

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

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

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

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

Objektumorientált programozás C# nyelven

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

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

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

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

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Adatszerkezetek és algoritmusok

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

INFORMATIKAI ALAPISMERETEK

Maximum kiválasztás tömbben

Java és web programozás

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

Programozás alapjai. 5. előadás

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

OOP: Java 4.Gy: Java osztályok

Objektumorientált Programozás VI.

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

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

3. Gyakorlat Ismerkedés a Java nyelvvel

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

Átírás:

Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes kémiai elemeknek hívjuk. Ebben a feladatban a kémiai elemek felfedezésével kapcsolatos adatforrással kell dolgoznia. A megoldás során vegye figyelembe a következőket: Megoldását úgy készítse el, hogy az azonos szerkezetit, de tetszőleges inputadatok mellett is helyes eredményt adjon! Az ékezetmentes azonosítók és az ékezetmentes kiírás is elfogadott. 1. A feladat megoldásához hozzon létre grafikus vagy konzolalkalmazást (projektet) Kémia azonosítóval! 2. Olvassa be az UTF-8 kódolású felfedezesek.csv állományban lévő adatokat és tárolja el egy olyan adatszerkezetben, ami a további feladatok megoldására alkalmas! Az állományban legfeljebb 200 sor lehet. Az állomány soraiban öt adat található a következő sorrendben: felfedezés éve, kémiai elem neve, elem vegyjele, rendszáma, felfedezők neve. Például: Az adatokat pontosvesszővel választottuk el egymástól. Az állomány első sora az adatok fejlécét tartalmazza. Az adatsorok a felfedezés éve szerint időrendben vannak. Az ókorban felfedezett elemek esetén az Év adatnál az Ókor található, ezek az elemek az állomány elején találhatók. 3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai találhatók! 4. Számolja meg és jelenítse meg a minta szerint az ókorban felfedezett kémiai elem számát! 5. Kérjen be a felhasználótól egy vegyjelet! A bekérést mindaddig ismételje, amíg a bevitt adat nem egyvagy kétjegyű, az angol ábécé betűit [A-Z, a-z] tartalmazó karakter/karakterlánc! 6. Keresse meg az előző feladatban megadott vegyjelű elemet és írja ki a felfedezéssel kapcsolatos adatokat a minta szerint! A keresés ne legyen érzékeny a kis- és nagybetűkre! Ha a keresés eredménytelen, akkor a Nincs ilyen elem az adatforrásban! szöveg jelenjen meg! Ha az előző feladatot nem tudta megoldani, akkor dolgozzon az Sg vegyjellel! 7. Határozza meg és írja ki a képernyőre a minta szerint, hogy hány év volt a leghosszabb időszak két elem felfedezése között az ókor után! 8. Jelenítse meg azokat az éveket, amelyekben több mint három elemet fedeztek fel! Az évszámok után jelenjen meg a minta szerint a felfedczctt clcmck száma! Minta (hibás input esetén);

Minta (nincs találat esetén): Megoldás: using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace kemia class Program struct elemek//készítsen összetett változót az adatok tárolására! public string ev; public int evszam; public string nev; public string vegyjel; public int rendszam; public string felfedezo; static elemek[] adatok = new elemek[200];//az állományban legfeljebb 200 sor lehet. static void Main(string[] args) string[] fajlbol = File.ReadAllLines("felfedezesek.csv");

int sorokszama = 0;//sorok száma a fájlban int i, j;//ciklusváltozó for (int k = 1; k < fajlbol.count(); k++)//ügyeljen arra, hogy az állomány első sora az adatok fejlécét tartalmazza! string[] egysordarabolva = fajlbol[k].split(';');//az adatokat pontosvessző választja el. adatok[sorokszama].ev = egysordarabolva[0]; try adatok[sorokszama].evszam = Convert.ToInt32(egysordarabolva[0]); catch adatok[sorokszama].ev =egysordarabolva[0]; adatok[sorokszama].nev = egysordarabolva[1]; adatok[sorokszama].vegyjel = egysordarabolva[2]; adatok[sorokszama].rendszam = Convert.ToInt32(egysordarabolva[3]); adatok[sorokszama].felfedezo = egysordarabolva[4]; sorokszama++; int elemekszama = sorokszama; Console.WriteLine("Az adatok listája fájlból"); Console.WriteLine(" Év Elem Vegyjel Rendszám Felfedező"); Console.WriteLine("0,-6 1,-15 2,-5 3,-5 4", adatok[i].ev, adatok[i].nev, adatok[i].vegyjel, adatok[i].rendszam, adatok[i].felfedezo); //3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai találhatók! Console.WriteLine("3. feladat: Elemek száma: 0", elemekszama); //4. Számolja meg és jelenítse meg a minta szerint az ókorban felfedezett kémiai elem számát! int okorifelfedezesekszama = 0; if (adatok[i].ev == "Ókor") okorifelfedezesekszama++; Console.WriteLine("4. feladat: Felfedezések száma az ókorban: 0", okorifelfedezesekszama); //5. Kérjen be a felhasználótól egy vegyjelet! //A bekérést mindaddig ismételje, amíg a bevitt adat nem egy- vagy kétjegyű, az angol ábécé betűit [A-Z, a-z] tartalmazó karakter/karakterlánc! bool ok = false; string vegyjelnev; string abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int db=0; do db = 0; ok = false; Console.Write("5. feladat: Kérek egy vegyjelet: "); vegyjelnev =Console.ReadLine(); vegyjelnev = vegyjelnev.toupper(); if(vegyjelnev.length==1 vegyjelnev.length == 2) for(i=0;i<vegyjelnev.length;i++) if (abc.contains(vegyjelnev[i])) db++;

if(db== vegyjelnev.length) ok = true; while (!ok); /*6. Keresse meg az előző feladatban megadott vegyjelű elemet és írja ki a felfedezéssel kapcsolatos adatokat a minta szerint! * A keresés ne legyen érzékeny a kis- és nagybetűkre! * Ha a keresés eredménytelen, akkor a Nincs ilyen elem az adatforrásban! szöveg jelenjen meg! * Ha az előző feladatot nem tudta megoldani, akkor dolgozzon az Sg vegyjellel!*/ //keresés tétele Boolean van = true; i = 0; while (i < elemekszama && adatok[i].vegyjel.toupper().compareto(vegyjelnev)!=0) i++; van = i < elemekszama? true : false; if (van) Console.WriteLine("6. feladat: Keresés \n\taz elem vegyjele: 0\n\tAz elem neve: 1 \n\trendszáma: 2\n\tFelfedezés éve: 3\n\tFelfedező: 4", adatok[i].vegyjel, adatok[i].nev, adatok[i].rendszam, adatok[i].ev, adatok[i].felfedezo); else Console.WriteLine("6. feladat: Nincs ilyen elem az adatforrásban! "); /*7. Határozza meg és írja ki a képernyőre a minta szerint, * hogy hány év volt a leghosszabb időszak két elem felfedezése között az ókor után!*/ int leghosszabev = 0; for (i = 0; i < elemekszama-1; i++) if(adatok[i + 1].evszam - adatok[i].evszam > leghosszabev) leghosszabev = adatok[i + 1].evszam - adatok[i].evszam; Console.WriteLine("7. feladat: 0 év volt a leghosszabb időszak két elem felfedezése között. ",leghosszabev); /*8. Jelenítse meg azokat az éveket, amelyekben több mint három elemet fedeztek fel! * Az évszámok után jelenjen meg a minta szerint a felfedczctt clcmck száma!*/ //adott egy sorozat, határozzuk meg hány különböző eleme van és gyűjtsük ki egy tömbbe int kulonbozoelemekszama = 0; int[] evszamok = new int[100]; int[] evszamokdb = new int[100]; for (i = 0; i < 100; i++) evszamokdb[i] = 0;//adatok nullázása j = 0; while ((j <= kulonbozoelemekszama) && (adatok[i].evszam!= evszamok[j])) j++; if (j > kulonbozoelemekszama) kulonbozoelemekszama++; evszamok[kulonbozoelemekszama] = adatok[i].evszam; //megszámlálás tétele

for (int k = 1; k <= kulonbozoelemekszama; k++) if (evszamok[k] == adatok[i].evszam) evszamokdb[k] ++; Console.WriteLine("8. feladat: Statisztika"); for (i = 1; i <= kulonbozoelemekszama; i++) if(evszamokdb[i]>3) Console.WriteLine("\t0: 1 db ", evszamok[i], evszamokdb[i]); Console.ReadKey();