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

Fórum: Informatika kömal

  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]    [11]    [12]    [13]    [14]  

Szeretnél hozzászólni? Jelentkezz be.
[38] Engedy Balázs2008-02-03 18:41:58

Kedves Tibixe!

A programozásnak (szoftverfejlesztésnek) van jó néhány olyan aspektusa, melyek a pontversenyben (és a legtöbb ilyen témájú versenyben) egyáltalán nem, vagy csak kis szerephez jutnak. Úgy, ahogy dokumentáció címén általában megelégszünk egy pársoros leírással, nem célunk túlságosan belemélyedni az implementációs részletekbe sem.

A be- és kivitellel kapcsolatban mindössze annyit várunk el, hogy a program képes legyen a feladatban specifikált bemenetet beolvasni, a kimenetet pedig a kért formátumban kiírni.

Egyes feladatok esetén a bemeneti specifikáció nem teljes, itt ennek konkretizálása is a versenyzők feladata, a verseny része. A józanész határain belül minden megoldást el szoktunk fogadni.

A józanész határa pedig a feladat szövegéből derül ki, természetesen feladatról feladatra más. Így elképzelhető, hogy ha valaki a bemenetet egy fix hosszú tömbbe olvassa be, azt egyik feladatnál pontlevonással jutalmazzuk, míg egy másik feladatnál programját mintamegoldásként közöljük.

Például az I. 163. feladatnál a fájlban lévő összes kódszó egyszerre történő beolvasása 2 pont veszteséget jelentett, ellenben az I. 170.-nél úgy gondoljuk, hogy a felhasználótól bekért egyetlen szóról azért nyugodtan feltehetjük, hogy 100 karakternél rövidebb lesz.

Az dinamikus szélességű beolvasás valóban jobb, de bonyolultabb is, így ésszerű esetben a fix tömb használatát is elfogadjuk, még annak ellenére is, hogy egy éles programnál komoly biztonsági kockázatot jelenthet. Az ilyen jellegű ismeretek számonkérése ennek a pontversenynek nem célja - ahogy a legtöbb ilyen témájú versenynek sem.

Üdv, E.B.

Előzmény: [37] Tibixe, 2008-01-30 14:44:09
[37] Tibixe2008-01-30 14:44:09

http://www.komal.hu/kep/abra/a0/b3/5a/7b2fb72d775efbb0583da1532/i170.cpp

Ebben a mintamegoldásban (!) csak nekem szúrja a szememet, hogy rögzített méretű bufferbe olvas be mindenféle hosszúságellenőrzés nélkül?

Én meg itt szórakoztam a reallockal...

[35] Tibixe2007-12-01 18:35:27

Van valami részletes információ az informatika pontverseny szabályairól?

A versenykiírást meg a tudnivalókat megnéztem, de ezeket nem tudtam meg belőle, főleg a C (és C++) nyelvet illetően:

1) Milyen fordítókkal, milyen operációs rendszer alatt futtatják?

2) Milyen header fájlokat használhatok? Csak szabványban szereplőket? Melyik szabvány? Vagy ami a fordítóval jön? Például a Linux rendszereken alapból include pathban van a crypt.h, a glibc tartalmazza, szóval akkor azt felhasználhatnám?

[34] rlblaster2007-02-04 12:49:57

Uff, ezt elnéztem. Elnézést, hogy nem olvastam vissza. Lehet törölni az utolsó három (az összes) hozzászólásomat. :)

Előzmény: [33] rlblaster, 2007-02-04 12:48:21
[33] rlblaster2007-02-04 12:48:21

Lehet sokat pofázok, de a S23 példakimenetének utolsó sorában nincs véletlenül hiba?

Ez van ott: --- szabad 675 358-377 161-177 378-382 1046-1078

Szerintem pedig: --- szabad 675 358-377 161-177 378-382 1146-1778

Magyarázat 1:

Ha összeadom a területeket a példakimenet szerint, nem 675 fog kijönni a szabad területnek.

Magyarázat 2:

Az egész példakimenet:

hoember 175 1099-1145 411-538

idojaras.txt 160 1-160

mese.doc 208 383-410 178-357

mikulas.jpg 560 539-1098

--- szabad 675 358-377 161-177 378-382 1046-1078

Most vegyük pl. a 1050-es szektort. Az most a mikulas.jpg-hez tartozik vagy a szabad területhez? (hasonlóan vannak átfedések a hoember és a szabad terület között)

Köszönöm.

Előzmény: [32] rlblaster, 2007-01-31 06:44:27
[32] rlblaster2007-01-31 06:44:27

Valaki meg tudná mondani, mert én nem tudtam kiolvasni a feladatból, hogy hány karakter lehet a fájlnév maximális mérete? (netán 8+1+3?)

Köszönöm.

Előzmény: [31] ocsi01, 2007-01-28 22:42:18
[31] ocsi012007-01-28 22:42:18

