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

Hasonló dokumentumok
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.

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

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

Kalapácsvetés 2016 szöveges

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!

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

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK

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

BME MOGI Gépészeti informatika 13.

INFORMATIKAI ALAPISMERETEK

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

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

PROGRAMOZÁS ALAPFELADATOK

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

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

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

MestInt gyakorlat visszalépéses keresés

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

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

Szoftvertervezés és -fejlesztés I.

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

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

Informatika terméktervezőknek

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

BME MOGI Gépészeti informatika 5.

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

BME MOGI Gépészeti informatika 4.

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

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

C# feladatok gyűjteménye

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

INFORMATIKAI ALAPISMERETEK

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

Objektumorientált Programozás VI.

OOP: Java 8.Gy: Gyakorlás

4. Gy: JAVA osztályok

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

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

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

BME MOGI Gépészeti informatika 1.

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

A C# PROGRAMOZÁSI NYELV

1. Alapok. Programozás II

INFORMATIKAI ALAPISMERETEK

117. AA Megoldó Alfréd AA 117.

INFORMATIKAI ALAPISMERETEK

Bánsághi Anna

Maximum kiválasztás tömbben

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

Java és web programozás

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

INFORMATIKAI ALAPISMERETEK

Gyakorló feladatok az 1. nagy zárthelyire

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

A C# programozási nyelv alapjai

Objektumorientált programozás C# nyelven

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

Java gyakorlat feladatai e s megolda sai ( )

OOP: Java 4.Gy: Java osztályok

Programozás alapjai 9.Gy: Struktúra 2.

Szoftvertechnolo gia gyakorlat

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

OOP: Java 1.Gy: Java alapok

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

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

