16.10.2014, 16:22 (Tento příspěvek byl naposledy změněn: 16.10.2014, 18:27 uživatelem Martin. Edited 10 times in total.)
Xsoft: To je jednoduché, kolego. Hlavu vzhůru! Podívejte: čtení zleva doprava je dané (nehledě na fakt, že je jedno, jestli nejdřív provedu 3*4 a pak to dělím 2, nebo nejdřív dělím 3/2 a pak to násobím 4), priorita operátorů (*/ má vyšší než +-) je též daná, takže Pascal to zchroustá naprosto jednoduše:
S těmito zápisy si poradí i "blbá" Windows kalkulačka
Jste asi ještě nepsali vzoreček, který končil )))))+2))*2) To je teprve to správné raso!
OT:
Vím, že existuje sorta programátorů, kterým se říká "řezníci a salámisti" a bohužel se k ní musím zařadit rovněž, hlavně kvůli mému zvyku nepoužívat prázdné řádky jako oddělovače.
(16.10.2014, 16:19)Jamis Napsal(a): ... si nejsem jistý, že lze někoho takového nazývat programátorem no i když vzhledem ke kvalitě software se tak možná někteří označují
To už sice zavání offtopicem,
ale rád se přiučím, jak v Turbo Pascalu, BASICu, Delphi, C++ napíšeš složitější vzorec/zlomek bez závorek, resp. abych tě neosočoval z něčeho, co jsi neřekl, v čem je daný zápis nejjednoznačný Samozřejmě je tu možnost zavádět si pomocné proměnné typu "co je pod zlomkem si uložím do proměnné A a pak spočítám B = C/A, jenže to:
a) žere paměť
b) zpomaluje vykonávání programu
A nebo assembler.. jůůů
UPDATE: Pokračuji v SZ, protože jsem (zase) pochopil něco jinak, než to bylo myšleno, takže reaguji jako blb totálně mimo mísu....
Uděluji si tímto "permaban za blbost" pro toto vlákno.
Než se, pánové, úplně ztratíte za horizontem offtopicu, musím pochválit Jamise za velesprávnou odpověď v řešení mého příkladu. Já bych to asi ani líp neřek.
Nikdy jsem neměl křídla, to hudba mě nutí létat...
je jediný možný, správný a logický výsledek 9, ke kterému člověk nebo stroj dodržující základní pravidla dojde bez ohledu na to, jestli příklad je nebo není zadaný nejjednodznačně a cokoliv jiného je způsobeno nedodržováním konvencí.
Dá se polemizovat, že 6/2(1+2) není totéž jako 6/2*(1+2), to jde spíš o to, jak si kdo zvykne na usnadnění, které mu vymyslí např. onen autor kalkulačky, ale běžný programovací jazyk vám 2(1+2) vezme jako chybu syntaxe, takže není co řešit.
(16.10.2014, 16:19)Jamis Napsal(a): ... si nejsem jistý, že lze někoho takového nazývat programátorem no i když vzhledem ke kvalitě software se tak možná někteří označují
ale rád se přiučím, jak v Turbo Pascalu, BASICu, Delphi, C++ napíšeš složitější vzorec/zlomek bez závorek, resp. abych tě neosočoval z něčeho, co jsi neřekl, v čem je daný zápis nejjednoznačný Samozřejmě je tu možnost zavádět si pomocné proměnné typu "co je pod zlomkem si uložím do proměnné A a pak spočítám B = C/A, jenže to:
a) žere paměť
b) zpomaluje vykonávání programu
A jaký je důvod psát složitější výrazy bez závorek? Od toho snad ty závorky jsou, ne? To je jako se ptát, proč používat násobení místo několikerého sčítání... Turbo Pascal, BASIC, Delphi, C++ a všechny ostatní vyšší programovací jazyky, se kterými jsem se kdy setkal, podporovaly i vícenásobné uzávorkování.
V dnešní době, kdy se CPU většinu času fláká, paměť i v telefonech počítá v GB, do programů se linkuje tuna knihoven, do paměti se přednahrává kdejaká věc, ty závorky fakt sežerou dost paměti a zpomalí program
Když už jsme u toho: co myslíš, že s tím složitějším výrazem compiler daného jazyka udělá?
IMHO mám neodbytný pocit, že debatu na tohle téma už jsme někde vedli...
(16.10.2014, 16:29)Aelipse Napsal(a): Než se, pánové, úplně ztratíte za horizontem offtopicu, musím pochválit Jamise za velesprávnou odpověď v řešení mého příkladu. Já bych to asi ani líp neřek.
Díky ony se ty dlouhé roky strávené na fjfi někde sem tam projeví
Princess Luna: Everypony has fears, Scootaloo. Everypony must face them in their own way. But they must be faced, or the nightmares will continue.
Rainbow Dash: It feels good to help others get something they always wanted but never had. Almost as good as getting it yourself.