Az S.23. feladat szerintem el van írva, ugyanis a példára a kimenet utolsó sorának utolsó két száma nem 1046-1078 ahogy az újságban van, hanem 1146-1778 ( gondoljatok bele, az utolsó üres hely mérete 633, már itt hibázik a dolog)

[30] Fálesz Mihály2007-01-23 20:16:11

Szerintem aki Linux párti (mint én is), az maradjon a GCC-nél és tanuljon meg Xwin grafikát programozni. (Btw a rajzolás nem nagy ügy, de mire ki tudsz nyitni egy ablakot... :-) )

Az egyáltalán nem baj, ha egy feladat megoldásához új dolgoknak kell utánajárnod. Amit most megtanulsz, az később is nagyon hasznos lesz.

[29] Schmieder László2007-01-20 19:34:56

A grafika valóban kérdés - bár valójában csak Linux/GCC fejlesztés mellett. Mert hogy Win alatt a Borland vagy a Microsoft C++ fejlesztőkben könnyen elérhető a grafika (majdnem olyan egyszerű, mint a régi jó graphics.h).

Ha valaki kitart a GCC mellett Lin vagy Win alatt, akkor nincs ötletem. Az természetesen túlzás, hogy valaki csak emiatt OpenGL-t tanuljon (gondolom én, aki nem is ismerem).

Szóval azt gondolnám, hogy a feladat kedvéért egy Borland 30 napos próbaverziót, vagy egy Microsoft otthoni változatot érdemes letölteni, és azzal megismerkedni (a honlapjukon megtalálhatók).

Előzmény: [28] Szász Bence, 2007-01-13 01:43:10
[28] Szász Bence2007-01-13 01:43:10

Bocsánat kihagytam. A fő kérdés az lenne, hogyan lehet grafikázni egy KöMaL feladat megoldásakor (tehát milyen könyvtárat kell/lehet használni).

Előzmény: [27] Szász Bence, 2007-01-13 01:36:02
[27] Szász Bence2007-01-13 01:36:02

Sziasztok! Kicsit bután érzem magam, de azért felteszem a kérdést :) Az a lénye, hogy grafikázni nem igen grafikáztam még C++ nyelven, csak valamikor nagyon régen a graphics.h segítségével. Ma viszont azzal szembesültem, hogy ez már nincs benne a GCC-ben és mindengol "őskövület"-nek titulálják. Komolyan OpenGL-el kéne rajzolgatnom? Mivel lehetne pixeleket/vonalakat rajzolgatni egyszerűen? A válaszokat előre is köszönöm.

[26] Róbert Gida2006-12-02 00:41:39

Először megnyitod a file-t, megszámolod hány oldal stb. van benne, ekkor a végén már mindent tudni fogsz, hogy mennyi memória kell, foglalsz memóriát malloc-kal és megint megnyitod a file-t, feltöltöd adatokkal a mtárixot/vektort.

Jó, persze lehet végtelen ciklus is az inputok között, bár ilyenkor nem áll le a progi, így nem értem, hogy miért lenne a tesztek között ilyen. De persze utolsó tesztnek ilyet berakhatnak, hogy megnézzk, hogy olyan 1 perc alatt tényleg nem áll le.

Előzmény: [25] ocsi01, 2006-12-01 23:31:05
[25] ocsi012006-12-01 23:31:05

Hát... a malloc az rendben, bár a kétszeres filescannelést nem értem, hogy érted, de nem is az adatok feldolgozásával van gondom... csak mert furcsa dolog úgy programt írni, hogy nem tudom hány oldallal számoljak... mert ez esetleg nagyban befolyásolhatja a megoldásmenetet!!!

Végtelenciklusra sok eset van, de miért kéne bármit is feltételeznem az inputról ami nincs leírva?

[24] Róbert Gida2006-11-30 23:15:06

Persze ez c++ban van.

Előzmény: [23] Róbert Gida, 2006-11-30 23:12:02
[23] Róbert Gida2006-11-30 23:12:02

Több mód is van rá, remélem nem árulok el titkokat: próbálkozhatsz malloc/realloc párossal, dinamikus helyfoglalás, csak malloc-kal is megoldható, de ehhez kétszer dolgozod fel a txt állományt, illetve, ha gyorsabban szeretnéd, csak egyszer feldolgozva, de ahhoz realloc is kell.

Szerintem sokszög belső pontjából nem indítják, persze még így is ciklizálhat szerintem, de nyilván nem szerepel ilyen az inputok között.

Előzmény: [22] ocsi01, 2006-11-30 22:57:43
[22] ocsi012006-11-30 22:57:43

A mostani S.21. el van bajom. Engem nagyon zavar az, hogy nem tudom maximum hány csúcsot kell tudnom kezelni!!! Mert ez nincs megadva a feladatban úgy mint máskor! A másik roblémám, hogy a feladat azt kéri, addig fusson a program amíg a képzeletbeli golyó el nem éri a terepasztal szélét. De kérdem én, hogy mi van ha soha nem éri el? ( zárt síkodomon belülről indul, nem tud kijönni!!)

