Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Co je to nenaprogramovatelné?

Ani ten nejlepší programátor to nenaprogramuje, co je to? Kdo si myslí, že to už ví, jistě se alespoň pozastaví nad netradiční implementací známých problémů pomocí sedu.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Mnozí z vás jistě už někdy programovali, mnozí z vás jistě již někdy po někom nějaký ten program četli a mnohým z vás z toho dozajista zůstal rozum stát. Ano, přiznejme si to, lidé jsou líní, programátoři jsou čuníci a své programy odbývají. Čert aby se v tom vyznal. Padá to, nedělá to, co má, cyklí to. Prostě by to chtělo něco, co by nám, project-managerům, dokázalo překontrolovat práci těch druhých. Bohužel, nebude to tak jednoduché. Ono totiž napsat program, který o jiném programu rozhodne, zda se tento program v konečném čase zastaví, není možné.

Bylo by to moc krásné, kdybychom mohli napsat něco jako:

extern bool zastavi(void (* funkce)(void));
void Q(void) {  ... }
int main(int argc, char **argv) {
  if (zastavi(Q)) {
    printf("Ano, program zastaví...\n");
  } else {
    printf("Ne, funkce Q se zacyklí!\n");
  }
}

To ale bohužel nejde a já vám tu teď ukážu, že funkci zastavi, která by o jiném programu řekla, zda zastaví, nebo ne, nedokáže naprogramovat ani ten nejchytřejší programátor.

Nyní si asi říkáte: „Ten problém se zastavením určitě nějak vyřešit půjde.“ Prostě si ten program napíšu, spustím, chvilku počkám a po chvilce uvidím. Ale po jaké chvilce? Po minutě? Po hodině? Po roce? Co když se ale program nezastaví nikdy? Abych vám ukázal, že je problém skutečně neřešitelný, podívejte se na následující funkci Q a položte si otázku: Zastaví?

1 void Q(void) {
2   if (zastavi(Q))
3     while(1) { }
4 }

Ukažme si, že funkce Q je nesmysl. A protože jediné sporné, co v této funkci používáme, je funkce zastavi, ukážeme tím i, že ona funkce zastavi je vlastně nesmysl. Poznamenejme ještě, že každý program buď zastaví, a nebo nezastaví, nic mezi tím (žádné „polozastavení“) neexistuje.

Dejme tomu, že funkce Q zastaví. Pak ale bude splněna podmínka na řádku 2 a z toho nám vyplyne, že vlastně nezastaví.

Dejme tomu, že funkce Q nezastaví. Pak ale podmínka na řádku 2 splněna nebude a z toho nám vyplyne, že vlastně zastaví.

Funkci zastavi nelze naprogramovat.

Sedový problém

V tuto chvíli se může zdát, že „problém zastavení“ je tak trochu uměle vykonstruovaný a že se vám v praxi vlastně nemůže stát, že by vám nějaký project-manager zadal úkol, který by nešel vyřešit. Chyba lávky! Za dalším neřešitelným/ne­naprogramovatel­ným problémem nemusíme chodit daleko. Jistě všichni znáte užitečný program sed(1). Omezme se pouze na náhrady řetězce za jiný řetězec. Například:

sed 's/kos/sok/'
sed 's/oso/kosos/'
sed 's/s/sksosok'
sed 's/soso/kk/'

Nyní si můžete z těchto „sedů“ vybírat v libovolném pořadí a od každého libovolný počet a seřadit je rourami tak, aby například:

echo "kokos" | sed '...' | sed '...' | sed '...' || ... sed ... || sed '...'

vypsalo „kkkkk“.

Můžete si to zkusit vymyslet a zjistíte, že to skutečně není nic jednoduchého. Řešení může být v tomto případě více, například:

echo kokos | sed 's/kos/sok/' | sed 's/oso/kosos/' | sed 's/kos/sok/' | sed 's/kos/sok/' | sed 's/soso/kk/'

