Nemes Tihamér OKSzTV'96
Második forduló
11-13. osztályosok
1996. január 20. 1100-1600
1. feladat:
Sportverseny (12 pont)
(A feladat "hálón át" is élvezhető megoldása.)
Egy kosárlabdacsapat 5, egy kézilabdacsapat 7, egy labdarúgócsapat pedig
11 tagú. Egy osztály N (1000000000>=N>=5) tanulóját úgy szeretnénk csapatokra
osztani, hogy senki se szerepeljen egynél több csapatban, s a lehető legkevesebben
maradjanak ki (például egy 18 fős osztályból 1 labdarúgó- és 1 kézilabdacsapatot
szervezünk, mert így senki nem marad ki, 19 fős osztály esetén azonban
már 2 kézi- és 1 kosárlabdacsapatot kell szervezni.).
Készíts programot, amely billentyűzetről beolvassa egy osztály létszámát,
majd kiírja, hogy belőlük hány kosárlabda-, hány kézilabda- és hány labdarúgócsapatot
szervezzünk, s hányan maradnak ki a csapatokból! Ha több megoldás lenne,
akkor azt kell megadni, amelyikben a csapatok száma maximális (ezek szerint
35 tanulóból 7 kosárlabdacsapatot kell szervezni, nem pedig 5 kézilabdacsapatot).
2. feladat:
Kerítésfestés (19 pont)
Sebaj Tóbiás házát léckerítéssel vette körül, s be szeretné festeni.
Különböző színű festékei vannak. Mindegyikről tudja, hogy hány méter kerítést
lehet vele befesteni.Tóbiás nagyon takarékos, ezért ha egyszer egy festékdobozt
megkezd, el is használja.
Segíts neki, készíts olyan programot, amely megmondja, hogy mely festékeket
kell használnia! Ha több lehetőség is van, akkor a programnak azt kell
megadnia, amelyikhez a legkevesebb festékesdobozt kell kinyitnia.
A KERITESx.BE állomány tartalma a következő:
-
első sor: a kerítés hossza (H),
-
második sor: a festékesdobozok száma (N),
-
következő N sor: a dobozokban levő festékkel befesthető kerítésszakasz
hossza (egész számként), s tőle egyetlen szóközzel elválasztva a festék
színe.
A KERITESx.KI állományba, valamint a képernyő első sorába a "BE LEHET FESTENI",
vagy a "NEM LEHET BEFESTENI" szövegeet kell írni. Ha be lehet festeni a
kerítést a megadott feltételek mellett, akkor a következő sorba a felhasznált
dobozok számát (M), akövetkező M sorba pedig a felhasznált dobozokban levő
festék színét és a vele befesthető kerítésszakasz hosszát kell írni, az
utóbbiakat egyetlen szóközzel elválasztva. Ha nem lehet befesteni a kerítést,
akkor vagy a "NINCS ELÉG FESTÉK", vagy a "MARAD VALAMELYIK FESTÉKBőL" szöveget
kell írni a második sorba.
3. feladat:
Autóverseny (26 pont)
Egy Forma-1-es versenypálya alakját egy betűsorozattal írjuk le, amelyben
a B, E, J betűk szerepelhetnek. Az egyes betűk jelentése:
B: balkanyar |
E: egyenes szakasz |
J: jobbkanyar |
Mindhárom betű S méter hosszúságú útszakaszt jelöl. Az autók
0 m/s sebességgel indulnak a rajthelyről, egyenes szakaszon a maximális
sebességük
M m/s, a gyorsulásuk pedig állandó, maximum
G
m/s2. Kanyarban az autók maximális sebessége K m/s,
gyorsítaniuk, illetve lassítaniuk nem szabad.
Emlékeztetőül:
A T idő alatt megtett út: S=V*T+I/2*G*T2
G gyorsulás hatására a sebesség T idő múlva: Vúj=V+G*T
Készíts programot, amely egy adott versenypálya minden szakaszára kiszámolja,
hogy a pályán a lehető leggyorsabban haladó autó az egyes szakaszok végén
milyen sebességet ér el, és meghatározza a pálya megtételéhez szükséges
időt!
S, M, G és K értékét a program a billentyűzetről olvassa be.
A FORMA1.x.BE állomány minden egyes sorában egy-egy versenypályát leíró
betűsorozat van. A FORMA1x.KI állományba ugyanennyi sort kell írni; az
egyes sorokban a pályaszakaszok végén elért sebességértékeket kell felsorolni,
végül a pálya megtételéhez szükséges időt kell megadni. Az egyes számokat
legalább egy szóközzel kell elválasztani egymástól.
Példa: (az eredményben szereplő valós számokat egy tizedesjeggyel
ábrázolva)
Billentyűzet |
FORMA1A.BE |
FORMA1A.KI |
S=10
M=100
G=40
K=50 |
EEEEBBEEEEJJBBEE |
28.3
40.0
49.0
50.0
50.0
50.0
57.4
64.0
57.4
50.0
50.0
50.0
50.0
50.0
57.4
64.9
5.9 |
4. feladat:
Nyomtatás (18 pont)
Az ISKOLAx.BE állományban egy város középiskolás tanulóiról az alábbi
adatokat tároljuk (minden adat szöveg típusú, minden adat külön sorban
van):
1. A tanuló neve
2. A tanuló születési ideje
3. A középiskola neve
4. A tanuló évfolyama
5. A tanuló osztálya
6. A tanuló tanulmányi átlaga
Az állomány a (3, 4, 5, 1) sorszámú pontok alapján lexikografikusan rendezve
van.
Írj programot, amely kilistázza a tárolt adatok közül a tanulók nevét,
születési idejét és tanulmányi átlagát három egymás utáni sorban. Egy tanuló
minden adatának ugyanarra az oldalra kell kerülnie.
Az eredményt nyomtató helyett az ISKOLAx.KI állományba és a képernyőre
kell írni. A listát oldalakra kell bontani (az állományban az oldal végét
egy legalább 40 db jelből álló sor jelezze, képernyőn pedig minden lap
végén billentyűlenyomásra kell várni a programnak, majd képernyőtörlés
után folytatni kell a kiírást). Egy oldalra N db sor fér (plusz a fejléc
és a lábléc). Minden oldal tetejére fejlécet, aljára (a láblécbe) a lap
sorszámát (1-től kezdve) kell írni. A lapra írható sorok N számát, valamint
az egysoros fejlécszöveget a program a billentyűzetről olvassa be.
Egy-egy iskola, évfolyam vagy osztály adatai elé ún. bevezető sort kell
írni az alábbiak közül a megfelelő szöveggel:
-
Az XY középiskola adatai
-
Az XY középiskola n. évfolyamának adatai
-
Az XY középiskola n. évfolyama k. osztályának adatai
Az iskolákhoz tartozó bevezető sorokkülön oldalon legyenek. Az évfolyamokhoz
tartozó bevezető sorok új oldal tetejére kerüljenek. Az osztályok bevezető
sorai előtt 2-2 üres sorrt kell hagyni (kivéve, ha lap tetejére kreülnek).
Az évfolyamok és az osztályok bevezető sorát egy-egy üres sor kövesse.
Az iskola, évfolyam és az osztály adatainak kiírása után egy üres sor
(a lap teteje kivételével), majd egy összefoglaló sor következzék. Az összefoglaló
sor tartalmazza
-
iskola esetén az évfolyamok, osztályok, illetve tanulók számát;
-
évfolyamok esetén a legfiatalabb tanuló születési idejét;
-
osztály esetén az osztály tanulmányi eredményeinek átlagát.
A listázás során arra is ügyelni kell, hogy egy-egy osztály bevezető sora
legalább egy tanulójának adatai ugyanazon oldalon legyenek.
Elérhető összpontszám: 75 pont+25 pont az 1. fordulóból