Kezdőoldal » Számítástechnika » Programozás » Ez vajon tényleg lehetséges?

Ez vajon tényleg lehetséges?

Figyelt kérdés

A haverom cégénél a főnökség feldobott 300 rugót, amit az nyer el, aki határidőig, ami egy hét, a legrövidebb működőképes, turing teljes interpretert megírja. Az interpreter nem lehet brainfuck jellegű, csak "rendes", azaz kulcsszavakkal, változó azonosítókkal, elágazás és iteráció lehetőségével kell bírnia és öt matematikai mellett még három logikai operátort is kell kezelnie. A haverom három nap lemaradásból indult mert szabin volt, és megkérdezte, hogy mit kell felülmúlnia. Azt mondták neki, hogy eddig 173 soros a legrövidebb, ami szerintük működik is.

Lehetséges ilyen? 173 sorban megírni egy interpretert, ilyen elvárásokkal?



máj. 12. 07:24
A kérdező szavazást indított:
Igen, lehetséges
Nem. Ez lehetetlen
Megírom kommentben
13 szavazat
 1/9 Szirty ***** válasza:
73%
Milyen hosszú lehet egy sor?
máj. 12. 08:44
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Az nincs megszabva, karakterenként mérik. Gondolom, hogy ha két forrásnál azonos a sorok száma, akkor a kisebb nyer.
máj. 12. 09:58
 3/9 Közveszélyes Kontár ***** válasza:
0%
jobbklikk kivalasztas beillesztes
máj. 12. 10:41
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

Matek operátorok, a négy alapművelet plusz modulo.

Logikai, kisebb, nagyobb, egyenlő.

Ezen kívül, turing teljesség, strukturált programozás lehetősége és dinamikus változó kezelés. Ezek a kritériumok.

máj. 12. 10:57
 5/9 anonim ***** válasza:
14%

Osszejott.

Brutto 155, netto 143 sorban, windows alatt 4873 byte meretben, a leirt elvarasoknak megfeleloen.

máj. 13. 00:12
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
Egybetűs változónevek, függvénynevek stb. Fölösleges whitespace karektereket kiszeded. Gyakran előforduló kulcsszavakat akár ki is lehet váltani egybetűsre pl. C makrók használatával
máj. 13. 21:34
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:
Azért csak nem az fog dönteni, hogy kétezer bájt vagy kétezeregy. Azt megtudtam, hogy a legnagyobb, leghosszabb, eleve esélytelen pályamű 620 soros volt és azt is, hogy a lehetőséggel a dolgozók kb. 50 százaléka egyáltalán nem is élt. Örök vesztesek. :) Viszont, pályázott a cég rendszergazdája, aki nem is programozó! Ma lesznek a beérkezett művek kiértékelve.
máj. 14. 07:57
 8/9 anonim ***** válasza:
56%

Egy karakteres valtozo-nevek, de abszolut a hasznalt nyelvre jellemzo formazas, szoval, nem sporoltam a karakterekkel.

A parser is a legegyszerubb. Elofeltetel, hogy a nyelvi elemek kozott legalabb egy space karakternek lennie kell. Az infix matematikai es a logikai kifejezesek pedig csak egy operatort tartalmazhatnak kifejezesenkent, igy aztan zarojelezes nincs es nem is lehet.

A valtozok kezelese viszont statikus, mivel az interpreter elore definialt valtozokkal ("A".."Z") dolgozik ezert nincs szukseg valtozo deklaraciora sem.

Igy lett ekkora, de majd, ha kicsit tobb idom lesz, akkor megirom az interpretert lengyel formara (postfix) is es abban mar nem lesz korlatozva az operatorok szama. A forrast is fellovom majd valahova. Mind a 143 sort. :)


Alkalmazott paradigma: procedural

Hasznalt programnyelv: object pascal

Fordito es verzioszam: freepascal, 3.0


5-os voltam.

máj. 15. 04:21
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
Kérdező! Mit tudunk a nyertes pályaműről?
máj. 18. 11:06
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!