Program, který jako svůj vstup vezme seznam „sedů“ a dvě slova („kokos“ a „kkkkk“) a v konečném čase vám řekne, jaké „sedy“ vybrat a jak je seřadit (můžou se opakovat) tak, aby echo „první slovo“ | sed | sed | sed | sed… vypsalo druhé slovo, nelze naprogramovat. No a já vám teď povím, proč tomu tak je.

Stroj Alana Turinga

Byl jednou jeden pán, jmenoval se Alan Turing a žil v letech 1912–1954. Tento pán byl velmi chytrý a jednoho dne vymyslel stroj a pojmenoval ho „Turinguv stroj“ (dale jen TS). TS však není stroj v pravém slova smyslu. S trochou nadsázky a představivosti by se dal TS přirovnat spíše k velmi nízkoúrovňovému programovacímu jazyku vzdáleně připomínajícímu assembler. Pro současné počítače je TS velmi nemotorný a nepraktický programovací jazyk a určitě ho nikdy žádný programátor nebude používat. Bez ohledu na všechny tyto nevýhody a nepraktičnost použití TS za účelem skutečného programování má TS stejnou sílu jako jakýkoli jiný programovací jazyk. Například překladač jazyka C do jazyka TS by samozřejmě šel naprogramovat.

TS se skládá z několika částí. Je to jednak Hardware – nekonečná páska s čtecí hlavou. Páska nemá konec ani na jedné straně a je zpočátku zaplněna samými nulami, hlava někam ukazuje (celkem je jedno kam, páska je nekonečná z obou stran, všude jsou nuly). Následující obrázek vše objasňuje:

   .......00000000000000000000.......
                   ^

Další částí TS je software, tedy program. Program pro TS se píše do tabulky (řádek je konečně mnoho, nekonečný program neexistuje!) a může vypadat třeba takto:

         0      1
      -------------
(S1): (S2)1R (S6)0L
(S2): (S3)0R (S4)0R
(S3): (S4)1L (S5)1R
(S4): (S5)0L (S4)0L
(S5): (S1)0R (S3)1R
(S6): (S1)1L (S7)1R
(S7):  Stop   Stop

Celá další konstrukce se ukazuje na příkladu, který mluví o tomto konkrétním TS.

Běh samotného programu je jednoduchý. Začínáme ve stavu (S1) – první řádek. TS se podívá, kam ukazuje hlava na pásce (na nulu), a podle toho vybere sloupec. V tabulce/programu je na průsečíku [(S1), 0] napsáno (S2)1R. To znamená, že TS přejde na řádek (S2), na pásku napíše 1 a čtecí/zapisovací hlavu posune R (Right/Doprava). Po tomto kroku bude páska vypadat takto:

    .......00000000010000000000.......
                     ^
(jsem na řádce S2)

Hlava ukazuje na 0, řádek S2, tedy (S3)0R – přejít na řádek S3, zapsat 0 a hlavu posunout doprava.

    .......00000000010000000000.......
                      ^
(jsem na řádce S3)

Hlava ukazuje na 0, řádek S3, tedy (S4)1L – přejít na řádek S4, zapsat 1 a hlavu posunout doleva.

    .......00000000010100000000.......
                     ^
(jsem na řádce S3)

Tak pokračujeme až do doby, kdy skočíme na řádek S7 a program se zastaví.
Kvíz:: Co udělá výše zmiňovaný TS? Zastaví? Jestliže ano, po kolika krocích? Odhadem, po 10 krocích? po 100? nebo snad po 1000? Co bude na pásce? Kdo na to přijde, má u mě pivo!

Vraťme se nyní k „sedovému“ problému a trochu si ho připodobníme k TS. Nejprve si čtecí/zapisovací hlavu TS pěkně zakódujeme do pásky. Nebudeme tedy psát:

    .......00000000010100000000.......
                     ^
