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. 481. feladat (2019. április)

I. 481. (É). A minap képek kerültek elő egy 1980-as évekbeli lövöldözős számítógépes játékról. A programban a játékos a képernyő bal széléről elindított egy űrhajót, amelynek a megsemmisülést elkerülve kellett eljutnia a képernyő jobb szélére – ezért járt a pont. Az űrhajó útját ,,felülről'' hulló bombák akadályozták. Az első két találatot még túlélte, a harmadiknál viszont megsemmisült. Ha egy űrhajó utolért egy másik, nála lassabb űrhajót, akkor mindkettő megsemmisült.

Ebben a feladatban könnyebb dolgunk van, mint az egykori játékosoknak, pontosan ki tudjuk számítani a bombák becsapódási idejét és az elindított űrhajók útját.

A honlapunkról letölthető ur.txt fájlban megtaláljuk a bombák és az elindított űrhajók adatait. Az első sor két számot tartalmaz: az első a bombák \(\displaystyle B\), a második az űrhajók \(\displaystyle U\) száma. A következő \(\displaystyle B\) sorban soronként három egész szám és egy karakter, a bombák adatai szerepelnek: az első a bomba becsapódásának az űrhajó indítási helyétől mért távolsága, a következő az indítás magassága, a harmadik az indítás időpontja, a negyedik a bomba típusa, amely a becsapódáskor észlelt színhatással egyezik. Minden bomba egységnyi idő alatt egységnyi távolságot tesz meg. Az első három egész szám, az utolsó pedig egyetlen karakter. Tudjuk, hogy egy időpontban adott távolságban csak egy bomba robban. A következő \(\displaystyle U\) sorban soronként két egész szám, az űrhajók adatai láthatók. Az első szám az indítás időpontja, a második az űrhajó sebessége (a táv, amelyet egységnyi idő alatt megtesz, értéke 1 és 5 közötti). A fájlban a bombák adatai a távolság, azon belül az indítás magassága szerint rendezettek, az űrhajók pedig indítási sorrendben vannak.

1. Olvassuk be és tároljuk el az ur.txt fájl tartalmát.

2. Jelenítsük meg, hogy az indítás helyéhez legközelebbi és legtávolabbi olyan helyen, ahol indítottak bombát, összesen hány bombát indítottak.

3. Határozzuk meg, hogy hol robbant az első bomba.

4. Olvassunk be egy időpontot és határozzuk meg, hogy abban a pillanatban hol, milyen típusú bombák robbannak.

5. Határozzuk meg, hogy mely űrhajók semmisülnek meg az első 100 egységnyi távolságon belül egy másik űrhajóval való ütközés miatt.

6. Készítsük el az eredmeny.txt fájlt, amelybe űrhajónként jegyezzük meg, hogy mely helyeken milyen bombák találták el. Minden találathoz két szám tartozik, az első a távolság, a második a típus. Ha az űrhajó egy találatot sem kapott, a sor maradjon üresen. (Az űrhajók közötti ütközéseket ne vegyük figyelembe.)

7. Olvassunk be egy sebességadatot. Határozzuk meg, hogy mikor van az első olyan indítási időpont, amikor ezzel a beolvasott sebességgel haladva az űrhajó átjut a túloldalra. (Az űrhajók közötti ütközéseket most ne vegyük figyelembe.)

Letölthető állomány: ur.txt

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

(10 pont)

A beküldési határidő 2019. május 10-én LEJÁRT.


Sajnos a feladat megfogalmazása nem volt kellőképpen pontos és egyértelmű, ráadásul több ellentmondást is tartalmazott a szövegezés és a mintabemenet. Ezek egy részét lehetett kezelni (pl. a mintabemenet szerkezete eltért a leírástól), más esetben a beküldők nem is feltétlenül figyeltek fel a problémára és a saját értelmezésüknek megfelelően dolgoztak. Mivel nem a versenyzők oldalán volt a probléma, ezért az értékelés is megengedő rugalmassággal történt.

A fentiek miatt az értékelés nem is volt olyan részletességű, mint egy tényleges érettségi feladatnál és emiatt nem emelünk ki egyetlen beküldő megoldását sem.

Az értékelésnél az 1-4 részfeladatot 1-1 ponttal, az 5-7. feladatokat 2-2 ponttal vettük figyelembe.


Statisztika:

4 dolgozat érkezett.
10 pontot kapott:Békési Péter.
8 pontot kapott:2 versenyző.
6 pontot kapott:1 versenyző.

A KöMaL 2019. áprilisi informatika feladatai