5. Gyakorlat. struct diak {

Java és web programozás

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

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

Objektumorientált programozás C# nyelven

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

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

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

Bánsághi Anna

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

Objektumorientált programozás C# nyelven III.

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

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

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

3. Gyakorlat Ismerkedés a Java nyelvvel

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

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

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

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

Algoritmusok és adatszerkezetek II.

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

C# feladatgyűjtemény

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

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

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

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

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Szoftvertechnológia alapjai Java előadások

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

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

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

Java Programozás 11. Ea: MVC modell

Átírás:

Space Shuttle 40 Pont A Space Shuttle (magyarul űrsikló", hivatalos angol nevén: Space Transportation System, STS) az Amerikai Egyesült Államok ember szállítására is alkalmas űrprogramja volt. Feladatai közé tartozott az állandó személyzet cseréje a Nemzetközi Űrállomáson, az utánpótlás és az állomás elemeinek odaszállítása, műholdak pályára állítása és karbantartása, illetve különböző kísérletek és mérések alacsony Föld körüli pályákon. Ebben a feladatban a Space Shuttle küldetéseivel kapcsolatos feladatokat kell majd megoldania. A megoldás során vegye figyelembe a következőket: 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:)! Az egyes feladatokban a kiírásokat a minta szerint készítse el! Az ékezetmentes kiírás is elfogadott. A program megírásakor a fájlban lévő adatok helyes szerkezetét nem kell ellenőriznie, feltételezheti, hogy a rendelkezésre álló adatok a leírtaknak megfelelnek. A megoldását úgy készítse el, hogy az azonos szerkezetű, de tetszőleges bemeneti adatok mellett is helyes eredményt adjon! Az UTF-8-as kódolású kuldetesek.csv állomány soronként tartalmazza a küldetések kódját, és néhány, a küldetéssel kapcsolatos részletet. Az állománynak maximum 200 sora lehet, az adatokat pontosvessző karakter választja el egymástól. Például: STS-50; 1992.06.25;Columbia;13;19;Kennedy;7 Ahol az adatok rendre a következők: A küldetés kódja (pl.: STS-50), az űrsikló kilövésének dátuma (pl.: 1992.06.25), a küldetést végző űrsikló neve (pl.: Columbia), hány napot (pl.: 13) és hány órát (pl.: 19) töltött a sikló földön kívül a küldetés alatt, a légitámaszpont neve, ahol a sikló a küldetés végeztével landolt (pl.: Kennedy), mekkora legénységgel szállt fel a sikló (pl.: 7). 1. Készítsen programot a következő feladatok megoldására, melynek forráskódját SpaceShuttle néven mentse el! 2. Olvassa be a kuldetesek.csv állományban lévő adatokat és tárolja el egy olyan adatszerkezetben, ami a további feladatok megoldására alkalmas! 3. Határozza meg és írja ki a képernyőre a minta szerint, hogy hányszor küldtek a világűrbe űrhajót az Space Shuttle program keretein belül! 4. Határozza meg és írja ki a képernyőre a minta szerint, hogy hány utast szállítottak összesen a Space Shuttle űrsiklói! 5. Határozza meg és írja ki a képernyőre a minta szerint, hogy hány alkalommal indítottak űrsiklót kevesebb, mint 5 fővel a világűrbe! 6. 2003. február 1-jén a Földre való visszatérés közben a Columbia űrsikló megsemmisült, nem voltak túlélők. Határozza meg és írja ki a képernyőre a minta szerint, hogy hány asztronauta kísérte el a Columbiát utolsó útjára!

7. Határozza meg és írja ki a képernyőre a minta szerint annak az űrsiklónak a nevét, a küldetés kódját és az űrben töltött időt órában, amikor a leghosszabb ideig volt távol a Földtől űrhajó, amit Space Shuttle program indított! Feltételezheti, hogy nem volt két ilyen hosszúságú küldetés. 8. Kérjen be egy évszámot! Határozza meg és írja ki a képernyőre a minta szerint, hogy a megadott évben hány alkalommal indítottak űrsiklót útnak. Ha a megadott évben nem indult küldetés, az Ebben az évben nem indult küldetés" szöveg jelenjen meg. 9. Határozza meg és írja ki a képernyőre a minta szerint, hogy a landolások hány %-a történt az Kennedy űrközponton. 10. írja ki az ursiklok.txt állományba a minta szerint, hogy melyik űrsikló összesen hány napot töltött az űrben! (Minden sikló neve csak egyszer szerepeljen!) Minta a feladathoz: Minta az ursiklok.txt állományhoz: Megoldás: using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ursiklo

class Program //adatszerkezet létrehozása struct adatsor public string kod; public DateTime kiloves; public string ursiklonev; public double nap; public double ora; public string landolas; public int legenyseg; static adatsor[] adatok = new adatsor[200];//maximum 200 adatot tartalmazhat az adatok static void Main(string[] args) string[] fajlbol = File.ReadAllLines("kuldetesek.csv");//adatok beolvasása fájlból int tindex = 0;//sorok száma a fájlban //adatok tárolása a struktúrában for (int i = 0; i < fajlbol.count(); i++) string[] egysordarabolva = fajlbol[i].split(';'); adatok[tindex].kod = egysordarabolva[0]; adatok[tindex].kiloves = Convert.ToDateTime(egysordarabolva[1]); adatok[tindex].ursiklonev = egysordarabolva[2]; adatok[tindex].nap = Convert.ToDouble(egysordarabolva[3]); adatok[tindex].ora = Convert.ToDouble(egysordarabolva[4]); adatok[tindex].landolas = egysordarabolva[5]; adatok[tindex].legenyseg = Convert.ToInt32(egysordarabolva[6]); tindex++; //3. Határozza meg és írja ki a képernyőre a minta szerint, hogy //hányszor küldtek a világűrbe úrhajót az Space Shuttle program keretein belül! Console.WriteLine("3. feladat:\n\tösszesen 0 alkalommal indítottak űrhajót.", tindex); //4. Határozza meg és írja ki a képernyőre a minta szerint, hogy //hány utast szállítottak összesen a Space Shuttle űrsiklói! //összegzés tétele int utasokosszesen = 0; utasokosszesen += adatok[i].legenyseg; Console.WriteLine("4. feladat:\n\t 0 utas indult az űrbe összesen.", utasokosszesen); //5. Határozza meg és írja ki a képernyőre a minta szerint, hogy //hány alkalommal indítottak űrsiklót kevesebb, mint 5 fővel a világűrbe! int alkalmak = 0; if(adatok[i].legenyseg<5) alkalmak++; Console.WriteLine("5. feladat:\n\t Összesen 0 alkalommal küldtek kevesebb, mint 5 embert az űrbe.", alkalmak); //6. 2003.február 1 jén a Földre való visszatérés közben a Columbia űrsikló megsemmisült, nem voltak //túlélők.határozza meg és írja ki a képernyőre a minta szerint, hogy //hány asztronauta kísérte el a Columbiát utolsó útjára! //kiválasztás tétele /*Eljárás kiválasztás i:=1 Ciklus amíg A[i] nem T tulajdonságú ha T tulajdonságú akkor vége

i:=i+1 Ciklus vége Sorsz:=i a T tulajdonságú elem sorszáma lesz a Sorsz nevű változóba Eljárás vége */ int j = tindex;//visszafele keresünk while (adatok[j].ursiklonev!= "Columbia") j--; Console.WriteLine("6. feladat:\n\t0 asztronauta volt a Columbia fedélzetén annak utolsó útján.", adatok[j].legenyseg); //7. Határozza meg és írja ki a képernyőre a minta szerint annak az űrsiklónak a nevét, a küldetés kódját és //az űrben töltött időt órában, amikor a leghosszabb ideig volt távol a Földtől űrhajó, amit Space Shuttle //program indított!feltételezheti, hogy nem volt két ilyen hosszúságú küldetés. //maximumkiválasztás tétele double max = adatok[0].nap * 24 + adatok[0].ora; int maxindex = 0; for (int i = 1; i < tindex; i++) if ((adatok[i].nap * 24 + adatok[i].ora)>max) max = adatok[i].nap * 24 + adatok[i].ora; maxindex = i; Console.WriteLine("7. feladat:\n\t A leghosszabb ideig a 0 volt az űrben a 1 küldetés során.", adatok[maxindex].ursiklonev, adatok[maxindex].kod); Console.WriteLine("\t összesen 0 órát volt távol a földtől", max); //8. Kérjen be egy évszámot! Határozza meg és írja ki a képernyőre a minta szerint, hogy a megadott évben //hány alkalommal indítottak űrsiklót útnak.ha a megadott évben nem indult küldetés, az // Ebben az évben nem indult küldetés szöveg jelenjen meg. Console.Write("8. feladat:\n\tévszám: "); int evszam = Convert.ToInt32(Console.ReadLine()); //keresés tétele int k = 0; alkalmak = 0; bool van = false; while ((k < tindex) && adatok[k].kiloves.year!= evszam) k++; if (k < tindex) van = true; if (van) if (adatok[i].kiloves.year == evszam) alkalmak++; Console.WriteLine("\t Ebben az évben 0 küldetés volt.", alkalmak); else Console.WriteLine("\t Ebben az évben nem indult küldetés"); //9. Határozza meg és írja ki a képernyőre a minta szerint, hogy //a landolások hány % a történt az Kennedy űrközponton.

double landolasokszama = 0; if (adatok[i].landolas == "Kennedy") landolasokszama++; Console.WriteLine("9. feladat:\n\t A küldetések 0%-a fejeződött be a Kennedy űrközpontban.",math.round(landolasokszama / tindex*100,2)); //10. írja ki az ursiklok.txt állományba a minta szerint, hogy //melyik űrsikló összesen hány napot töltött az űrben!(minden sikló neve csak egyszer szerepeljen!) //kiválogatás tétele int kulonbozoelemekszama = 0; string[] ursiklonevek = new string[100]; j = 0; while ((j <= kulonbozoelemekszama) && (adatok[i].ursiklonev!= ursiklonevek[j])) j++; if (j > kulonbozoelemekszama) kulonbozoelemekszama++; ursiklonevek[kulonbozoelemekszama] = adatok[i].ursiklonev; //fájlbaírás FileStream fnev = new FileStream("ursiklok.txt", FileMode.Create); StreamWriter fajlbairo = new StreamWriter(fnev); double[] osszesnapokszama = new double[100]; for (j = 0; j < 100; j++) osszesnapokszama[j] = 0; for (int i = 1; i <= kulonbozoelemekszama; i++) for ( j = 0; j < tindex; j++) if (adatok[j].ursiklonev == ursiklonevek[i]) osszesnapokszama[i] += (adatok[j].nap + (adatok[j].ora / 24)); for (j = 1; j <= kulonbozoelemekszama; j++) fajlbairo.write("0;", ursiklonevek[j]); fajlbairo.write("\t0;", Math.Round(osszesnapokszama[j],2)); fajlbairo.writeline("\n");//sortörés fajlbairo.close(); fnev.close(); Console.ReadKey();