(jsem na řádce S3)

Ale zjednodušeně (nebo snad složitě?):

  .......0000000001(S3)0100000000.......
(jsem na řádce S3)

Jako výchozí slovo sedového problému dáme slovo „X(S1)Y“ a ptám se, můžeme tyto sedy pospojovat tak, aby na výstupu daly „Stop“? „Sedový“ problém sestavím takto:

 1) sed 's/X/X0/'
 2) sed 's/Y/0Y/'

a vyzkoušejte si napsat:

echo "X(S1)Y" | sed 's/X/X0/' | sed 's/X/X0/' |
sed 's/X/X0/' | sed 's/X/X0/' | sed 's/X/X0/' |
sed 's/X/X0/' | sed 's/Y/0Y/' | sed 's/Y/0Y/' |
sed 's/Y/0Y/'| sed 's/Y/0Y/' | sed 's/Y/0Y/'

Jako výsledek tohoto příkazu dostanete : „X000000(S1)0­0000Y“. Správnou kombinací „sedů“ tak můžeme přidávat doleva i doprava libovolný počet nul. (všimněte si nápadné podobnosti s nekonečnou páskou TS!)

Dále pak přidám:

 3) sed 's/(S1)0/1(S2)/'
 4) sed 's/0(S1)1/(S6)00/'
 5) sed 's/1(S1)1/(S6)10/'
 6) sed 's/(S2)0/0(S3)/'
 7) sed 's/(S2)1/0(S4)/'
 8) sed 's/0(S3)0/(S4)01/'
 9) sed 's/1(S3)0/(S4)11/'
10) sed 's/(S5)1/1(S5)/'
11) sed 's/0(S4)0/(S5)00/'
12) sed 's/1(S4)0/(S5)10/'
13) sed 's/0(S4)1/(S4)00/'
14) sed 's/1(S4)1/(S4)10/'
15) sed 's/(S5)0/0(S1)/'
16) sed 's/(S5)1/1(S3)/'
17) sed 's/0(S6)0/(S1)01/'
18) sed 's/1(S6)0/(S1)11/'
19) sed 's/(S6)1/1(S7)/'

21) sed 's/.(S7)./(S7)/'
22) sed 's/(S7)/Stop/'

Takto jsem vlastně v „sedové“ notaci naprogramoval TS. Mějme například TS s páskou:

X0000001001(S1)0110000000Y

Které sedy budou mít na tento vstup nějaký účinek? Které ho změní? Jsou to samozřejmě 1 a 2 – můžete například udělat:

$ echo 'X0000001001(S1)0110000000Y' | sed 's/X/X0/' | sed 's/X/X0/' | sed 's/X/X0/'
X0000000001001(S1)0110000000Y

To ale můžu udělat pokaždé a vždy jen přidám vlevo nebo vpravo další nuly. Co ale třeba sed 10? Všiměte si, že tento sed nahrazuje (S5)1, to ale v řetězci není, tedy, tento sed nemá na řetězec žádný vliv. Jak můžete vidět:

$ echo 'X0000001001(S1)0110000000Y' | sed 's/(S5)1/1(S5)/'
X0000001001(S1)0110000000Y

Skutečně nemá :-)

Ale co sed ‚s/(S1)0/1(S2)/‘ (3)?

$ echo 'X0000001001(S1)0110000000Y' | sed 's/(S1)0/1(S2)/'

X00000010011(S2)110000000Y
           ^^^^^^

Provedlo se vlastně to samé, jako by byl TS na řádce S1. Přešlo se na řádku S2 a hlava se posunula vpravo. Všechny řádky 3–19 jsou pak vlastně jenom přepsaný program TS. Řádky 21 a 22 dokáží pak vymazat postupně celý vstup a nakonec dát za S7 „Stop“. Ovšem, řádek S7 je koncový, takže je možné dostat posloupností sedů na výstup slovo …S7… jen v tom případě, že TS skončí! Příklad:

