Bronies.cz

Úplná verze: Matematicky problem
Prohlížíte si holou variantu vašeho obsahu. Prohlédněte si plnou verzi s příslušným formátováním.
Stran: 1 2 3
(16.10.2014, 15:28)xsoft Napsal(a): [ -> ]Stejne jako problem:
6/2(1+2) = 1 nebo 9

To není "nebo", to je prostě nejednoznačně (špatně) zadaná úloha Pinkiesmile Všechno jsou to ekvivalentní operace s jednoznačně zadanými čísly.

(16.10.2014, 15:48)Martin Napsal(a): [ -> ]Tak to pro nás, jakožto programátory, je zápis 6/2*(1+2) nebo 4+6/3*2 jednoznačně a nad slunce jasný Ajsmug

... si nejsem jistý, že lze někoho takového nazývat programátorem Rainbowlaugh no i když vzhledem ke kvalitě software se tak možná někteří označují Ajsmug
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:

6/2*(1+2) = 6/2*3 = 3*3 = 9
4+6/3*2 = 4+2*2 = 4+4 = 8

od toho tu máme závorky Ajsmug

aby to byl zlomek 6 lomeno 3*2 (jinak by to bylo, jak říkala s oblibou naše učitelka, 6 lomeno 3 TOCELÉ krát 2), muselo by se to zapsat takto:

6/(2*(1+2)) = 6/(2*3) = 6/6 = 1
4+6/(3*2) = 4+6/6 = 4+1 = 5

S těmito zápisy si poradí i "blbá" Windows kalkulačka Pinkiesmile

Jste asi ještě nepsali vzoreček, který končil )))))+2))*2) Rainbowlaugh 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 Rainbowlaugh no i když vzhledem ke kvalitě software se tak možná někteří označují Ajsmug

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ý Ajsmug Pinkiesmile 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ůůů Rainbowlaugh


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. Pinkiesmile
Tak co jsem se dočetl zde

http://technet.idnes.cz/matematicky-hlav...6_veda_pka

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.
Nemusím být programátor, ani to tu analyzovat...stačí mi základní škola, abych věděl, že je to 8...a to jsem matiku nikdy rád neměl. Rainbowlaugh
Martine...

(16.10.2014, 16:22)Martin Napsal(a): [ -> ]
(16.10.2014, 16:19)Jamis Napsal(a): [ -> ]... si nejsem jistý, že lze někoho takového nazývat programátorem Rainbowlaugh no i když vzhledem ke kvalitě software se tak možná někteří označují Ajsmug

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ý Ajsmug Pinkiesmile 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í... Rainbowlaugh 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 Rainbowlaugh Rainbowlaugh Rainbowlaugh

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. Pinkiesmile

Díky Pinkiesmile ony se ty dlouhé roky strávené na fjfi někde sem tam projeví Ajsmug
[spoiler: 0]

Host

Samozřejmě je to [spoiler: 15]

Send via tapatalk from my HTC one
Stran: 1 2 3