[21] kdano2006-10-12 18:10:26

Nem igazán értem, hogy mi számít "itt"-nek. Mert az olimpiai válogatón egyáltalán nem erről szól. Ha nem a megfelelő fájlba írod, automatikusan 0 pontot ad a javítóprogram. Ha nem megfelelő a fájlnév (ahogy azt 2005-ben megjártam :P), akkor le se tudja futtatni, úgy is nulla pont.

Ezeken kívül a feladatok értékelése ugyanúgy megy, mint a CEOI-n (ha jól tudom az IOI-t most babrálták át..), azaz lefuttatják a tíz tesztadatra, s minden egyes teszt 3-4-5 pontot ér. Ezeket típushibák, időkorlát (általában 1 mp) betartásának ellenőrzésére élezik ki, így a tesztek egyszerre ellenőrzik az algoritmus helyességét, a gyorsaságát és hogy precízen van-e lekódolva. Ilyenből van 7 forduló, összesen 13 feladat. Ezzel elég jól kiszelektálódnak azok, akik túl jól teljesítenek, s így a fordulóról fordulóra való továbbjutás végén az olimpiá(k)ra is kijutnak.

Előzmény: [17] Kós Géza, 2006-10-04 09:16:33
[17] Kós Géza2006-10-04 09:16:33

A precizitás itt arról szól, hogy követed-e a specifikációt.

Pl. ha a feladat szerint a bemenő adatokat az stdin-ről kell olvasni, akkor nem raksz ki a képernyő közepére egy ablakocskát, hogy abba írják be. (Mint az már annyiszor megtörtént a KöMaL versenyeiben is.)

Előzmény: [16] Ozsy, 2006-10-03 18:07:05
[16] Ozsy2006-10-03 18:07:05

Ehhez csak annyi megjegyzésem lenne, hogy pontosan az informatika OKTV az, ahol precíznek kell lenni. A programnak magyarázhat az ember, nem fogja másként értékelni a beadott feladatokat :) 9 forduló alatt meg eléggé letesztelik az ember precizitását. Ettől függetlenül sajnálom azokat, akik ilyenek miatt vesztettek értékes pontokat, de gratulálok a Mexikói útjukhoz ;)

Előzmény: [15] Kós Géza, 2006-10-03 15:33:22
[15] Kós Géza2006-10-03 15:33:22

Ezt most olvastam, az informatikai olimpiai beszámolóban.

,,... Egy másik jelenség is megfigyelhető már évek óta, idén ez különösen feltűnő volt: a ver­senyzőink elemi hibákat vétenek a versenyen (nem oda mentik a megoldást, ahova kell, összekeveri a bal- és a jobboldalt, nem ír ki a sor végére sorvég karaktert, ...).

Ha ezeket nem követik el, akkor most egy arany, egy ezüst és két bronzérmünk lett volna. Ezzel a problémával azonban az olimpiai felkészítés nem tud foglalkozni, ezt az iskolának kellene megoldani. Jelenleg azonban a magyar iskolai gyakorlat, az érettségi, valamint az OKTV is olyan, hogy a tanuló gondolkodását próbálja mérni, s nem tekinti fontosnak a pontos feladatmegoldást, a precizitást (egy jellemző értékelés: ...lényegében megoldotta a feladatot, igaz, hogy nem azt írja ki, amit kell, és azt sem az elvárt formában, de látszik, hogy érti...). A világ azonban nem ilyen, az olimpiák történetében nem először veszítünk emiatt érmeket, és sajnos a szoftverek világpiaca sem ilyen (ott sem mondhatja egy adóbevallást készítő program szerzője, hogy ő tulajdonképpen jól számolt, csak egy 0-t felejtett le az adóösszegek végéről).''

[14] Kós Géza2006-10-03 14:51:55

Idén biztosan nem várható.

Előzmény: [13] R1cs1, 2006-10-01 13:16:42
[13] R1cs12006-10-01 13:16:42

Kedves Szervezok!

Egy olyan kerdesem lenne, hogy varhato-e a c# bevetele az elfogadott nyelvek koze?

Elore is koszonom. r1cs1

[12] baaaal2006-06-14 17:43:16

igen, épp a bináris zavart meg, mert azt hittem hátha akkor típus nélküli. köszönöm.

Előzmény: [11] Kós Géza, 2006-06-12 23:16:37
[11] Kós Géza2006-06-12 23:16:37

A feladat szövege szerint "egy nagyméretű bináris adatfájl 8 bájtos, lebegőpontos számokat tartalmaz ..."

Tehát "file of double".

Előzmény: [9] baaaal, 2006-06-11 13:36:16
[10] gd2006-06-12 18:59:00

Ha 8 bájtos valósakat tartalmaz, akkor az double típusú fájl (file of double Pascalban).

Előzmény: [9] baaaal, 2006-06-11 13:36:16

  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]    [11]    [12]    [13]    [14]