$ echo 'X10(S7)00Y' | sed 's/.(S7)./(S7)/' |
sed 's/.(S7)./(S7)/' | sed 's/.(S7)./(S7)/' |
sed 's/(S7)/Stop/'
Stop
$

Tedy, ke každému TS dokážu vymyslet takové sedy, které spojením přes roury | dokáží nejaké slovo přepsat na „Stop“ jen v tom případě, že tento TS zastaví. Že by problém zastavení? :-)

Mám-li libovolný program, můžu ho zapsat do Turingova stroje. Mám-li Turingův stroj, mohu ho přepsat na sedový problém. No a kdybych byl schopen vyřešit sedový problém – jak jsem výše ukázal, má řešení jen v případě, že Turingův stroj, ze kterého jsem vycházel, zastaví, tak potom jsem schopen řešit i problém zastavení Turingova stroje, tedy problém zastavení, a to nejsem. Uf!

V tuto chvíli by se vám měla hlava zastavit anebo prasknout jako pumlíč. :-) Co vy na to?

Několik poznámek závěrem:

Věnováno Zuzance, která to nikdy nepochopí :-)
Autor není project-manager! 

Školení: Linux – Firewall, Samba, VPN

Na třídenním školení se naučíte nainstalovat a spravovat Firewall a Router, SAMBA Doménový a Souborový server. Dále si zprovozníte vlastní, zabezpečený VPN server.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,99

Přehled názorů

Nekonecny cyklus
Digero 26. 11. 2003 00:28
Nový
├ 
Re: Nekonecny cyklus
lzap 9. 12. 2003 09:25
Nový
├ 
Re: Nekonecny cyklus
veget 22. 9. 2004 07:54
Nový
└ 
Re: Nekonecny cyklus
Raven 4. 2. 2006 12:33
Nový
Nekonecny cyklus
Digero 26. 11. 2003 00:29
Nový
└ 
Re: Nekonecny cyklus
Petr Dolezal 26. 11. 2003 09:35
Nový
 
└ 
Re: Nekonecny cyklus
klusik 25. 1. 2007 11:35
Nový
bez titulku
anonymní uživatel 26. 11. 2003 00:32
Nový
└ 
Re:
Johanka 26. 11. 2003 09:23
Nový
 
├ 
Re:
BrandIt 26. 11. 2003 10:26
Nový
 
└ 
Re:
Tomáš 26. 11. 2003 12:12
Nový
 
 
├ 
Re:
BrandIt 26. 11. 2003 13:50
Nový
 
 
└ 
Re:
Johanka 26. 11. 2003 15:12
Nový
 
 
 
└ 
Re:
Milos Liska 26. 11. 2003 22:40
Nový
 
 
 
 
└ 
Re:
smrt 26. 11. 2003 23:36
Nový
Pekny clanecek...
Pavel Krcmar 26. 11. 2003 00:34
Nový
└ 
Re: Pekny clanecek...
Milan Sorm 26. 11. 2003 01:36
Nový
 
├ 
Re: Pekny clanecek...
Vlada 26. 11. 2003 09:06
Nový
 
├ 
Re: Pekny clanecek...
Petr Dolezal 26. 11. 2003 09:50
Nový
 
├ 
Re: Pekny clanecek...
Saiph 26. 11. 2003 10:28
Nový
 
├ 
Re: Pekny clanecek...
David Antos 26. 11. 2003 12:07
Nový
 
│
└ 
Re: Pekny clanecek...
Vasek 26. 11. 2003 16:54
Nový
 
│
 
└ 
Re: Pekny clanecek...
Rumpal 28. 11. 2003 10:11
Nový
 
│
 
 
└ 
Re: Pekny clanecek...
lzap 9. 12. 2003 09:27
Nový
 
├ 
Re: Pekny clanecek...
Martin Povolny 26. 11. 2003 19:51
Nový
 
