Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?
A régi honlapot akarom!!! :-)

A KöMaL 2017. novemberi informatika feladatai

Kérjük, ha még nem tetted meg, olvasd el a versenykiírást.


Feladat típusok elrejtése/megmutatása:


I-jelű feladatok

A beküldési határidő 2017. december 11-én LEJÁRT.


I. 439. Egy hosszú egyenes folyón utazunk folyásirányban lefelé egy kevés benzinnel rendelkező motorcsónakon. A folyószakasz hosszú, ezért csak időnként kapcsoljuk be a motort, különben csak az áramlás sebességével utazunk (sodródunk) lefelé. Amikor a motor működik, akkor a parthoz viszonyított sebesség az áramlás sebességének és a motorcsónak vízhez viszonyított sebességének összege lesz, mivel a csónak mindig az áramlás irányában áll.

Készítsünk programot, amely a különböző folyószakaszok \(\displaystyle v_{i}\) áramlási sebességének, a motorcsónak vízhez viszonyított \(\displaystyle v_{m}\) sebességének és maximális működtetési idejének ismeretében megadja a kiindulási helytől \(\displaystyle L\) távolságra lévő célba érkezés minimális idejét.

A standard bemenet első sora négy számot tartalmaz: a megteendő folyószakasz \(\displaystyle L\) (\(\displaystyle 1\le L\le 100\)) hosszát (km), a motorcsónak \(\displaystyle 1\le v_{m} \le 10\) sebességét (km/h) a vízhez képest, a motor \(\displaystyle T\) (\(\displaystyle 1\le T\le 10\)) maximális üzemeltetési idejét (h) és a különböző sodrási sebességű folyószakaszok \(\displaystyle N\) (\(\displaystyle 1\le N\le 50\)) számát. Az ezt követő \(\displaystyle N\) sor soronként két számot tartalmaz: az adott sodrású folyószakasz elejének a kiindulási helytől mért távolságát (\(\displaystyle 0\le E_{i} \le L\)) (km) és a folyószakasz sodrási sebességét \(\displaystyle v_{i}\) (\(\displaystyle 1\le v_{i} \le 10\)) (km/h).

A standard kimenetre írjuk ki a célba érkezés minimális idejét órában, három tizedesjegy pontossággal.

Példa bemenet (a / jel új sort helyettesít)Kimenet
20 2 3 5 / 0 2 / 3 1 / 7 2 / 12 1 / 15 28.167

Beküldendő egy tömörített i439.zip állományban a program forráskódja, valamint a program 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ői környezetben fordítható.

(10 pont)

megoldás, statisztika


I. 440. (É) A feladat a gsmotthon.hu (utolsó letöltés: 2017.10.22.) weboldalról származó mobiltelefonok adatait összefoglaló táblázat feldolgozása lesz táblázatkezelő program segítségével. A forrásállomány egy-egy sorában rendelkezésre állnak különböző telefonok legfontosabb adatai.

1. Töltsük be a honlapunkról letölthető mobiltelefonok.txt szövegfájlt, mely UTF-8 kódolású és tabulátorokkal tagolt, a táblázatkezelő egy munkalapjára az A1-es cellától kezdődően. A megjelenítés év.hónap formátumban történjen (pl. 2016.08.). Munkánkat i440 néven mentsük a táblázatkezelő alapértelmezett formátumában.

2. Azokban a cellákban, ahol a nyers táblázat nem tartalmazott adatot, és még nincsen benne, jelenjen meg az ,,na'', nincs adat felirat. Kivétel a kódnév oszlop, ahol ezt nem kell megtenni, hiszen megszokott dolog, hogy egy telefonnak nem adnak másodlagos nevet.

3. A rendelkezésre álló szöveges adatok között előfordulnak elírások, például fekete helyett fekte, Android helyett Andorid, ezeket javítsuk ki.

4. Oszloponként jelöljük a megfelelő mértékegységeket. A RAM és a háttértár mérete GB-ban, az ár forintban (Ft), a kamerák képfelbontása megapixelben (MP), a kijelző inchben (\(\displaystyle ''\)), a súly grammban (g), a méretek milliméterben (mm) vannak megadva. A bővíthetőségnél elég azt megjeleníteni, hogy hány GB-ig bővíthető (pl. igen, 32 helyett, 32 GB-ig), és az akkumulátor kapacitása milliamperórában van megadva (mAh).

5. A telefonok árát a készpénz kerekítés szabályai szerint kerekítsük 0-ra, vagy 5-re egy új oszlopba a jelenlegi ár mellé. (A kerekítés szabályai szerint az 1-re, 2-re végződőket 0-ra, a 3-ra, 4-re, 6-ra és 7-re végződőket 5-re, míg a 8-ra és 9-re végződő árakat 10-re kell kerekíteni.)

6. Android telefonok esetében az operációs rendszer típusánál a verziószám helyett jelenjen meg az elnevezése. Az alábbi táblázatot illesszük a megoldásba, és használjunk megfelelő függvényeket a megoldáshoz.

