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 KöMaL 2007. decemberi 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ő 2008. január 15-én LEJÁRT.


I. 172. Egy áruház téli akciójában minden vásárlást követően, amelynek értéke meghaladja a 3000 Ft-ot, egy 100 Ft értékű utalványt kapunk. Az utalvány egy következő vásárláskor használható fel. Tervezzük, hogy a közeljövőben több terméket is vásárolunk az áruházban. Szeretnénk a lehető legjobban kihasználni az akcióban rejlő lehetőséget, ezért nem egyszerre vesszük meg, amiket szeretnénk, hanem többször vásárolunk: a megvételre kiválasztott termékeket áraik alapján úgy csoportosítjuk, hogy összességében a lehető legkevesebbet kelljen fizetni értük, tehát a vásárlások során a legtöbb kedvezményt kapjuk.

Készítsünk programot, amely a megvásárolandó termékeket (legföljebb 100 darabot) azok ára alapján úgy csoportosítja, hogy a lehető legtöbb utalványt kapjuk, így a lehető legkevesebbet kelljen összesen fizetni. A termékeket tartalmazó szöveges bemeneti fájl minden egyes sorában a termékek 6 jegyű kódja (egy hat számjegyből álló szám) és a termék ára (10 Ft és 50 000 Ft közötti érték) szerepel, egymástól szóközzel elválasztva. A program olvassa be a fenti adatokat a parancssor első paramétereként megadott bemeneti állományból, majd a második paraméterként megadott kimeneti állományba írja az eredményt. Az eredmény csak az egyes vásárlások alkalmával fizetendő összegeket tartalmazza, egy vásárlás összegét egy sorban, illetve az állomány utolsó sorában a teljes fizetendő összeg szerepeljen.

Beküldendő a program forráskódja (i172.pas, i172.cpp, ...), valamint a program rövid dokumentációja (i172.txt, i172.pdf, ...), 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ó.

(10 pont)

megoldás, statisztika


I. 173. Egy 14 kérdésből álló szellemi totó minden kérdésére az 1, 2, vagy X válaszok valamelyikét lehetett megjelölni. A beérkezett szelvények alapján a zsűri szeretné kiválasztani a legokosabb versenyzőt a válaszadók közül a következő módon: minden kérdés annyi pontot ér, ahányan nem találták meg a helyes választ (vagy nem adtak választ) a kérdésre. A kérdés így kialakult pontértékét kapják a helyesen tippelők. Az egyes kérdésekre kapott pontértékek alapján a legtöbb pontot szerző versenyzőt, vagy holtverseny esetén az összes ilyen versenyzőt tekintjük legokosabbnak, illetve legokosabbaknak.

Készítsünk táblázatkezelő alkalmazást, amely a zsűri helyett elvégzi a totó kiértékelését. A táblázatkezelő munkafüzetének ,,Válaszok'' munkalapjának első 15 oszlopában az első sortól kiindulva a legföljebb 500 versenyző neve, valamint a feltett 14 kérdésre adott válaszuk szerepel (ha valaki nem válaszolt egy kérdésre, akkor a cella üresen marad). A munkafüzet ,,Számítások'' munkalapján állítsuk elő és adjuk meg az eredményt: az A1 cellában a maximális pontszám, a B1 cellában a legokosabb(ak) neve(i) szerepeljen(ek).

Beküldendő a táblázatkezelő munkafüzet (i173.xls, i173.ods, ...), illetve egy rövid dokumentáció (i173.txt, i173.pdf, ...), amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziószáma, valamint a megoldás rövid leírása.

(10 pont)

megoldás, statisztika


I. 174. A Pénznyelő Kft. valuta adásvételével foglalkozik. Számukra nagyon fontos, hogy minden nap az összes munkatársuk kézhez kapja az összes árfolyamhoz tartozó váltószámot. Szerencsére a cég vezetője talált egy weboldalt, ahol egy valutához az összes aktuális váltószám megtalálható. Az oldal forrásának szerkezete a következő:

...
<table>
<tr><td>Bergengóc dollár</td>
<td>100</td></tr>
<tr><td>Üveghegyi zseton</td>
<td>76</td></tr>
<tr><td>Banyalaki mézeskalács</td>
<td>80
...
</table>
...
A táblázat első sora az alap valuta, a többit ehhez mérve adja meg az oldal, vagyis esetünkben 100 Bergengóc dollár 76 Üveghegyi zseton-t vagy 80 Banyalaki mézeskalács-ot ér.

Készítsünk programot, amely a HTML oldal alapján elkészít egy TXT állományt az összes lehetséges valutához tartozó szorzóval.

Az előző példa esetén a TXT fájl tartalma:

A program bemenő paraméterei a HTML oldal neve, és a létrehozandó kimenet. (Pl.: i174 be.html ki.txt).

Beküldendő a program forráskódja (i174.pas, i174.cpp, ...), valamint a program rövid dokumentációja (i174.txt, i174.pdf, ...), 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ó.

(10 pont)

megoldás, statisztika


S-jelű feladatok

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


S. 31. Egy matematika órán unatkozó diák olyan 5×5-ös táblázatokat talált ki, amelyek egyenleteket tartalmaznak. Az egyenletekben, melyek egyes részei a táblázat celláiba kerülnek, egybetűs ismeretlenek, a négy alapművelet jele, és persze az egyenlőségjel fordul elő. Tekintsük például a következő ilyen táblázatot:

A táblázat sorait balról jobbra, oszlopait és két főátlóját felülről lefelé kiolvasva egy nyolc egyenletből álló egyenletrendszert kapunk. A kapott egyenletrendszer olyan, hogy annak megoldása során mindig van olyan egyenlet, amelyből a többi egyenlettől függetlenül következtetni lehet valamely ismeretlen értékére, vagy két ismeretlen közötti egyszerű kapcsolatra.

A fenti példában az alsó sor alapján d=0, vagy e=1 csak ezt az egyenletet megvizsgálva adódik. Az első oszlopból ugyanakkor a=0 érték következik, amiből az első sorban b=c. A megoldást hasonló módon folytatva a végeredmény: a=d=0, b=c=e=bármi, vagy a=0, e=1, b=c=1+d és d bármi.

Készítsünk programot, amely tetszőleges, az előbbi táblázat formájában helyesen felírt egyenletrendszert megold. A program a táblázatot a parancssor első paramétereként átadott bemeneti szöveges állományból olvassa. Az állomány öt egymás utáni sorában egy-egy szóközzel elválasztva a táblázat egyes celláiban található ismeretlenek és matematikai jelek szerepelnek. A program írja a standard kimenetre abc sorrendben az egyes ismeretlenek kiszámított értékeit (például ,,a=3.25'', vagy ,,a értéke tetszőleges'' alakban), illetve a ,,nincs megoldás'' szöveget, ha az egyenletrendszer megoldhatatlan.

Beküldendő a program forráskódja (s31.pas, s31.cpp, ...), valamint a program rövid dokumentációja (s31.txt, s31.pdf, ...), 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ó.

Javasolta: Tálas András (Budapest, 12. évf.)

(10 pont)

statisztika


Figyelem!

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