└ 
Re: Pekny clanecek...
Jirka Kosina 27. 11. 2003 12:35
Nový
 
 
└ 
Re: Pekny clanecek...
anonymní uživatel 28. 11. 2003 10:53
Nový
 
 
 
└ 
Re: Pekny clanecek...
Kentus 20. 12. 2003 20:36
Nový
hezky
PaD 26. 11. 2003 00:35
Nový
Páska Turingova stroje
Pavel Tišnovský 26. 11. 2003 07:46
Nový
├ 
Re: Páska Turingova stroje
Krtek 26. 11. 2003 08:06
Nový
├ 
Re: Páska Turingova stroje
Petr Dolezal 26. 11. 2003 10:02
Nový
│
├ 
Re: Páska Turingova stroje
Pavel Tišnovský 27. 11. 2003 08:05
Nový
│
│
└ 
Re: Páska Turingova stroje
Petr Dolezal 27. 11. 2003 08:43
Nový
│
│
 
└ 
Re: Páska Turingova stroje
Pavel Tišnovský 27. 11. 2003 09:24
Nový
│
└ 
Re: Páska Turingova stroje
0610 27. 11. 2003 13:24
Nový
└ 
Re: Páska Turingova stroje
Bathory 27. 11. 2003 17:01
Nový
4%
xyz 26. 11. 2003 08:15
Nový
├ 
Chyba operatora
Edheldil 26. 11. 2003 13:24
Nový
│
└ 
Re: Chyba operatora
g 27. 11. 2003 11:24
Nový
└ 
Re: 4%
Edheldil 26. 11. 2003 13:26
Nový
 
└ 
Re: 4%
Clock 26. 11. 2003 22:25
Nový
 
 
├ 
Re: 4%
dochodca 27. 11. 2003 00:03
Nový
 
 
│
└ 
Re: 4%
Clock 27. 11. 2003 08:48
Nový
 
 
├ 
Re: 4%
Petr Hanč 27. 11. 2003 01:03
Nový
 
 
│
└ 
Re: 4%
lzap 9. 12. 2003 09:30
Nový
 
 
├ 
Re: 4%
Culibrk 27. 11. 2003 12:04
Nový
 
 
└ 
Re: 4%
Jindroush 19. 12. 2003 00:09
Nový
Program Gturing
Tomáš 26. 11. 2003 08:30
Nový
└ 
Re: Program Gturing
Jezevec 26. 11. 2003 09:11
Nový
Znam i pripady presne opacne...
Anybody 26. 11. 2003 09:40
Nový
co je to pumlic?
a. 26. 11. 2003 10:17
Nový
├ 
Re: co je to pumlic?
Ylonen 26. 11. 2003 10:44
Nový
│
├ 
Re: co je to pumlic?
noname 26. 11. 2003 12:47
Nový
│
│
└ 
Re: co je to pumlic?
pooh 26. 11. 2003 13:54
Nový
│
│
 
└ 
Re: co je to pumlic?
Ylonen 26. 11. 2003 17:36
Nový
│
│
 
 
├ 
Re: co je to pumlic?
Ylonen 26. 11. 2003 17:40
Nový
│
│
 
 
└ 
Re: co je to pumlic?
Jan Koutnik 26. 11. 2003 22:42
Nový
│
└ 
Re: co je to pumlic?
noname 26. 11. 2003 12:50
Nový
└ 
Re: co je to pumlic?
gum 26. 11. 2003 10:54
Nový
Soutez
Ondrej Holecek 26. 11. 2003 11:15
Nový
└ 
Re: Soutez
yksuso 26. 11. 2003 15:08
Nový
 
└ 
Re: Soutez
Ondrej Holecek 26. 11. 2003 15:29
Nový
 
 
└ 
Re: Soutez
anonymní uživatel 27. 11. 2003 10:22
Nový
 
 
 