7. Feltételes formázást használva változtassuk meg a betűszínét zöldre azon soroknak, ahol minden adat meg van adva. (Ha csak a kódnév nincsen megadva, attól még jelöljük ki a sort.)

8. Rendezzük a táblázatot a márka, azon belül pedig a típus neve szerinti ABC sorrendbe.

9. A következő feladatot egy új munkalapon oldjuk meg. Gyűjtsük ki kategóriák szerint az előző munkalap adatait felhasználva, hogy összesen hány készülék tartozik az egyes típusokhoz. Ily módon készítsünk – a színek és operációs rendszer mellett – még három általunk választott kategóriát. Minden kategóriának adjunk oszlopcímet és formázzunk a mintán látható módon. Színeknél a kötőjellel jelölt színek azt jelzik, hogy a telefon elő- és hátlapja eltérő színű, ezek a kötőjeles színek egy külön kategóriaként jelenjenek meg. A dupla hátlapi kamerával rendelkező mobiloknál a készülék jelenjen meg mindkét kategóriánál, ha azt választjuk.

10. Készítsünk diagramot új munkalapra, mely szemlélteti, hogy melyik évben hány telefont adtak ki a rendelkezésre álló adatok alapján.

Beküldendő egy tömörített i440.zip állományban a megoldást adó táblázatkezelő munkafüzet és egy rövid dokumentáció, amely megadja a felhasznált táblázatkezelő nevét és verzióját.

Letöltendő fájl: mobiltelefonok.txt

(10 pont)

statisztika


I. 441. Az Első Rend kutatói egy veszélyes sugárfegyvert fejlesztettek ki, amely minden eddig ismert védőpajzson áthatol. Az Ellenállás egy olyan szilárd anyagból álló pajzson kísérletezik, amely a sugárzást visszaveri vagy elnyeli. Tudósaik megállapították, hogy a sugárzás csak két anyag részecskéivel lép reakcióba. Amikor a sugárzás nagy energiájú, akkor a T anyag részecskéi, amikor már kisebb energiájú, akkor az N anyag részecskéi tudják befogni. Mindkét esetben a befogás után nem sokkal a részecskék is kibocsátanak sugárzást: az N anyag sugárzása veszélytelen, míg a T anyag kibocsát egy, a fegyvertől származó sugárzással egyező tulajdonságú, de kisebb energiájú sugárzást. Úgy is tekinthetjük, hogy a T anyag részecskéi visszaverik a nagy energiájú sugarakat, míg a kis energiájúak áthatolnak rajta. Az N anyag részecskéi elnyelik a kis energiájú sugarakat, de a nagy energiájúak áthatolnak rajta. Megmérték, hogy a fegyver sugárzása a T részecskékkel történő ötszöri reakció után válik kis energiájúvá.

A T és az N anyag nagyon ritka a Galaxisban, az Ellenállás csak igen keveset tudott beszerezni belőlük. A tudósok terve az, hogy az N és a T anyag részecskéit elkeverik egy olyan anyagba, amelyen áthatol a sugárzás. Az így kialakított pajzs – megfelelő vastagság, illetve megfelelő számú N és T részecske esetén – alkalmas lenne arra, hogy a sugárzás döntő részét elnyelje, vagy szétszórja, visszaverje. Mivel sem idő, sem megfelelő mennyiségű anyag nem áll rendelkezésre, ezért számítógépes szimulációval vizsgálják, hogy adott N és T részecskemennyiség, valamint falvastagság mellett a bejövő sugárzás mekkora része hatolna át a falon.

A tudósok szerint a jelenséget jól leírja egy síkbeli modell: a fal egy \(\displaystyle a\times b\) oldalú téglalap, a sugárzás a téglalap egyik \(\displaystyle b\) hosszúságú oldalán érkezik, és a téglalap belseje felé tart. A téglalapot gondolatban \(\displaystyle a\times b\) darab egységnyi négyzetre bontjuk. Mindegyik ilyen négyzet vagy üres (itt áthatol a fegyver sugárzása), vagy T típusú (egy T részecskét tartalmaz, amely a nagy energiájú sugárzást elnyeli), vagy N típusú (egy N részecskét tartalmaz, a kis energiájú sugárzást nyeli el). A T típusú szórás azt jelenti, hogy csökkent energiával, ugyanakkor véletlenszerű irányba történik az elnyelést követő kisugárzás. A sugárzás egyenes irányba terjed, minden négyzetet, amelyet érint, vizsgálni kell az előbbiek alapján. Ha a sugárzás a téglalap \(\displaystyle a\) hosszú oldalain kilép, akkor az ellenkező oldalon bejövő sugárzásként folytatja útját. Ha a sugárzás elnyelődik, vagy azon a \(\displaystyle b\) hosszú oldalon lép ki, amelyen beérkezett, akkor a fal hatékonyan működik. Ha a bejövő sugárzás a \(\displaystyle b\) hosszúságú másik oldalon lép ki, akkor átjutott a falon.

Készítsük el a szimulációt végző programot. A program standard bemenete a falat modellező téglalap \(\displaystyle a\) szélessége (\(\displaystyle 10 \le a\le 100\)), és \(\displaystyle b\) magassága (\(\displaystyle 100 \le b \le 10\,000\)), valamint az N és T típusú részecskét tartalmazó négyzetek száma a téglalapon (\(\displaystyle a\cdot b/10 \le \mathrm{N} + \mathrm{T} \le a\cdot b\)). A program adja meg a standard kimeneten, hogy \(\displaystyle 100\,000\) beérkező sugárzásból átlagosan hány sugár jut át a falon.

Példa bemenetekPélda kimenetek
10 150 100 10063495
10 150 100 10063414
20 150 200 40023339
20 150 200 40022930
50 5000 3000 1000036083
50 5000 3000 1000035997

Beküldendő egy tömörített i441.zip állományban a program forráskódja, valamint a program 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ői környezetben fordítható.

(10 pont)


I/S-jelű feladatok

A beküldési határidő 2017. december 11-én LEJÁRT.


I/S. 21. Adott két kiszínezett kocka. Mindkét kocka külső oldalai vannak színezve, egy kockán belül nincs két azonos színű oldal. Elkészítjük a két kocka síkbeli hálóját – bizonyos élek mentén történő felvágással – úgy, hogy egy összefüggő síkidomot kapjunk. Két lehetséges hálót mutat az alábbi ábra:

Írjunk programot, amely eldönti, hogy a két hálóból összeállítható-e hajtogatással két egyező színezésű kocka.

A program a hálók leírását a standard bemenetről olvassa. A bemenet 10, 5 karakter hosszú sorból áll, az első 5 sor az első kocka, a következő 5 sor a második kocka hálóját adja meg. A lapok helyén az angol ábécé egy-egy nagybetűje szerepel, amely a színt jelöli, a többi helyre pedig a * (csillag) karakter kerül.

Ha a két háló azonos színezésű kockát határoz meg, akkor a standard kimenet egyetlen sorába az ,,igen'' szó kerüljön, egyéb esetben pedig annyi sorból álljon, ahány lap színének módosítása legalább szükséges a második kockán az elsővel egyező színezés kialakításához. Minden sorba két karakter kerüljön, az első azt a színt adja meg, amit cserélni kell, a második pedig azt, amire változtatni kell.

Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt.

Beküldendő egy is21.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.

(10 pont)

statisztika


S-jelű feladatok

A beküldési határidő 2017. december 11-én LEJÁRT.


S. 120. Egy különös autóbusz különc utasok elszállításán dolgozik. A megállókban utasok várakoznak, mindegyikben legalább egy. Néhány megálló között közvetlen buszközlekedés van, tehát a busz más megállók érintése nélkül halad közöttük. Bármely két megálló között pontosan egy útvonal van. Az utasok azért különcök, mert az odaérkező buszra a várakozók közül mindig pontosan egy száll föl. A busz is különös, mert útja során nem halad át olyan megállón, amelyben már nincs várakozó. Nincs menetrend, a buszvezető feladata, hogy a megállókat olyan sorrendben érintse, hogy a lehető legtöbb utast tudja fölvenni.

A megállókat 1-től kiindulva pozitív egészekkel azonosítjuk, az utolsó megálló sorszáma \(\displaystyle M\). Az autóbusz kezdetben az 1-es megállóban tartózkodik, és induláskor fölvesz egy embert. Minden megállóról tudjuk, hogy milyen más megállókkal van közvetlen buszkapcsolatban. Kezdetben minden megállóban legalább egy, legföljebb \(\displaystyle U\) utas várakozik, akik türelmesen várják a buszt, nem hagyják el a megállót. Az autóbusz az utasok összegyűjtése után az 1-es megállóba tér vissza.

A program standard bemenete \(\displaystyle M\) és \(\displaystyle U\), majd a következő \(\displaystyle M\) sor mindegyikében az adott megállóban várakozó utasok száma, utána az adott sorszámú megállóból közvetlen buszjárattal elérhető megállók sorszáma szerepel. A program standard kimenete legyen a legtöbb fölvehető utas száma.

Példak:

Bemenet egyes újsor karaktereket / jellel helyettesítettünk Kimenet
12 10 / 3 2 3 6 7 / 6 1 / 2 1 4 / 5 3 / 4 6 / 4 5 1 9 10 11
4 1 8 / 6 7 12 / 6 6 / 5 6 / 2 6 / 3 8
26

Korlátok: \(\displaystyle 2 \le M \le 100\,000\), \(\displaystyle 1 \le U \le 30\).

Értékelés: a megoldás lényegét leíró dokumentáció 1 pontot ér. További 9 pont kapható arra a programra, amely a korlátoknak megfelelő bemenetekre helyes kimenetet ad 1 másodperc futásidő alatt. Részpontszám kapható arra a programra, amely csak kisebb \(\displaystyle M\) és \(\displaystyle U\) érték esetén ad helyes eredményt 1 másodpercen belül.

Beküldendő egy s120.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.

(10 pont)


Figyelem!

Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.