Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az I. 403. feladat (2016. május)

I. 403. A csucsok.txt nevű UTF-8 kódolású, szóközökkel tagolt szöveges állomány Magyarország 700 méternél nagyobb hegycsúcsainak nevét, magasságát, a hegység nevét, valamint GPS koordinátáit tartalmazza. Egy hegyhez több hegycsúcs is tartozhat. Az adatfájlban legfeljebb 300 hegycsúcs adata szerepel. Például:

A fenti példában a Hangyás-bérc nevű hegynek két feljegyzett csúcsa is van. Az első 863 m magas, a Börzsönyben található, északi szélessége 47,9409 fok, keleti hosszúsága 18,9366 fok.

Az adatfájlban ékezetes betűk és tizedesvessző szerepelnek. Megengedett lépés az ékezetes betűk lecserélése ékezet nélkülire, továbbá a tizedes vesszők lecserélése tizedes pontra, pl. Jegyzettömbbel vagy más szerkesztővel.

Készítsünk programot i403 néven a következő feladatok megoldására. A program futása során a képernyőre való kiíráskor utaljunk a feladat sorszámára.

1. Olvassuk be a fájlból a csúcsok adatait, és írassuk ki a képernyőre, hogy hány csúcs van az adatfájlban.

2. Kérjük be egy hegy nevének első betűit, és írassuk ki a képernyőre az ennek megfelelő hegycsúcs(ok) adatait. Ha az adott nevű hegy nem szerepel a fájlban, azt is jelezzük. (Például, ha a felhasználó a ,,Hangyá'' szöveget írja be, akkor jelenjen meg minden olyan hegycsúcs, amelynek neve a ,,Hangyá'' szöveggel kezdődik.)

3. Kérjük be egy hegység nevét, és írassuk ki a képernyőre legmagasabb hegycsúcsának nevét és magasságát. Ha az adott hegység nem szerepel az adatfájlban, azt is jelezzük.

4. Listázzuk ki a képernyőre ábécérendben az adatfájlban szereplő hegységek nevét, minden hegységet pontosan egyszer. A hegységek neve mellett jelenjen meg a hegységben lévő, 700 m-nél nagyobb hegycsúcsok száma is!

5. Kérjük be egy hegycsúcs nevét, és határozzuk meg, milyen távol van a Gellért-hegytől, ha a Gellért-hegy északi szélessége \(\displaystyle 47,483 \,736\,2\) fok, keleti hosszúsága \(\displaystyle 19,037\,055\) fok. (Két GPS koordinátákkal meghatározott pont távolságát légvonalban meghatározhatjuk például a Haversine-formulával (https://en.wikipedia.org/wiki/Haversine_formula.) A számításnál a hegycsúcsok magasságkülönbségét ne vegyük figyelembe. A Föld sugara 6371 km.

6. Melyik két hegycsúcs távolsága a legnagyobb? Jelenítsük meg a képernyőn a két hegycsúcs nevét és hegységének nevét, továbbá a távolságukat.

Beküldendő egy tömörített i403.zip állományban a program forráskódja és rövid dokumentációja, amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.

Letölthető fájl: csucsok.txt.

(10 pont)

A beküldési határidő 2016. június 10-én LEJÁRT.


Értékelés és mintamegoldás:

A feladatra hat megoldás született, 2 Visual Basic, 3 C# és 1 Java nyelven. Egy megoldás volt hiányos, egyben pedig kisebb hiba volt, a többiek teljes értékű megoldást adtak. Több versenyző is kihasználta a LINQ lehetőségeit.

A közölt mintamegoldás Olexó Gergely, a Budapesti Fazekas Mihály Gimnázium 11. osztályos tanulójának C# nyelven készült, a LINQ lehetőségeit is kihasználó megoldása.

i403.cs


Statisztika:

6 dolgozat érkezett.
10 pontot kapott:Kovács 246 Benedek, Nagy Ábel, Olexó Gergely, Rittgasszer Ákos.
9 pontot kapott:Szakali Benedek.
6 pontot kapott:1 versenyző.

A KöMaL 2016. májusi informatika feladatai