└ 
Re: Soutez
lzap 9. 12. 2003 09:31
Nový
Nerozumim :))
Sheedee 26. 11. 2003 11:25
Nový
├ 
Re: Nerozumim :))
Adam 26. 11. 2003 12:04
Nový
│
└ 
Na co link? Vždyť je to triviální
Zdenek Pavlas 26. 11. 2003 15:04
Nový
│
 
├ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 26. 11. 2003 15:16
Nový
│
 
│
├ 
Re: Na co link? Vždyť je to triviální
Ondrej Holecek 26. 11. 2003 15:38
Nový
│
 
│
│
└ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 26. 11. 2003 15:53
Nový
│
 
│
├ 
Re: Na co link? Vždyť je to triviální
Vladimir Kadlec 26. 11. 2003 15:40
Nový
│
 
│
│
├ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 26. 11. 2003 16:04
Nový
│
 
│
│
│
├ 
Re: Na co link? Vždyť je to triviální
Vasek 26. 11. 2003 17:26
Nový
│
 
│
│
│
│
├ 
Re: Na co link? Vždyť je to triviální
anonymní uživatel 27. 11. 2003 09:35
Nový
│
 
│
│
│
│
│
└ 
Re: Na co link? Vždyť je to triviální
Vasek 27. 11. 2003 13:48
Nový
│
 
│
│
│
│
└ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 27. 11. 2003 15:42
Nový
│
 
│
│
│
│
 
└ 
Re: Na co link? Vždyť je to triviální
Emil Jerabek 27. 11. 2003 16:25
Nový
│
 
│
│
│
│
 
 
└ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 27. 11. 2003 19:18
Nový
│
 
│
│
│
└ 
Re: Na co link? Vždyť je to triviální
Petr Dolezal 27. 11. 2003 10:35
Nový
│
 
│
│
│
 
└ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 27. 11. 2003 15:52
Nový
│
 
│
│
│
 
 
└ 
Re: Na co link? Vždyť je to triviální
Petr Dolezal 27. 11. 2003 17:53
Nový
│
 
│
│
└ 
Re: Na co link? Vždyť je to triviální
Rishare 26. 11. 2003 16:24
Nový
│
 
│
│
 
├ 
Re: Na co link? Vždyť je to triviální
Vladimir Kadlec 26. 11. 2003 16:43
Nový
│
 
│
│
 
└ 
Re: Na co link? Vždyť je to triviální
Vasek 26. 11. 2003 17:03
Nový
│
 
│
│
 
 
└ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 27. 11. 2003 15:55
Nový
│
 
│
└ 
Re: Na co link? Vždyť je to triviální
Pavel Tišnovský 27. 11. 2003 09:19
Nový
│
 
│
 
├ 
Re: Na co link? Vždyť je to triviální
Martin Mareš 27. 11. 2003 12:10
Nový
│
 
│
 
│
└ 
Re: Na co link? Vždyť je to triviální
anonymní uživatel 27. 11. 2003 13:24
Nový
│
 
│
 
└ 
Re: Na co link? Vždyť je to triviální
Zdenek Pavlas 27. 11. 2003 16:04
Nový
│
 
│
 
 
└ 
Re: Na co link? Vždyť je to triviální
Pavel Tisnovsky 27. 11. 2003 18:11
Nový
│
 
└ 
Re: Na co link? Vždyť je to triviální
anonymní uživatel 2. 1. 2004 02:49
Nový
│
 
 
└ 
Re: Na co link? Vždyť je to triviální
Zdenek 30. 11. 2005 09:50
Nový
├ 
Re: Nerozumim :))
ema destinova 26. 11. 2003 12:16
Nový
│
└ 
Re: Nerozumim :))
nobody 26. 11. 2003 14:12
Nový
└ 
Re: Nerozumim :))
Lubos 26. 11. 2003 15:14
Nový
super neresitelno
Michal Burda 26. 11. 2003 14:03
Nový
├ 
Re: super neresitelno
Petr Dolezal 27. 11. 2003 10:56
Nový
└ 
Re: super neresitelno
Martin Mareš 27. 11. 2003 12:09
Nový
 
├ 
Re: super neresitelno
Petr Dolezal 27. 11. 2003 12:39
Nový
 
├ 
Re: super neresitelno
puco 1. 12. 2003 12:17
Nový
 
│
└ 
Re: super neresitelno
Martin Mareš 10. 12. 2003 10:03
Nový
 
└ 
Re: super neresitelno
Věroš Kaplan 18. 12. 2003 09:19
Nový
solution
xbrut 26. 11. 2003 15:45
Nový
└ 
Re: solution
Ondrej Holecek 26. 11. 2003 15:52
Nový
naprosto nechapu
TomasDean 26. 11. 2003 15:55
Nový
└ 
Re: naprosto nechapu
dochodca 27. 11. 2003 00:29
Nový
 
└ 
Re: naprosto nechapu
Martin Mareš 27. 11. 2003 12:41
Nový
Vysledek :)
Neo 26. 11. 2003 16:07
Nový
└ 
Re: Vysledek :)
Neo 26. 11. 2003 16:28
Nový
Chybka v clanku & reseni?
Vladimir Kadlec 27. 11. 2003 03:56
Nový
├ 
Re: Chybka v clanku & reseni?
agentw4b 27. 11. 2003 08:34
Nový
└ 
Re: Chybka v clanku & reseni?
smrt 27. 11. 2003 09:27
Nový
simulace soutezniho prikladu
ttt 27. 11. 2003 11:36
Nový
Důkaz trochu jinak
Martin Mareš 27. 11. 2003 12:32
Nový
└ 
Re: Důkaz trochu jinak
Ladislav Michl 28. 11. 2003 08:47
Nový
 
└ 
Re: Důkaz trochu jinak
Soumy 30. 11. 2003 02:20
Nový
 
 
└ 
Re: Důkaz trochu jinak
Hekerle V. 5. 12. 2003 13:21
Nový
"Reseni" problemu
Petr Ledvina 27. 11. 2003 12:59
Nový
├ 
Re: "Reseni" problemu
Petr Kadlec 27. 11. 2003 14:02
Nový
│
└ 
Re: "Reseni" problemu
Emil Jerabek 27. 11. 2003 16:02
Nový
└ 
Re: "Reseni" problemu
anonymní uživatel 27. 11. 2003 15:42
Nový
 
├ 
Re: "Reseni" problemu
Ondrej Holecek 27. 11. 2003 15:44
Nový
 
└ 
Re: "Reseni" problemu
Petr Ledvina 27. 11. 2003 20:27
Nový
ste si isty??
Bathory 27. 11. 2003 16:57
Nový
O co autorovi šlo?
PP 2. 12. 2003 13:20
Nový
Ale zastaví,
on/off 3. 12. 2003 20:35
Nový
└ 
Re: Ale zastaví,
Hekerle V. 5. 12. 2003 13:36
Nový
Nehul tolik, nebo nepis na root.cz
:] 7. 12. 2003 02:52
Nový
└ 
Re: Nehul tolik, nebo nepis na root.cz
karel 18. 12. 2003 09:16
Nový
Prosim o objasneni druheho kousku kodu
Standa 30. 12. 2003 22:42
Nový
└ 
Re: Prosim o objasneni druheho kousku kodu
Zdenek Pavlas 30. 11. 2005 13:50
Nový
Chybná úvaha
Zdenek Pavlas 30. 11. 2005 10:45
Nový
turingova matematicka fikce
jir 23. 4. 2007 12:12
Nový
Nenaprogramovatelne. ..
ZUG 23. 4. 2008 21:22
Nový
└ 
Re: Nenaprogramovatelne. ..
estonto 24. 10. 2009 00:12
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem