Ha egy táblázatkezelőben beírom ezt: =-6^2, miért 36 az eredmény?
(A műveleti sorrend értelmében a hatványozás előbb végzendő el, mint a -1-gyel való szorzás, márpedig itt a '-' jel azt jelenti. A kérdésem csak annyi, hogy mi a ráció ugyan ebben, hogy nem a matematikának megfelelő módon értik, hanem mintha (-6)^2-t írnék.)
Néztem MS Office-szal, LibreOffice-szal, Gnumeric-kel is.
(Teljesen mellékes a kérdés szempontjából, de aki szerint -6^2=-36 (nem Excelben, programnyelvben, hanem a matematikában), az az egyszerűség kedvéért itt reagáljon, mert fárasztó hat helyen leírni ugyanazt.)
- 17193 megtekintés
Hozzászólások
Visszakérdezek:
A képletben szereplő -6 ugye nem (-1)*6, hanem csak egy negatív szám?
Annak a négyzete viszont -- ha jól számolok -- 36. Mi ebben probléma?
- A hozzászóláshoz be kell jelentkezni
De még ha az általad vélt dolog is lenne cellában, azaz (-1)*6, ennek négyzetét kiszámolhatjuk úgy, hogy előbb a 6 négyzetét vesszük, majd azt szorozzuk meg (-1) négyzetével, a kapott eredmény ekkor is jó, szvsz.
- A hozzászóláshoz be kell jelentkezni
De amit írtam, az nem azt jelenti. Ott a példa a wolframban is. (Tudom, az nem bizonyíték, de ha kell, lehivatkozom neked valamelyik általános iskolai matekkönyvet.
- A hozzászóláshoz be kell jelentkezni
Akkor nézzük részletesen:
1. -6 az bizony (-1)*6 különben baj van.
2. (-1)*6 négyzete valóban: úgy van ahogy mondod
3. De akkor lássuk részletesen:
-6^2 = 0 - 6^2 = 0 - 36 = -36
vagy
-6^2 = (-1)*6^2 = (-1)*36 = -36
vagy sokkal rövidebben
-6^2 = -(6^2) <> (-6)^2
Szerinted mi nem stimmel itt?
- A hozzászóláshoz be kell jelentkezni
Stimmelni stimmel, a tévedés jogát fenntartom magamnak.
Az nem lehet viszont, hogy az általad említett program -- valamilyen okból -- ezt a kifejezést balról-jobbra értékeli ki, azaz előbb negálja a numerikus értéket, s csak ez után végzi el a hatványozást?
Más javaslat -- a zárójelezésen kívül, ami korábban felmerült --: nem lenne célszerűbb a beépített függvényeket használni, s azok egymásba ágyazásával kiértékeltetni a kifejezést? (Nem biztos, hogy hatékonyabb, viszont talán egyértelműbb.)
- A hozzászóláshoz be kell jelentkezni
Az Excel (és gondolom ennek nyomán a többi táblázatkezelő) szándékosan működik így, a '-' előjelet veszi előre a műveleti sorrendben, minden másban megfelel a matematikai konvencióknak, nyilván kompatibilitási okokból ez már nem is fog sosem változni. Ennek utánanéztem, tudomásul vettem, ha előfordul, hogy ilyet kell számolnom táblázatkezelőben, majd zárójelezek. Nem vagyok hülye, alkalmazkodok. A kérdésem csak az volt, hogy ugyan mi okból lehet ez így?
- A hozzászóláshoz be kell jelentkezni
megválaszoltad magadnak: kompatibiltási okból. Anno egyszer valaki vagy nem tudott számolni, vagy csak direkt így implementálták. Nem ez az egyetlen hülyeség amit az excel hőskora óta vontat magával a szakma...
- A hozzászóláshoz be kell jelentkezni
(1)-ben szépen leírod a szabályodat, (3)-ban meg áthágod, az a baj.
Vagyis nem baj: a politikai pálya tényleg nyitva áll előtted.
- A hozzászóláshoz be kell jelentkezni
Az ismételt beszólás helyett mi lenne, ha egyszer egy bizonyítással ugranál elő? Én lentebb megtettem.
- A hozzászóláshoz be kell jelentkezni
Mint leírtam: rögzítetted a szabályt és áthágtad. Mit bizonyítsak ezen?
Szerintem eddig is hősiesen bírtam, hogy az önkétely legkisebb szikrája nélkül olvastad a gyűlő beírásokat.
- A hozzászóláshoz be kell jelentkezni
Bizonyíts be, hogy -x^2=x^2! (Mert azt állítod.)
Én megtettem az ellenkezőjét, amire persze nem reagálsz. Csak hülyézel, amit én meg nem tettem meg.
- A hozzászóláshoz be kell jelentkezni
Nem, én azt állítom, hogy -6^2 = 6^2, konstans hatványáról beszélünk.
Ha ezt bizonyítani kell... -6^2 = ((-1)^2 * 6^2) = 1 * 36 = 6^2
Mivel pedig szívesen segítek bárkinek, ha hagyja, de még a saját gyerekeimet is magukra hagyom, amikor fixa ideával állítanak szembe, itt be is fejezném.
- A hozzászóláshoz be kell jelentkezni
Pedig azt is írtad, hogy -x^2=x^2. De most tekintsünk el ettől. Akkor azt állítod, hogy a -x^2-be 6-ot helyettesítve nem -36 az eredmény. Ezt gondold át.
A bizonyításodban az első = jel nem igaz, a többivel egyetértek. Ha azt az elsőt bebizonyítod nekem, akkor meg vagyok győzve. :-)
- A hozzászóláshoz be kell jelentkezni
Egyáltalán nem elvárás az, hogy egy változó helyébe szintaktikailag konkrét számot helyettesítve a matematikai jelentés is ugyanaz maradjon. Ez máshol is sérül, például:
Legyen x = 6, y = 7.
Ekkor xy = 42 (negyvenkettő), de bután szintaktikailag behelyettesítve 67 = 67 (hatvanhét) adódik.
Nem feltétlenül elvárás tehát, hogy a -6^2 és a -x^2 kifejezésekben a mínusz jel jelentése, illetve a műveleti precedencia megegyezzen.
- A hozzászóláshoz be kell jelentkezni
Még egy kis kiegészítés:
Ha azt írod, hogy -6, akkor azt fel lehet fogni úgy (és többen ezt preferálják), hogy emögött nincs semmiféle művelet, hanem ez így egyben egy robbanthatatlan egységként "ott van" valahol a számegyenesen.
Ha azt írod, hogy -x, arra már nem tekinthetsz így, ott az x értékéből kiindulva muszáj valamit tenned. Vannak, akik a -6 -ot is így fogják fel, tehát hogy a 6-ból indulunk ki és azzal történik valami, elvégzünk egy műveletet.
Külön ínyencség, hogy az a valami, ami történik vele, az vajon 0-ból kivonás-e, vagy pedig (-1)-gyel szorzás?? :)
- A hozzászóláshoz be kell jelentkezni
Ez szerintem nem jó példa, mert xy csak annak a rövidítése, hogy x*y, és a szorzásjelet csak betűkkel hagyhatod ki, hogy ugyanazt jelentse. Ettől még van egy konvenció, hogyan értsük a -6^2. Mint többször írtam, lehetne más a konvenció, de attól még van egy.
- A hozzászóláshoz be kell jelentkezni
Mint lejjebb már írtam, nem vagyok meggyőzve arról, hogy amivel konkrétan Te eddig gyakrabban találkoztál, az globálisan világszerte is egy egyértelműen népszerűbb konvenció volna.
- A hozzászóláshoz be kell jelentkezni
Hát, teljesen meggyőződve én sem vagyok, de pl. a Wolframalpha (és így vélhetően a Mathematica) is így érti, a Maxima is így érti, emlékeim szerint a Maple is így érti, az Octave is így érti, a GNU R is így érti (momentán ennyi komolyabb matematikai rendszerrel jut eszembe, hogy van tapasztalatom). Tudom, ezek is csak implementációk, de ezeket matematikusok készítették matematikusoknak. És mondjuk az angolszász konvenciót ezzel azért eléggé lefedtük szvsz. Ettől még lehet, hogy Japánban másképp értik, de nem hinném.
- A hozzászóláshoz be kell jelentkezni
Szerintem igenis jó példa, ugyanis Te is megerősítetted, hogy épp arról van szó: betűk és számok esetén nem feltétlenül működik ugyanúgy a jelölésrendszer. Ha egy szorzásjel betűk közt elhagyható, számok között nem; akkor egy mínusz jelecske miért ne jelenthetne akár szintén mást betű illetve szám előtt? Nem azt mondom hogy mást jelent; pusztán figyelemfelkeltőnek, gondolatindítónak szánom az észrevételt.
- A hozzászóláshoz be kell jelentkezni
Azzal, hogy jelenthetne mást, hogy is vitatkoznék. Arról vitázok, hogy hogy szokás érteni konkrétan.
- A hozzászóláshoz be kell jelentkezni
1. 6 az bizony 2*3 különben baj van
2. 2*3 négyzete valóban: úgy van ahogy mondod
3. De akkor lássuk részletesen:
6^2 = 2*3^2 = 2*9 = 18 <> (2*3)^2 = 36
Vagy röviden -6 az egy szám, amit akár be is zárójelezhetsz, de általában nem szoktunk számokat magukban bezárójelezni.
- A hozzászóláshoz be kell jelentkezni
De igen, negatív számok hatványozásánál:
(-6)^2=36
-6^2=-36
- A hozzászóláshoz be kell jelentkezni
A műveletek sorrendje:
1) zárójel
2) hatványozás (gyökvonás)
3) szorzás (osztás), balról jobbra
4) összeadás (kivonás), balról jobbra
Az első hatványazonosság szerint a^b*c^b=(a*c)^b.
Ez esetben -1*6^2, vagyis (-1*6)^2. Hogy miért? Vegyünk egy másik példát:
6^2 = 2*3^2 = 2*9 = 18
vs
6^2 = (2*3)^2 = 6^2 = 36
Visszatérve az eredeti példára, ha másképp bontom fel a -6-ot, akkor a -6 = -1*6, és ha ezt második hatványra akarom emelni, akkor -1^2*6^2 = 1*36 = 36.
- A hozzászóláshoz be kell jelentkezni
$ ruby -e "p -6**2"
-36
;)
- A hozzászóláshoz be kell jelentkezni
6=3+3
3+3^2=12
Tehát 6^2=12.
- A hozzászóláshoz be kell jelentkezni
hm. ha igy, akkor
-6^2 = ((-1)*6 ) * ((-1)*6)
- A hozzászóláshoz be kell jelentkezni
"1. -6 az bizony (-1)*6 különben baj van."
az en mezei logikam belezuhan ebbe. mert ha a -6 az (-1)*6, akkor a
-1 = (-1)*1
es itt vegtelen rekurzioba valt, vagyis
-1 = (-1)*1 = ((-1)*1)*1 = (((-1)*1)*1)*1, stb.
szoval a ((((((-1)*1)*1)*1)*1)*1)*1 * 6 korul mentem flipperezni.
- A hozzászóláshoz be kell jelentkezni
Nem jól számolsz.
http://www.wolframalpha.com/input/?i=-6^2
A matematikában így értik. Ezt tanultuk mindannyian általános iskolában. A táblázatkezelők miért nem értik így, ez a kérdés.
A képletben ez szerepel: -6^2, amit úgy kell érteni: -(6^2). Tetszik nem teszik, így van. A Wolfram is így érti, a számológépek is így értik.
Az a kérdés, miért jó, hogy a táblázatkezelők nem.
- A hozzászóláshoz be kell jelentkezni
Nekem azt tanították, hogy a félreérthető dolgokat jelezzem egyértelműen.
Ez félreérthető. Normális ember ezt bezárójelezi, bármire is gondolt.
--
blogom
- A hozzászóláshoz be kell jelentkezni
Ez nem félreérthető, hiszen van rá egyértelmű matematikai szabály. Nem azt nem tudom megoldani, hogy -36-ot kapjak, csak kíváncsi vagyok, mi az oka, hogy nem követik a matematikai konvenciókat.
- A hozzászóláshoz be kell jelentkezni
Rendben, kövessük a matematikai konvenciókat.
Vegyél elő papírt, ceruzát.
Írd le a papírra a -6-ot, majd a 6-os mögé, felső indexbe írj egy kis kettes. Számold ki a kifejezés értékét.
Mennyi is jött ki?
- A hozzászóláshoz be kell jelentkezni
Erről beszélek, hogy ez -36.
Ugye nem arra akarsz rábeszélni, hogy -x^2 = x^2?
- A hozzászóláshoz be kell jelentkezni
-x = (-1)*x
ezért -x^2 = x^2 !
Magyarul -x^2 != -1*(x^2)
Nincs tiltva ettől eltérő konvenció alkalmazása, de viszonylag szűk körben fognak megérteni. A politikában ez pl. nyerő húzás, érettségin kevésbé.
- A hozzászóláshoz be kell jelentkezni
Elolvasnád a lenti indirekt bizonyítást, ahol ezt cáfolom? És esetleg reagálnál arra? A lehülyézés helyett?
De akár ábrázolhatod a -x^2 és az x^2 parabolákat is.
- A hozzászóláshoz be kell jelentkezni
Eszem-faszom megáll amikor bizonyításról vitatkoztok. Definícióról beszélünk! Arról, hogy a -6^2 úgy értendő-e, hogy (-6)^2, vagy pedig úgy, hogy -(6^2). Hogy a rákba lehetne ezen bármit is bizonyítani??? Maximum érvelni, hogy melyik definíció lenne a szimpatikusabb neked.
- A hozzászóláshoz be kell jelentkezni
Erre már lentebb írtam, hogy OK.
- A hozzászóláshoz be kell jelentkezni
Számológépeken legtöbbször van egy kivonás jel és egy mínusz előjel.
Ha a mínusz előjellel írsz be mínusz hatot, és azt emeled négyzetre, akkor 36-ot kapsz. Illetve ha kivonsz 0-ból hatot, egyenlőt nyomsz, és négyzetreemelsz, szintén 36-ot kapsz.
- A hozzászóláshoz be kell jelentkezni
Ezt tanulmányozd (vagy gyakorlatilag bármelyik programnyelvet):
https://support.office.com/en-us/article/Calculation-operators-and-prec…
... (meg egy kicsit a magyart is)
- A hozzászóláshoz be kell jelentkezni
Elolvastam. Már előtte is. Tudom, hogy így veszi a műveleti sorrendet az Excel. Az volt a kérdésem, ez miért jó.
Mi a baj a magyarommal?
- A hozzászóláshoz be kell jelentkezni
Több programnyelvben a „-” operátornak két jelentése van:
- 2 operandus esetén (3 - 1) a kivonás műveletet jelenti -> ennek a precedenciája kisebb a hatványozásénál
- 1 operandus esetén (-6) a negálás műveletet jelenti -> ennek a precedenciája nagyobb a hatványozásénál
A táblázatkezelő ennek megfelelően működik. Több lehetőséged is van:
- tudomásul veszed/elfogadod;
- nem veszed tudomásul, és méltatlankodsz;
- írsz a kifogásolt működésű programok készítőinek, és meggyőzöd őket, hogy rosszul gondolják ezt a dolgot; Sok sikert
- …
Kiegészítés:
Félreérthető volt, ezért töröltem.
-----
(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-
- A hozzászóláshoz be kell jelentkezni
Nem méltatlankodok és tudomásul vettem. Annyi a kérdés, mi lehet az oka, miért jó, hogy így értik, és nem úgy, ahogy a matematikában általában (ahol szintén kettős jelentése van, de ott a negálás nem magasabb rendű művelet a hatványozásnál, lévén a (-1)-el való szorzással definiálható, arra meg van egyértelmű sorrendiség). Ha van egyáltalán bármi oka.
- A hozzászóláshoz be kell jelentkezni
Feladom.
Mégis teszek még egy-két próbát:
- Egy regiszterbe egy negatív számot (-6)-ot írsz (pl. assembly nyelven). Utána pedig megszorzod saját magával, akkor ott is ezt az eredményt fogod kapni.
- Ha egy változó értéke negatív szám, és a változó tartalmát négyzetre emeled, akkor ott is ezt az eredményt fogod kapni.
-----
(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-
- A hozzászóláshoz be kell jelentkezni
Ez világos. Most arról beszélsz, hogy (-6)^2=36. De én arról beszélek, hogy -6^2<>(-6)^2.
Ha egy táblázatkezelőben egy cellába írok egy negatív számot, és annak a négyzetét kiszámoltatom egy másik cellába, az pont így működik és nem is kéne, hogy másképp működjön. De hogy jön ez ide?
- A hozzászóláshoz be kell jelentkezni
Most már tényleg utoljára:
A programozási nyelvek többségében (az excel is egy speciális programozási nyelv, speciális megjelenéssel) az egy operandusú mínusz („-”) a negálást jelenti. Ami a pozitív számból negatívat, a negatívból pedig pozitívat csinál. Jelen esetben a pozitív 6-ból, a negatív 6-ot (-6). Továbbá a negálás precedenciája legtöbb esetben magasabb mint a hatványozásé. Az is ismert, hogy a negatív szám négyzete is pozitív szám lesz.
Az ügy szempontjából nincs jelentősége, hogy egy matematikus/azték/babiloni/gázszerelő mit gondol erről. A lényeg az, hogy a programozási nyelvek többsége így kezeli az általad problémásnak tekintett helyzetet.
„Ha egy táblázatkezelőben egy cellába írok egy negatív számot, és annak a négyzetét kiszámoltatom egy másik cellába, az pont így működik és nem is kéne, hogy másképp működjön. De hogy jön ez ide?”
Tehát szerinted az a helyes, ha egy negatív szám (hint: egy operandusú negálás) négyzetre emelésének eredménye attól függ, hogy a négyzetre emelendő szám a négyzetre emeléssel egy cellában van, vagy pedig egy másik cella tartalmát emelem négyzetre?
A lényeg a precedencia! Mikor egy új programozási nyelvvel ismerkedem, akkor az első között nézem meg a precedencia szabályt. Ezzel némileg le lehet csökkenteni a későbbiekben a hibakeresésre fordítandó időt. Ha bizonytalan vagyok, akkor zárójelezek. Ez, némi plusz gépelésért cserébe, még több kellemetlenségtől kímél meg.
Összefoglalva: A táblázatkezelők az általam ismert programozási nyelvek többségénél megszokott módon kezelik a negálás operátort. És ennek örülök! És, éssel nem kezdünk mondatot. :-)
-----
(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-
- A hozzászóláshoz be kell jelentkezni
Nos, amit nem tudtam (és eddig nem derült ki itt sem), hogy a legtöbb programozási nyelv hogy érti. Azt tudtam, hogy van, ami így érti, de én konkrétan kevés nyelvet ismerek.) Köszönöm, ezt kérdeztem!
- A hozzászóláshoz be kell jelentkezni
programnyelve is valogatja:
$ bc -l
-6^2
36
$
illetve:
gnuplot> print -6**2
-36
plusz egy erdekes diszkusszio itten...
- A hozzászóláshoz be kell jelentkezni
Ez így világos, és az is, hogy ha egy adott eszközt használok, alkalmazkodjak a szabályaihoz (bár a bc-nél nem is tudtam, hogy így érti, de azzal ritkán számolok). A linket köszi, erről beszélek én is.
Szóval akkor a kérdés még általánosabban: miért jó, hogy programnyelve válogatja, betartják-e a matematikai szabályokat?
- A hozzászóláshoz be kell jelentkezni
A matematikai precedencia az, hogy a -6^2, az mínusz hat a négyzeten (amióta ismerjük a negatív számokat), nem pedig hat a négyzeten szorozva mínusz egy. Ahol ezt betartják, ott ez lett a szempont.
Ahol nem tartják be, ott vagy az a szempont, hogy zárójelezés kierőszakolásával egyértelműbb legyen a jelentés az olvasó számára, vagy az elemzés a parsernek - vagy csak nem is gondoltak az egészre, ahogy esett, úgy puffant, vagy gondoltak, de a megvalósításba hiba csúszott és a parser összekeveri az egyoperandusú mínuszt a kivonással.
- A hozzászóláshoz be kell jelentkezni
Nem, -6^2 a matematikában 6^2-nem a negáltja. -x^2 szerinted egyenlő x^2-el?
- A hozzászóláshoz be kell jelentkezni
Hhh...
Ne csak a magyartanártól kérd vissza az iskolapénzt - tróger egy tanári karod lehetett!
- A hozzászóláshoz be kell jelentkezni
Biztos azok voltak. Akkor lássuk. Szerinted:
-x^2 = (-x)^2
azaz
-x^2 = x^2
adjunk hozzá mindkét oldalhoz x^2-t
0 = 2*x^2
ami ellentmondás
Nos?
És mi a bajom a magyarommal, válaszolni nem megy, csak beszólni?
- A hozzászóláshoz be kell jelentkezni
Vagy nézd meg a -x^2 és az x^2 parabolákat esetleg.
- A hozzászóláshoz be kell jelentkezni
A -x^2 egy változó négyzetének a negálását jelenti, amely változó lehet pozitív/negatív/nulla, de a -6 sose lesz más csak -6, bátran ábrázolhatod is az x -> -6^2 függvényt tetszőleges értelmezési tartományon (bár ez az eredeti kérdést fogja benned felvetni), várva, hogy egyszer 0 alá bukik.
- A hozzászóláshoz be kell jelentkezni
Te most azt állítod, hogy ha a -x^2-be 6-ot helyettesítünk, akkor mást jelent a '-' jel? Merthogy azt is így írjuk: -6^2.
Másrészt fentebb azt állítottad, hogy -x^2=x^2. Most igen, vagy nem?
- A hozzászóláshoz be kell jelentkezni
Korrekt, a -x-et tudd be a gépszíjnak (amit szégyellek): tégy az x helyébe L-t, jelezve, hogy az egy literál (itt: 6).
- A hozzászóláshoz be kell jelentkezni
De ha -x^2<>x^2 (kivéve ha x=0), akkor -6^2<>6^2, nemdebár?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
A matekod kapcsán nincs már reményem, de mivel kíváncsi vagy a magyarra:
"mint a -1-el" : -1-gyel
"mintha (-6)^2-t írnák." : írnék
Ha a magyarra tett megjegyzésem után visszaolvastad, de nem tűnt fel, az kínos.
Ha nem olvastad vissza, az még kínosabb.
- A hozzászóláshoz be kell jelentkezni
Nem olvastam vissza és javítom. Egyszerűbb lett volna, ha szólsz. Nem figyeltem, a másodiknál meg mellényúltam. Borzasztó rossz a helyesírásom ezek szerint, ugye?
Akkor most lássuk a matekot!
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ez így tételesen nem igaz. Lásd fentebb.
- A hozzászóláshoz be kell jelentkezni
Mind szembe jön.
- A hozzászóláshoz be kell jelentkezni
Világos, tehát a lehülyézés a legerősebb érved.
Fentebb írtam rá egy indirekt bizonyítást. Cáfold légyszíves!
- A hozzászóláshoz be kell jelentkezni
Egy jelolest / konvenciot mert akarsz bizonyitani? (Nem lehet ugyanis. Ettol konvencio)
- A hozzászóláshoz be kell jelentkezni
Azt bizonyítottam, hogy ha másképp értjük, akkor ellentmondásra jutunk.
- A hozzászóláshoz be kell jelentkezni
Azert jutsz ellentmondasra mert egyszer igy ertelmezed egyszer meg ugy. azaz ha -x^2 az ugyan az mint (-x)^2 akkor az osszeadas x^2 -el mar nem 0. (-x)^2 + (x)^2 = -x^2 + x^2 /= 0. Felreneerts, tudom hogy matematikaban ezt ugy jelolik ahogy mondod. De nem azert mert valami egyetemes matematikai igazsag miatt igy lehet csak jelolni, hanem azert mert igy alakult ki a jeloles / igy kenyelmes.
- A hozzászóláshoz be kell jelentkezni
Teljesen igazad van, erre nem figyeltem oda. De akkor hogy értessem meg azzal a szerencsétlennel (ha már folyamatosan lehülyézett engem), hogy -6^2=-36? (Bár az gondolom elég erős érv, hogy nézze már meg a -x^2 parabolát, meg helyettesítsen bele 6-ot. Feltéve, ha valaki tudja, hogy néz ki a -x^2 parabola.)
- A hozzászóláshoz be kell jelentkezni
Elbeszéltek egymás mellett. Valójában arról van szó, hogy a -6^2 értelmezhető úgy is, hogy a 6 van behelyettesítve a -(x^2) képletbe (a félreértések elkerülése végett zárójeleztem be), meg úgy is, hogy a -6 van behelyettesítve az x^2 képletbe. Nekem az utóbbi tűnik természetesnek, bár matematikailag az előbbi a helyes. Én ezt arra vezetném vissza, hogy a matematikailag helyes jelölést a gyakorlatban időnként kényelmetlennek találjuk, ezért egyszerűsítünk. Én idejét sem tudom annak, mikor írtam papíron negatív számot utoljára zárójelben, mivel a spacing hiánya is teljesen egyértelműen jelzi, hogy a - előjelként szerepel. Pl. 69 - 42 vs. 69 -42.
- A hozzászóláshoz be kell jelentkezni
Azt hittem ilyet csak az amcsik csinalnak az interneten.
- A hozzászóláshoz be kell jelentkezni
Ez nem igaz, szerinted -a² = (-a)^2?
- A hozzászóláshoz be kell jelentkezni
Ezt lx-nek is elmagyarázhatnád, bár odáig talán már eljutottunk, hogy -x^2 <> x^2, de ennek ellenére -6^2=6^2 szerinte.
- A hozzászóláshoz be kell jelentkezni
" a hatványozás előbb végzendő el, mint a -1-el való szorzás"
Csakhogy itt a "-" az nem -1-geyl való szorzás, hanem a szám (-6) része. A parser előbb állapítja meg, hogy ez itt egy szám, aminek értéke -6, és utána hatványoz. -1-gyel senki nem szoroz.
- A hozzászóláshoz be kell jelentkezni
Igen, az Excel ezt csinálja. Szerinted is -6^2=36? (Így papíron leírva értelemszerűen a 2-es a 6-os felső indexében.)
- A hozzászóláshoz be kell jelentkezni
Ha ilyet látok gépben, hogy "-6^2", akkor gondolkozni kezdek, hogy hogy érti a beírója, mert nem egyértelmű. Itt ugyanis nem matematikai műveleti precedenciáról, hanem parse-olási kérdésről van szó: előbb állapítja-e meg a számok értékét és utána végez-e műveletet velük.
Papíron -36 lenne az érték, amire gondolnék. De nem feltételezem, hogy a gép ugyanúgy gondolkodik.
- A hozzászóláshoz be kell jelentkezni
Igen, ez a kérdésem, hogy miért jó ez. Az lenne a logikus, ha egy (többek között) számítások végzésére használt program/programnyelv betartaná a matematikai konvenciókat. Annyi lett volna a kérdésem mindössze, hogy mi oka lehet annak, hogy mégsem. Nem kötekedés, kíváncsiság.
- A hozzászóláshoz be kell jelentkezni
Szerintem: a programozási nyelvekben hagyományosan a negáció a legmagasabb precedenciájú. A hatványozás csak függvényhívásként érhető el, tehát a fenti probléma fel sem merül, mindig egyértelmű mi a művelet tárgya.
A táblázatkezelőben bevezették a hatványozás operátort, viszont a jelek szerint fontosabbnak tartották a "negáció a legmagasabb precedenciájú" hagyományt megtartani, mint hogy matematikailag helyesek legyenek. Talán azért, mert bár a hatványozás hagyományos írási módja, a felső index egyértelművé teszi a műveleti sorrendet, az "^" operátorral történő írási módnál ez már nem igaz. Ilyenkor az átlagos felhasználó valószínűleg inkább "programozói" módon gondolkodik, nem matematikusként.
- A hozzászóláshoz be kell jelentkezni
Köszönöm itt is, ezt nem tudtam, hogy ez ennyire általános a programozási nyelveknél.
- A hozzászóláshoz be kell jelentkezni
+1 értelmes nyelvben nincs hatványozás operátor.
- A hozzászóláshoz be kell jelentkezni
Nos, ahol nincs hatványozás operátor, ott ez a probléma nem is létezik. :-)
-----
(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-
- A hozzászóláshoz be kell jelentkezni
Ha kimondottan matematikához készítenek egy nyelvet, akkor azért célszerű, hogy legyen benne. Pl. Fortranban is van, és pontosan úgy működik, ahogy a matekban megszokott.
- A hozzászóláshoz be kell jelentkezni
Jó igen fortranban van, de ott viszont matekos a kiértékelés is, szóval az ebben a topikban megjelent sok bullshit se igaz. Mondjuk az MS vicces tud lenni, windows számológépben nem volt precedencia, aztán rájöttünk, hogy olyan csak tudományos módban van.
- A hozzászóláshoz be kell jelentkezni
matekos kiértékelés?
miről beszélünk?
a "6 + -6" kifejezés szerintetek "matekosan" helyes? szerintem igen, a Fortran fordítod mit kezd vele? szerintem simán "elbukik" rajta, mert a - jelet unáris operátornak fogja tekinteni, nem pedig előjelnek, azt meg nem fogja engedni aritmetikai operátor után, azaz zárójelezni kell...
online (gfortran-4.9.2): http://ideone.com/XjBpGh
szerkesztés: ha esetleg a hibaüzenetek alapján azt gondolnád, hogy máshol van a hiba, akkor kérlek "forkoljad" a kódot, és írd át a -6-ot mondjuk 6-ra, és lám azzal meg elboldogul,
- A hozzászóláshoz be kell jelentkezni
pedig lehet szepsegeket csinalni mindenhol:
#include <stdio.h>
int main(void)
{
int a,b;
a=10,b=4;
printf("%d\n",6+-6);
printf("%d\n",a+-b);
printf("%d\n",a-+b);
printf("%d\n",a++-b);
printf("%d\n",a+++-b);
return(0);
}
- A hozzászóláshoz be kell jelentkezni
:)
ragozhattad volna még, például:
/* ... */
printf("%d\n",a+++b);
printf("%d\n",a+++-b);
printf("%d\n",a+++--b);
printf("%d\n",a+++-++b);
printf("%d\n",a+++-+--b);
/* ... */
- A hozzászóláshoz be kell jelentkezni
"a "6 + -6" kifejezés szerintetek "matekosan" helyes?" Nem nem az, be kell zárójelezned a 6 + (-6) :) Láttatok már ti matekórát?
- A hozzászóláshoz be kell jelentkezni
matekórát nem láttam, én csak matematikára emlékszem...
miért kellene egy negatív számot zárójelezni?
ha önmagában szerepel, akkor is zárójelezed?
ha mondjuk van egy negatív számokat is tartalmazó számtani sorozatod, annak az (felsorolt) elemeit hogyan írod le?
vagy fordítsuk meg: szerinted a "-6 + 6" kifejezés akkor helyes-e, és miért? egyáltalán mit is "jelent"?
szerintem az a gond, hogy elbeszélünk egymás mellett: szerintem egy negatív számot literálként le lehet írni, mások szerint meg mindenképpen unáris műveletről van szó,
- A hozzászóláshoz be kell jelentkezni
Ha vessző van közte akkor jó, -5,-8,-2,-4 stb.a -6+6 is jó, viszont a 6+-6 nem jó, meg mást is jelentene, így gépen. 6+(-6)Mindig így szokták írni, mindenhol, ott nem hagyhatod el a zárójelet.
- A hozzászóláshoz be kell jelentkezni
viszont a 6+-6 nem jó, meg mást is jelentene, így gépen.
mit jelentene szerinted? vagy én vesztettem el a fonalat?
azt aláírom, hogy egy programszövegben pont a félreértések elkerülése miatt (is) zárójelezünk, meg lejjebb már leírtam, hogy valamilyen szempontból igazat adok a téma indítójának, de...
- A hozzászóláshoz be kell jelentkezni
6+-6 így gépen a átlában "6 plusz mínusz 6" helyett szokott lenni mert a megfelelő karakter nincs alap billentyűzeten. Igazából meg ilyet úgyse írunk le, hogy 6+(-6) hanem egyből 6-6 lesz. A -6^2 vagy -6**2 az viszont egyértelműen -36
- A hozzászóláshoz be kell jelentkezni
általában, de pont ezért "jobb" talán valamilyen kifejezőbb írásmódot találni, ha már nem tudjuk a bevinni a ±-t (lehet, hogy nem mindenkinél fog jól megjelenni ez a karakter, előnézetben nálam rendben volt), pld. szerintem "jobb" a +/- "formát" használni, azaz 6+/-6, de nyilván másnak-máshol meg úgy kézenfekvőbb, ahogyan te írtad, gondolod,
nekem továbbra sem egyértelmű, mert szerintem nem lehet a "környezettől" elvonatkoztatni, és ez okozza a "gondot", hogy egy hasonló, de más környezetben megpróbáltuk ugyanazt alkalmazni,
pld. a google online táblázatkezelője is 36-ot ad a "=-6^2" kifejezés eredményeként,
- A hozzászóláshoz be kell jelentkezni
"matekórát nem láttam, én csak matematikára emlékszem..."
Verd ki, mert mar nagyon ciki amit csinalsz
- A hozzászóláshoz be kell jelentkezni
nem a témához tartozik, de nyugodtan kiverheted az elmented oldaladra, ha már úgy szoktad.... értem én, hogy kompenzálni akarsz, de...
privátban megírhatnád, hogy miért is ciki szerinted, talán tanulok belőle, köszönöm,
- A hozzászóláshoz be kell jelentkezni
ott "tévedsz", meg szerintem a téma indítója is, hogy szó sincs negálásról, a -6 a leírt formájában egy literál, a "mínusz hat", és semmilyen műveleti jelről, operátorról nincs szó ebben az esetben, azaz szó sincs negálásról, szerintem
- A hozzászóláshoz be kell jelentkezni
Lehetne akár így is, de jellemzően a parserekben a '-' egy egyoperandusú prefix operátorként van definiálva, az integer pedig egy számmal kezdődő karaktersorozat (tehát eredendően pozitív).
Például itt egy grammar file PL/SQL-hez:.
A numerikus konstansban nem szerepel se '-' vagy '+' prefix:
TOKEN : /* Numeric Constants */
{
< S_NUMBER: <FLOAT>
| <FLOAT> ( ["e","E"] ([ "-","+"])? <FLOAT> )?
>
| < #FLOAT: <INTEGER>
| <INTEGER> ( "." <INTEGER> )?
| "." <INTEGER>
>
| < #INTEGER: ( <DIGIT> )+ >
| < #DIGIT: ["0" - "9"] >
}
Később egytagú kifejezésként definiálja a negálást, aminek a paramétere lehet konstans is:
void PlSqlUnaryExpression():
{}
{
(("+" | "-") PlSqlPrimaryExpression())
|
PlSqlPrimaryExpression()
}
void PlSqlPrimaryExpression():
{}
{
<S_NUMBER>
| <S_CHAR_LITERAL>
[...]
}
- A hozzászóláshoz be kell jelentkezni
igazad van a programnyelvekkel parserekkel kapcsolatban, most belenéztem egy sor referenciába (Algol-60, Ada, C++, ...) és mindenhol azt írják amire utalsz,
ma is tanultunk valamit (pedig régebben írtam pár parsert, de ezek szerint vagy szenilis vagyok, vagy ...)
- A hozzászóláshoz be kell jelentkezni
"A műveleti sorrend értelmében a hatványozás előbb végzendő el, mint a -1-gyel való szorzás, márpedig itt a '-' jel azt jelenti."
Abban igazad van, hogy a -6 felírható mint -1*6, ahol tévedsz, az az, hogy a -1*6^ nem ugyanaz, mint a -6^. Indoklom: a -6 leírásakor a -1*6 művelet már elvégzésre került, ezért semmi nem indokolja azt, hogy ismét szétbontsd a már elvégzett szorzás eredményét. Ezen a ponton viszont ha mégis szét akarod bontani, akkor a helyes szétbontás menete: -6^2 = (-1*6)^2 = -1^2*6^2
Ha a te gondolatmenetednél maradok, akkor a -6 úgyis felírható, mint -2*3. Ha most a -6^2 úgy írom fel, mint -2*3^2, akkor elég jól láthatóan hibát követek el, már nem csak az előjel fog megváltozni, de az érték is. Miért is? Azért mert a hatványozás magasabb precedenciájú, mint a szorzás. Ha így akarod "széthúzni" a kifejezést, megteheted, csak akkor amit "kihúzol" belőle, azt is hatványozni kell. Viszont ekkor ha úgy írod fel, mint -2^2*3^2, akkor az eredmény is jó lesz és az előjel is megváltozik.
- A hozzászóláshoz be kell jelentkezni
A matematikaban a megszokott jeloles az az hogy -1^2 az -1. (-1)^2 az 1. Ezt mar font is irtam ez egy megszokott jeloles. Felesleges raciot keresni ebben vagy az ellenkezojeben. Excelben pl nem ez a konvencio. Pl - haskellben meg pont ez.
- A hozzászóláshoz be kell jelentkezni
Ez az állítás azért téves, mert a matematikának van egy olyan ága, amit úgy hívnak, hogy komplex számok. Itt megjelenik az "i", mint immaginárius egység. Ez azért fontos, mert ennek a szigorúan elméleti számnak az önmagával alkotott szorzata -1. Innen kezdve az i^2 = -1, de pont emiatt a -1^2 = 1. Innen kezdve ha a -6^2 eredményeképpen -36-ot akarok kapni, akkor az -6i^2, vagy komplex szám formában (-6, 1)^2.
- A hozzászóláshoz be kell jelentkezni
„komplex szám formában (-6, 1)^2.”
Ezen még dolgozz egy kicsit. :-)
-----
(&%;_98\<|{3W10Tut,P0/on&Jkj"Fg}|B/!~}|{z(8qv55sr1C/n--k**;gfe$$5a!BB]\.-
- A hozzászóláshoz be kell jelentkezni
Miért tenném? Ezt már nálam okosabbak megtették. :-)
- A hozzászóláshoz be kell jelentkezni
bug report to Wolfram Mathematica + haskell.org sent ;)
- A hozzászóláshoz be kell jelentkezni
Nagyon helyes! :-)
- A hozzászóláshoz be kell jelentkezni
"ennek a szigorúan elméleti számnak" Ezen besírtam, vannak gyakorlati számok is?
"Innen kezdve az i^2 = -1, de pont emiatt a -1^2 = 1" Hogy mi?
"-6i^2, vagy komplex szám formában (-6, 1)^2" ??? -6i^2 (ami tényleg komplex szám) az +6, (-6,1)^2 az pedig 37 (mivel ez egy vektor)
- A hozzászóláshoz be kell jelentkezni
ha már szóba hoztátok, meg a WolframAlpha-t is, akkor nem pont neked szól, de kicsit még "trollkodnék", azaz kavarnám az "indulatokat":
(-6, i) * (-6, i)
(-6, i)**2
- A hozzászóláshoz be kell jelentkezni
(-6,i) * (-6,i) az két CxC vektor (komplex koordinátájú) szorzata, amit skaláris szorzatnak vett a Wolfram
(6,i)**2 az meg egy vektor hatványozása, ami nem igazán van definiálva a lineáris algebrában, a Wolfram meg jobb híján koordinátánként négyzetre emelt
Mi itt a gond?
- A hozzászóláshoz be kell jelentkezni
nincs semmi gond, úgy van ahogy írtad, csak korábban a WolframAlpha-ra hivatkozva ezt is írtad: "A matematikában így értik.", azaz mintha a WolframAlpha-val akarnád igazolni a matematikai értelmezést,
és most azt írod, hogy a hatványozás a lineáris algebrában nem igazán van definiálva, ezért a WolframAlpha jobb híján adott valamilyen választ a nem átgondolt kérdésemre, és nem azt mondta, hogy "nem érti" mit is akarok,
szóval akkor most hogy is van ez? ezek szerint, akkor mégiscsak van értelme a matematikában a hatványozásnak a ℂ²-n, mert a WolframAlpha tudja értelmezni?
költői kérdés, nyilván ugyanarra gondolunk...
apropó, nem szándékosan "írtam el", jobb lett volna talán, ha nem ℂ² példákat írok, hanem ℝ²-ben maradok, mert akkor a halmazelméleti modellre lehetne hivatkozni, és akkor talán elgondolkodhatunk azon is, hogy a már korábban Zs által felírt alakot (-6,1) is csak vektornak fogja a WolframAlpha kezelni, azaz (-6,1)^2 kérésre {36,1} lesz a válasza, a (-6+i)^2-re meg persze megkapjuk a helyes 35-12i-t (amely persze 37-es rádiusszal rendelkezik, ahogyan iattilagy megjegyezte),
persze itt sincs semmi gond, hiszen csak arról van szó, hogy nem jól fogalmaztuk meg a feladatot a WolframAlpha-nak,
- A hozzászóláshoz be kell jelentkezni
Lineáris algebrában is szokták értelmezni az ú.n. pontonkénti műveleteket. Csak azért furcsa, mert a legtöbbet síkbeli/térbeli/téridőbeli fizikai mennyiségeket leíró vektorokkal találkozunk, ahol a "szokásos" vektorműveletek (skaláris szorzás, vektoriális szorzat) jó tulajdonsága, hogy az eredmény kovariáns (azaz, ha kiszámolok valamit, majd elvégzek egy koordinátatranszformációt, vagy ha előbb végzem el a koordinátatranszformációt és utána a műveleteket, akkor ugyanazt kapom), míg a pontonkénti műveletek nem azok.
De: tfh egy vektorban tárolom valamilyen legyártandó korongok sugarait: r=(r1,r2, ...),
akkor a területük pi r^2 = (pi r1^2, pi r2^2, ...), a térfogatuk pi r^2 h, ahol h a vastagság, a tömeg pedig
rho pi r^2 h, az össztömeg (rho pi r^2 h).(1,1, ...).
- A hozzászóláshoz be kell jelentkezni
Hat ez a topik igy ahogy van megert egy right click, save page as gombot. Gratula!
Hint: -6^2 altalaban (-6)^2, nem pedig -(6^2) amit te varnal.
- A hozzászóláshoz be kell jelentkezni
-6^2=36 szerinted? Nem programnyelvekben (ez tisztázódott közben, hogy ott többnyire igen, én azt hittem, csak néha), nem táblázatkezelőben (az meg a kérdésfelvetés pillanatában is világos volt, hiszen láttam), hanem úgy általában? Mert akkor én is rögzítem itt a kedves hozzászólásod.
- A hozzászóláshoz be kell jelentkezni
"úgy általában" nem ír le ilyet az ember. A kalap karaktert programozási nyelvekben és táblázatkezelőkben használjuk. "Úgy általban" kalap nincs, a kettes feljebb kerül és kisebb lesz.
És ismét: az, hogy a -6² mit jelent, definíció kérdése. Lehet így is, úgy is definiálni. Nincs levezethető, bebizonyítható helyes és helytelen válasz.
- A hozzászóláshoz be kell jelentkezni
Arról beszélek én is. De mégis csak van egy általánosan elfogadott definíció. A gyökvonást is _lehet_ úgy definiálni, hogy osztok kettővel, de azért mégis tudjuk, mire gondoljunk gyökjelet látva.
- A hozzászóláshoz be kell jelentkezni
Van általánosan elfogadott definíció? Biztos vagy benne? Vagy csak azért hiszed annak az általad kedveltet, mert általános iskolában Marika néni azt tanította neked, és ezért azt hitted hogy akkor minden országban, minden általános iskolában így tanítják?
Én úgy sejtem, hogy ez tipikusan az a terület, ahol ha az egyik jelölésmód világszerte egyértelműen jóval elterjedtebb lenne a másiknál, akkor a másik kihal; például programozási nyelvek nem választják azt. Szerintem azért terjedt el mindkettő és lett ekkora kuszaság, mert mindig is huzavona volt a kettő közt és közel ugyanannyira voltak népszerűek.
- A hozzászóláshoz be kell jelentkezni
[Troll] Miért?
1. Mert az élet kegyetlen.
2. Mert Murphy törvénye érvényesült.
Tehát: zárójelezd úgy, hogy ne lehessen félreérteni.
[/Troll]
- A hozzászóláshoz be kell jelentkezni
Egyesek úgy vélik, hogy a hatványozás erősebb a kivonásnál, ezért -36 kellene hogy legyen az eredmény.
Mások úgy vélik, hogy az egyoperandusú "-" eltér a kétoperandusútól, és szorosabban kötődik a számhoz, vagyis a (-6)-ot emeled négyzetre, az eredmény 36.
A programozási nyelvek, parancssori eszközök stb. kábé fele így, fele úgy látja a világot.
Szopás. C'est la vie. Nem hinném, hogy bármelyiknek jobban igaza van, mint a másiknak. Ettől még gáz, hogy nincs egy egységes álláspont, de hát ha nincs, akkor nincs.
- A hozzászóláshoz be kell jelentkezni
szerintem nem vagyok egyedül a véleményemmel, azzal, hogyha egyszerűen leírod ezt: -6, akkor semmiféle kivonásról, operátorról nincs szó, hanem arról a számról az egész számok halmazában, amelyet a 6-hoz hozzáadva 0-t kapunk, azaz a 6 + x = 0 "megoldásáról", amely a természetes számok halmazának nem eleme, és ezért is(?) bővítettük azt a halmazt,
egyes programozási nyelvek persze valójában negatív számot önmagában literálként "nem értelmeznek", hanem mindenképpen unáris műveleti jelnek fogják tekinteni azt a jelet, amelyet valójában előjelnek "kellene" venni, lásd az általam idézett Fortran példát,
azt "aláírom", a téma indító "védelmében", hogy pld. megnézve egy olyan ismertebb matematikai formulát, ahol belebotolhatunk egy negatív szám hatványába, pld. nézzük a szinusz Taylor-sorát, ott a (-1)**n-et (n=0, 1, 2...) zárójelezni szokás, pedig közben egyértelmű lenne, hogy -1**n-ként felírva, ha annak a helyes értelmezése -(1**n), akkor nem lenne "világos", hogy miért is van szükség a hatványozásra, stb.,
- A hozzászóláshoz be kell jelentkezni
Szerintem eddig ez a legjobb válasz. Csak annyit tennék hozzá, hogy matematikában/fizikában van általánosan elfogadott konvenció, és az bizony az, ahol a hatványozást kell előbb elvégezni. Egyetlen olyan szakcikket sem láttam, ami ne így használná. De a kalap nem kitevő, a programozás nem matematika, az élet nem habostorta.
- A hozzászóláshoz be kell jelentkezni
No de nekem itt többen azt bizonygatják (egyesek finom sértegetéssel vegyítve), hogy a matematikában is -6^2=36.
- A hozzászóláshoz be kell jelentkezni
Jótékonykodj, küldj nekik négyjegyű függvénytáblázatot!
- A hozzászóláshoz be kell jelentkezni
felreolvastam :) igy viszont +1
- A hozzászóláshoz be kell jelentkezni
Na hat oszkar most mar latod, hogy miert van ez az erdekesseg. Az informatikusok nem matematikusok. De jo nagy a pofajuk!
- A hozzászóláshoz be kell jelentkezni
pont ez, tesztelve vagy szazfele cuccal:
- A hozzászóláshoz be kell jelentkezni
Libreoffice scalc cellába beírva: -6^2
36
Gnumeric eredménye is plusz 36.
És a többi esetén? Lássuk:
$ luajit
> = -6^2
-36
octave:1> -6**2
ans = -36
$ perl
print -6**2
-36
$ php5
<?php echo -6**2; ?>
-36
$ python3
>>> -6**2
-36
$ ruby
print -6**2
-36
Amely pozitív eredményű:
$ bc -l
-6^2
36
.
bash:$ echo $[-6**2]
36
Ez is pluszos. A matekórán tanultak szerint az előjel nagyobb prioritású, mint a hatványozás. De akkor a többi miért fordítva dolgozik?
- A hozzászóláshoz be kell jelentkezni
Ha a matekórán azt tanítanák, az előjel nagyobb prioritású, mint a hatványozás, akkor miért írnának ilyeneket a hülye matematikusok: (-1)^n? Csak nem azért, mert a matematikában ez mást jelent, mint -1^n? ;-)
- A hozzászóláshoz be kell jelentkezni
A matematika leíró nyelve nem egyértelmű. Országonként, kultúránként, tankönvenyként, tanáronként, szituációnként, programozási nyelvenként eltérő lehet.
Amerikában az 1-est kézírással pálcikaként írják, és a 7-esük kísértetiesen hasonlít a mi 1-esünkre. Ha a 7-est áthúzod középen vízszintesen, azt ők már nem ismerik fel.
Mi tanultunk olyat (is) általánosban, hogy az unáris mínusz (amiről ezt a téma szól) az a kivonás helyett egy rövidebb és magasabban lévő, szinte alig észrevehető vonalka.
Ott van a "/", ami sok esetben valós osztást, sok esetben pedig egész osztást jelent. Negatív számból indulva ki megintcsak eltérnek a programnyelvek abban hogy merre kerekít, illetve a modulus (%) negatív vagy pozitív lesz.
Aztán ott van a híres-hírhedt 6÷2(1+2) esete: http://www.mathmagical.co.uk/Mathematics/CalcPuz.html
A természetes számok halmazába hol beleértik a 0-t, hol nem.
A négyzetgyökvonás eredménye legfeljebb egy szám – egészen addig, amíg ki nem lépünk a komplexek körébe, akkor hirtelen már egy történetesen pozitív valósra sikeredett számnak is két négyzetgyöke lesz.
Tizedespont–tizedesvessző. Ezresenként elválasztó karakter. Végtelen ismétlődő tizedesjegy(ek) jelölése. Oly sok variáció van rájuk!
Satöbbi, satöbbi, satöbbi...
A jelen szituáció is csak egy a sok ilyen közül. Nincs itt semmi látnivaló kérem, haladjanak tovább!
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
6÷2(1+2) -- szép baleset.
Matekórán azt tanították, hogy azonos precedenciájú az osztás és a szorzás.
Ez esetben egyértelműen balról jobbra kell kiértékelni.
Az ismertetett első generációs "okos"számológép valószínűleg verem alapú kiértékelőt alkalmazott és itt ezt elrontották benne, hiszen a veremből jobbról balra lett az azonos precedencia kiértékelve.
A gyok(4) = +/-2 tényleg kettős értéket ad, ahogy a gyok(-4) is 0 + j(+/-2) eredményt. Ez a kettős eredmény tényleg benne van a matekban.
- A hozzászóláshoz be kell jelentkezni
De azért ha azt látod leírva, hogy ab/cd, őszintén, az jut eszedbe, hogy összeszorzod az a-t és a b-t, elosztod c-vel, majd ezt a részeredményt _megszorzod_ d-vel? Mert nekem nem ez ugrana be, még ha szigorúan véve valószínűleg ez is a helyes. Következetés: ha esetleg félreérthető, vagy ha a szigorú matematikai értelmezés nem egyezik a "természetessel", tegyük egyértelművé zárójelezéssel.
Ha a valós számok halmazán dolgozunk, négyzetgyök alatt általában csak legfeljebb egy értéket (a nemnegatívat) értünk.
- A hozzászóláshoz be kell jelentkezni
Ami bosszantóbb és több hiba melegágya:
c = 8<<1 + 1;
d = 8*2 + 1;
Eredmény: c: 32 illetve d: 17, mivel a shift kisebb precedenciájú az összeadásnál, holott logikailag a shiftelés a 2^n szorzás (ill jobbra 2^n osztás) aritmetikázásnál kisebb költségű megvalósítása.
Operátor precedenciáról bővebben: http://en.cppreference.com/w/c/language/operator_precedence
- A hozzászóláshoz be kell jelentkezni
Ez így van, K&R (tapasztalat hiányában, gondolom) nem a legszerencsésebb precedenciát alkották meg. Utólag könnyű volna :)
- A hozzászóláshoz be kell jelentkezni
Ha azt látom leírva, hogy ab/cd, akkor nekem egy magyar AC/DC feldolgozászenekar jut eszembe. :-D
(ON: Azért ez matematikailag egyértelmű, bár könnyen benézhető valóban.)
- A hozzászóláshoz be kell jelentkezni
:D
- A hozzászóláshoz be kell jelentkezni
Az a/bc az a ritka kellemetlen eset, amikor elvileg van rá szabály (a matematikusok szerint): balról jobbra, de pl. a fizikusok nagyobbik fele a/bc-n a/(bc)-t ért.
A négyzetgyök még szebb, mert egy rendes burbakista matematikus az "Egy komplex számnak két négyzetgyöke van." kijelentés után már kérné is az indexedet. Ő ragaszkodna hozzá, hogy nincsen egy komplex négyzetgyök függvény, hanem sok-sok komplex négyzetgyökfüggvény értelmezhető, a komplex síkot egy eléggé tetszőleges, önmagát nem metsző görbe mentén a 0 és a végtelen között felvágva.
(Valamint kiterjeszthető a négyzetgyök-függvény Riemann-felületre, amit úgy kapsz, hogy kétszer veszed a felvágott komples síkot, a vonal mentén az alsót a felsővel összeragasztod, úgy, hogy az alsó balpartjához a felső jobbpartját, és fordítva. Ekkor az "alsó 1" gyöke lesz pl. 1, a "felső 1"-é -1.)
- A hozzászóláshoz be kell jelentkezni
Hát ebből nem sokat értettem :D
- A hozzászóláshoz be kell jelentkezni
Számomra matematikailag ez helyes.
-62 = -6^2 = -6*-6 = (-6)^2 = 36 <> -(62) = -(6^2) és semmiképp sem -6*6
- A hozzászóláshoz be kell jelentkezni
Azért a számomra meg a matematikailag furi egy mondatban.
- A hozzászóláshoz be kell jelentkezni
Úgy gondolom azoknak is így helyes, akik velem együtt tanultak matematikát. Ezt persze nem tudhatom biztosan, de nem végeztem felmérést a témában :)
- A hozzászóláshoz be kell jelentkezni
Válasz lentebb, nem ismétlem meg feleslegesen.
a
- A hozzászóláshoz be kell jelentkezni
Én most azt gondolom, hogy fogjuk rá a hülye Microsoftra ezt is: https://bz.apache.org/ooo/show_bug.cgi?id=26755, illetve onnan tovább: http://support.microsoft.com/hu-hu/kb/132686/en-us
11(!) éve nyitott bug az OpenOffice-ban, ami alapján a hülye precedenciát az Excelből vették át kompatibilitási okokból.
A válasz röviden: mert csak. Elismerik, hogy félrevezető, mert matematikailag nem helyes, de csak workaround-ot javasolnak.
- A hozzászóláshoz be kell jelentkezni
Azt azért valljuk be, hogy a kompatibilitás ilyen esetben nagy úr! Ugyanaz a művelet nem árt, ha ugyanazt az eredményt adja különböző táblázatkezelőkben, ha megnyitják egymás file-jait.
- A hozzászóláshoz be kell jelentkezni
Az is megolsás lenne, ha a konverziókor bezárójelezné.
- A hozzászóláshoz be kell jelentkezni
Na ja, az egyértelművé tenné.
- A hozzászóláshoz be kell jelentkezni
Nem jó megoldás... mi van, ha scriptezve van a táblázat, és on-the-fly állítja elő kódból a cellafüggvényt? Akkor mikor történjen meg a javítás, amikor a makró értéket ad a cellának? És mi van, ha visszaolvassa? Tároljuk el neki azt is, amit berakott, csak hogy visszakaphassa (mondjuk egy read-modify-write művelethez), vagy a javítottat adjuk vissza (ekkor ugye másképp fog viselkedni a két környezet)? És mi történjen, ha az editorban valaki beleír a cella tartalmába (a függvénybe)? Azt "antikonvertáljuk" a makrónak?
Szóval this is a can full of worms...
- A hozzászóláshoz be kell jelentkezni
Itt a megoldás egy többéves deprecation folyamat lenne hatalmas warningokkal, majd a évek (évtizedek?) után a kétértelmű formula elutasítása, majd újabb évek (évtizedek?) után újra lehetne engedélyezni, immár a másik értelmezéssel.
- A hozzászóláshoz be kell jelentkezni
ah. igy mar ertem a 'szabvanyban levo "csinald ugy, mint az excel 95" megfogalmazast.
- A hozzászóláshoz be kell jelentkezni
A kérdésed - hogy miért van különbség az implementációkban - szerintem jogos és érdekes!
- A hozzászóláshoz be kell jelentkezni
Hogy fokozzam a hangulatot, a kiértékelési sorrend sem stimmel:
Excel: 2^3^2 = 64
Holott: 23(sup)2(/sup)=512
:)
- A hozzászóláshoz be kell jelentkezni
Igen, a hatvanyozas elegge jobb-asszociativ. De legalabb ezt a programnyelvek jol es/vagy egysegesen tudjak:
gnuplot> print 2**3**2
512
$ bc
2^3^2
512
$ perl
print 2**3**2
512
- A hozzászóláshoz be kell jelentkezni
A hagyományos papíralapú jelölésrendszerben (ahol a kitevő följebb csúszik) teljesen logikus a hatványozást jobb-asszociatívként definiálni. A balról zárójelezett verzió ugyanis emeletes hatvány helyett sima egyszintű hatványként is felhírható, hiszen
(((a^b)^c)^d)^e = a^(b*c*d*e)
Logikus tehát, hogy a függőlegesen helypazarló emeletes hatvány zárójelezés nélkül pont azt jelentse, amire nincs egyszerűbb írásmód.
A számítógépes írásmódban pedig érthető, hogy áthozzák a megszokott koncepciót. Habár ha ez a jelölésmód jelent volna meg elsőre, talán nem lenne ilyen könnyű döntés hogy melyiket is válasszuk. Hiszen bármelyiket is választjuk, ha a másikra van szükség akkor zárójelezni kell, így "átlagosan" nem nyerünk vagy veszítünk a leírás bonyolultságán egyik vagy másik hozzáállással. És mint látjuk, ez egy újabb terület ahol nem egységes a viselkedés, <irónia>hurrá!</irónia>
- A hozzászóláshoz be kell jelentkezni
Állatorvosi ló ismét van:
$ luajit
> = 2^3^2
512
octave:1> 2**3**2
ans = 64
$ perl
print 2**3**2
512
$ php5
<?php echo 2**3**2; ?>
512
$ python3
>>> 2**3**2
512
$ ruby
print 2**3**2
512
$ bc -l
2^3^2
512
bash:$ echo $[2**3**2]
512
- A hozzászóláshoz be kell jelentkezni
Ha az A1 cella értéke -6, akkor a B1 cellába írt A1^2 képletnek mi legyen az eredménye?
- A hozzászóláshoz be kell jelentkezni
Ez egy másik dolog. Itt arról volt szó, hogy ha egy képletbe van írva, azt hogyan kellene értelmezni a parsernek.
- A hozzászóláshoz be kell jelentkezni
A1^2-be A1 helyébe beírjuk a -6-ot. Ha nem is ugyanaz az eset, annyira azért talán nem különböző.
Csak arra próbáltam volna rávilágítani, hogy a táblázatkezelők a -6 -ot egy egységként kezelik, nem pedig (-1)*6-ként. Ugyanúgy az A1 mezőt is egy egységként kezelik.
Szerintem ez lehet a ráció.
- A hozzászóláshoz be kell jelentkezni
A négyzetre emelés függvény nem csinálhat mást, mint a mindenki által egyetértett definíció szerint négyzetre emel, és így a -6-ból 36 lesz. Senki sem veti fel, hogy a -6 négyzete esetleg -36 lenne. És itt adott egy szám, ami a -6, és ezt kell négyzetre emelni. Az, hogy egy másik cellából jön az érték, teljesen egyértelművé teszi a műveletek elvégzésének sorrendjét (először kell megalkotni a -6-ot, aztán ezt négyzetre emelni). A -6^2 jelölésben ez a sorrend nem egyértelmű, erről szól a vita. Az A1=-6; B1 = A1^2 jelölés viszont, pont mintha zárójeleznél, az értelmezési sorrendet egyértelműsíti.
- A hozzászóláshoz be kell jelentkezni
Pontosan. És ezt mondom, hogy ezek a programok a -6 számot egy "egységként" értelmezik, nem pedig egy "előjel és egy szám"-ként vagy "nullából hat"-ként
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Lehet, viszont az elméleted a viselkedésüket egyáltalán nem magyarázza - legfeljebb azzal a kiegészítéssel, hogy a negatív előjel hamarabb értékelődik ki, mint a hatványozás.
- A hozzászóláshoz be kell jelentkezni
Nem csak elmélet, és pontosan megmagyarázza: éppen arról van szó, hogy a konkrét parser felépítése miatt a "-" prefixet magasabb precedenciával értékeli, mint kellene.
- A hozzászóláshoz be kell jelentkezni
Tehát lényegében ugyanazt mondjuk - csak te elméleti (oksági) oldalról közelíted, én meg "tapasztalati" oldalról :)
- A hozzászóláshoz be kell jelentkezni
A hatása ebben az esetben kétségtelenül ugyanaz, mintha a "-6" egyetlen token lenne.
Azért nem tartom valószínűnek, hogy egy token - Excel forrása nincs meg -, mert szerintem valamivel bonyolultabb úgy megírni a parsert, hogy a "-" prefix része a konstansnak, és még van prefix operátor is. De ez csak tipp.
- A hozzászóláshoz be kell jelentkezni
No, ehhez viszont kb. semennyire se értek.
- A hozzászóláshoz be kell jelentkezni
Szerintem egyértelmű.
Ha 6 négyzetének a negáltját akarod leírni, akkor azt papiron így írod: -(62)
Ha pedig -6 négyzetét, akkor így: -62
- A hozzászóláshoz be kell jelentkezni
Nem mert a hatványozás precedenciája, még a szorzásnál is magasabb, nem, hogy a kivonásnál.
- A hozzászóláshoz be kell jelentkezni
Ez nyilvánvalóan csak 36 lehet.
A helyettesítés a jelentésre, konkrét értékre történik; vagy ha csak bután szintaktikailag helyettesítesz, akkor pedig zárójelezni kell, tehát (-6)^2.
Ha az A1 cella értéke 1+5, akkor sem merül fel a lehetőség, hogy a helyettesítés után ebből esetleg 1+5^2 = 26 lenne, ez nyilván baromság.
Vesd össze C-ben a #define cuccal, ami csak szintaktikailag helyettesít:
#define A1 1 + 5
#define B1 A1 * A1
Na ez tök hülyeség lesz [1 + 5 * 1 + 5 = 1 + 5 + 5 = 11], ezért tanítják, hogy a #define során zárójelezni kell:
#define A1 (1 + 5)
#define B1 (A1 * A1)
Ez már 36.
- A hozzászóláshoz be kell jelentkezni
Ide is ezt a válaszomat kéretik beírni :)
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Feldobnék egy kissé új témát. Fent már érintőlegesen felhoztam.
Mit jelent az unáris (tehát nem két szám közé, hanem egy szám vagy változó elé írt) mínusz jel? Nullából vonunk ki, vagy mínusz eggyel szorzunk?
A -6 az a 0-6, vagy a (-1)*6 rövid alakja?
A -x az a 0-x, vagy a (-1)*x rövid alakja?
Fent sokan az egyiket, sokan a másikat említitek, és valószínűleg legtöbbeteknek fel sem tűnt a kettősség.
Szerintem a nullából kivonás a helyes válasz, és erre két érvem van.
Az egyik: a negatív számokat úgy is tudod definiálni, hogy szorzás műveleted még nincs is. Esetleg nem is lesz. (Vagy például egy A mátrixhoz tudsz készíteni -A mátrixot, a nullmátrixból kivonva, de mi lenne az a "-1" mátrix, amivel megszoroznád? Vigyázz: nemcsak négyzetes lehet a mátrix. Vagy bármilyen algebrai csoport, ahol csak egyetlen műveleted lesz, amit összeadásnak hívsz, és az arra nézve az "a" elem inverzét "-a"-ként jelölöd.)
A másik: a (-1)-gyel való szorzás az egy önmagába harapó definíció. Mi a -6? Hát (-1)*6. Oké, de akkor mi a -1? Hát az pedig (-1)*1. Jó, de akkor mi a -1?
- A hozzászóláshoz be kell jelentkezni
Remelem ez segit a megvilagosodasban: ;)
http://hu.wikipedia.org/wiki/Negat%C3%ADv_és_nemnegat%C3%ADv_számok
- A hozzászóláshoz be kell jelentkezni
Szerintem a -6 számot -6-ként kell kezelni.
Az érvem: még (egyetemen) algebrából tanultunk valami olyasmit, hogy hogyan lehet felépíteni axiomatikusan a természetes számokat, majd persze ezekből a többi számhalmazt. Abban volt egy olyasmi fogalom, hogy "rákövetkező", amelynek van néhány tulajdonsága, miszerint minden számnak pontosan egy rákövetkezője van és ha két szám rákövetkezője megegyezik, akkor a két szám is megegyezik. Ekkor elegendő az 1-es számot "definiálni". A kettő az 1-nek a rákövetkezője, és így tovább.
Ezekből az axiómákból (ill. amiket kihagytam) a kommutativitás, asszociativitás is levezethető.
Szóval ezzel csak azt akarom mondani, hogy nem feltétlen kötelező ennyire "axiomatizálni" a dolgokat, a -6-ot lehet egyszerűen -6-ként kezelni, mindenféle plusz körmönfont definíció nélkül.
- A hozzászóláshoz be kell jelentkezni
Nem véletlenül tettem fel külön ezt a kérdést a "-6"-ra és a "-x"-re. "-6"-ra elképzelhetőnek tartom azt a választ, hogy az csak úgy valahol van és kész. De "-x"-re ez már nem működhet, ott már tudnod kell "x"-ből kiindulva kiszámolni az értékét valahogy.
- A hozzászóláshoz be kell jelentkezni
Ha a -6-ot érted, akkor a -x-et ennek analógiájára :)
- A hozzászóláshoz be kell jelentkezni
Nem értelek.
Van egy számom, x-szel jelölöm. Franc se tudja, hogy mennyi. Lehet, hogy tizenhét egész három tized. Szükségem volna a "-x"-re. A _definíció_ szerint mit csináljak: vonjam ki nullából, vagy szorozzam meg -1-gyel, vagy valami más?
Nem látom, hogy ezt megválaszoltad volna.
- A hozzászóláshoz be kell jelentkezni
Nem látom, hogy ezt megválaszoltad volna.
Jól látod, hogy nem látod. De a szmájlit a végén láthattad volna ;)
- A hozzászóláshoz be kell jelentkezni
jogos ;)
- A hozzászóláshoz be kell jelentkezni
Kicsit komolyabbra fordítva a szót: matematikailag szerintem édesmindegy, hogy a -x az az x -1-szerese vagy pedig 0-ból kivonva az x-et - mindkettő ugyanazt eredményezi (műveleti tulajdonságokat is beleértve).
Az, hogy a táblázatkezelők hogyan kezelik ezt, más tészta, az már a programozó egyéni hülyesége döntése.
- A hozzászóláshoz be kell jelentkezni
> Mit jelent az unáris (tehát nem két szám közé, hanem egy szám vagy változó elé írt) mínusz jel? Nullából vonunk ki, vagy mínusz eggyel szorzunk?
Ennek a kérdésnek akkor lenne értelme, ha mondanál egy olyan esetet, amikor ez a kettő nem azonos eredményt ad.
- A hozzászóláshoz be kell jelentkezni
"Ha egy táblázatkezelőben beírom ezt: =-6^2, miért 36 az eredmény?
"(A műveleti sorrend értelmében a hatványozás előbb végzendő el, mint a -1-gyel való szorzás, márpedig itt a '-' jel azt jelenti. A kérdésem csak annyi, hogy mi a ráció ugyan ebben, hogy nem a matematikának megfelelő módon értik, hanem mintha (-6)^2-t írnék.)"
A matematikaban a '-' jel ket jelentessel bir megallapodas szerint:
1) amikor azt fejezi ki, hogy egy valos szam negativ, azaz kisebb 0-nal
2) muveleti jel: a kivonast ertjuk alatta
pl. egy negativ szam kifejezheto (matematikaban hasznalatos jelolesrendszerrel):
- ellentett kepzessel: -a = (-1 * a) : itt a '-' jel magat a negativ szamot jelenti
- kivonassal: -a = (0 - a) : itt a masodik '-' jel a kivonast mint matematikai muveletet jelenti, az elso pedig az 'a' szamot mint negativ szamot reprezentalja
Az, hogy egy talblazatkezelo, programozasi nyelv hogyan ertelmez egy adott jel sorozatok - az implementacio kerdese. Hogy miert ugy implemetaltak, ahogy; nos azt maguk a fejlesztok tudjak megmondani csak. Mivel a tablazatkezelo alkamazasokat, de altalaban minden alkalmazast, emberek kezelnek, szamukra az iskolaban tanult ertelmezes a megszokott es a legkonnyebben alkalmazhato.
- A hozzászóláshoz be kell jelentkezni
Ha a (-6) -ot szorzataira bontod, akkor tagonként kell négyzetreemelni
és úgy összeszorozni. Vagyis:
ha (-6) = (-1)*(+6)
akkor (-6)^2 = (-1)^2 * (+6)^2
Ha eddig érthető, akkor rendben van, csak el kell végezni a műveletet.
Ha nem érthető, akkor abbahagyhatjuk.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Ez triviálisan igaz, de nem a kérdésre válaszoltál, mert már az első sorban "hibát" vétettél. A kérdés pont arra megy ki, hogy a -6 bezárójelezendő-e egyáltalán vagy sem. Az Excel szerint igen, a matematikai jelölés szerint nem, programnyelvek és egyéb eszközök között szintén változó, univerzális válasz tehát nincs. Tök igaz, hogy (-6)^2=36 és -(6^2)=-36, de pont az a kérdés, hogy melyiket szeressük, és erre pont nincs jó válasz.
- A hozzászóláshoz be kell jelentkezni
Azt akartam megmutatni, ha egy ábrázolást többféleképpen értelmezünk,
akkor az adott értelmezéshez kell igazítani az ábrázoláson elvégzett
műveletet is. Az nem megy, hogy bevezetjük a baloldali közlekedést,
egyelőre csak a teherautók számára.
Ebből az aspektusból a példa szerintem jó.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
tagonként kell négyzetreemelni
Legyen már inkább tényezőnként. A tagonkénti négyzetreemelést a matektanár keményen bünteti (kivéve kettes karakterisztikájú testek esetén).
- A hozzászóláshoz be kell jelentkezni
Késő, nem tudom javítani. (-:: A matekban nincs demokrácia, legyen hát tényező.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Azért értékelem a szándékot :)
- A hozzászóláshoz be kell jelentkezni
-6 egy szám, amihez nem nyúl. -6*-6=36
Amit te szeretnél: -(6^2)
-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba
- A hozzászóláshoz be kell jelentkezni
Akkor légyszíves küldj egy bugreportot a komoly matematikai szoftverek szerzőjének, mert azokban egységesen -6^2=-36 (SAGE, Mathematica, GP-PARI, Maple, Maxima, GNU R, stb. kipróbálva). Meg általános és középiskolában is. De biztos az Excel jobban ismeri a matematikát, meg a különféle (nem matematikai) programozási nyelvek (amik persze olyan precedenciát használnak, amilyet óhajtanak, az ember meg alkazmakodjon az eszközhöz, ez világos), de ez a matematikát nem befolyásolja.
Meg ide is beírhatom, hogy gondolj légyszíves a -x^2 függvényre te is.
Vagy gondolj bele, hogy ha egyértelmű, akkor miért kell bezárójelezni a (-1)^n kifejezést?
Vagy nézd meg az angol/német wikipédia műveleti sorrend lapját (ezen a két nyelven kifejezetten van ilyen példa)!
Vagy olvasd végig ezt!
Vagy olvasgasd a kicsit lentebb hivatkozott matekkönyveket általános iskolától egyetemi matekszakig bezárólag!
Vagy kérdezz meg egy matematikust (bár én is azzal foglalkozom, de azért meg is tettem, hátha egész életemben hülyeséget tanultam/tanítottam, sose lehet tudni)!
- A hozzászóláshoz be kell jelentkezni
Szerintem hagyd. A matematika (legalábbis ez az alapvető része mindenképpen) nem értelmezés kérdése, teljesen egyértelmű a szabály. Még az általam fentebb idézett Microsoft cikk is elismeri, hogy az Excel nem e szerint működik, és ez nem a megszokott precedencia, ez a része is tök egyértelmű.
- A hozzászóláshoz be kell jelentkezni
Tanulság: használjunk redundáns zárójeleket, úgy tűnik, az működik, függetlenül attól, hogy melyik program mit, hogyan akar értelmezni.
-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.
/usr/lib/libasound.so --gágágágá --lilaliba
- A hozzászóláshoz be kell jelentkezni
Ja, hogy te úgy értetted, hogy az Excel-t hogyan vegyem rá, hogy azt számolja, amit szeretnék. Ez világos volt eddig is, hogy így meg tudom oldani, azt hittem te is arról akarsz meggyőzni, hogy -6^2=36. Akkor jónak érvelgetek, hogy a matekban hogyan kéne érteni. :-D
- A hozzászóláshoz be kell jelentkezni
Mint a fentiekben írtam, vegyes a nézetem, középiskolában a -6 jellegű önmagában álló előjeles számot soha nem tettük zárojelbe, amikor négyzetre emeltük. Fellapoztam régi matekfüzeteimet. De ez nem mérvadó, a matematikusok tuti jobban tudják. Bár nem szerencsés, hogy matekórán ezek szerint tévesen tanították.
Én mindenesetre eddig különbséget tettem az
eredmény = -6^2 (előjelként a mínusz)
és a
eredmény = 0-6^2 (aritmetikai műveletként a mínusz)
De a jelen téma hatására újra kell gondoljam ezt. Szerencsére még nem okozott eddig félreszámolást.
A szintén fentebb írt shift precedencia viszont komolyabb ügy számomra, azzal sajnos már adtam ki a kezeim közül téves értéket.
- A hozzászóláshoz be kell jelentkezni
Fellapoztam a középiskolás és az általános iskolás matekkönyveim, és ott mindig így van írva a negatív számok hatványozása: (-2)^5. Az Obádovics-féle matematikai összefoglaló is így használja. A Fried-féle Klasszikus és lineáris algebra is: (-a)^n.
- A hozzászóláshoz be kell jelentkezni
Szerintem pont ezért teszik ki a zárójelet, hogy ne keletkezhessen ilyen vita. :))
Amúgy az első eset:
"eredmény = -6^2 (előjelként a mínusz)"
igazából a² (a=-6), egy művelet;
a második eset
"eredmény = 0-6^2 (aritmetikai műveletként a mínusz)"
a-b² (a=0, b=6), két művelet, a hatványozásé az elsőbbség.
--
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Sosem tesznek ki felesleges zárójelet. Érdekes módon olyat nem fogsz találni, hogy (a*b)+c. Azt miért nem akarják egyértelműbbé tenni soha? Talán mert a szabály egyértelmű önmagéban is?
És ha így kellene érteni, hogy magyarázod a -x^2 parabolát? Ott is előjel!
Másrészt akár te, akár más hozna nekem egy nyomorék példát, hivatkozást, akármit, ami ezt az értelmezést támasztja alá? Én elég sokat összegyűjtöttem az enyém igazolására. Ellenkezőleg még nem láttam semmit az ég adta világon.
És végül egy konkrét, bárki által ellenőrizhető leírása a szabálynak (nem könnyű ilyet találni, pedig nyilván kismillió helyen le van írva, de rosszul kereshető): Tussy-Koenig: Prealgebra (5th edition) 174-175. oldal. Vagy egy másik (link nincs): Allen R. Angel, Elementary Algebra for College Students 8/E; Chapter 1, Section 9, Objective 3. Ez már elég? Várok akár egy darab ellentétes dolgot leíró hivatkozást!
- A hozzászóláshoz be kell jelentkezni
Ez egy kivétel, és mint ilyen, implementációfüggő. És tényleg azt írja, hogy azért kell kirakni a zárójelet, hogy egyértelmű legyen.
Szóval mindenkinek igaza van, vita lezárva. :))
--
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Nem azt írja, hogy a -a^n kivétel, hanem hogy kivételesen sok informatikai implementáció és programnyelv nem úgy értelmezi, ahogy a matematikai szabály szerint kéne. Ezért amelyik implementációnál bizonytalanok vagyunk, ott tegyünk zárójelet. De a matematikában nem kell, olyat nem is ír.
- A hozzászóláshoz be kell jelentkezni
Sosem tesznek ki felesleges zárójelet.
Klasszikus, kicsit hasonló eset: harmonikus rezgéseknél a sin omega*t (legyen sin wt - a w hasonlít a kis omegára).
Mindig úgy tanítjuk, hogy pl. a kitérés-idő függvény A*sin wt. Nyilván úgy értendő, hogy kiszámolom az wt értékét, és annak veszem a szinuszát (nyilván radiánban). A számológépem ilyen formán beadva az w-nak számolja ki a szinuszát és azt szorozza be t-vel. Sőt, még matematikában is a "sin 2x" a "sin(2x)"-et jelenti, nem pedig a "(sin 2)x"-et.
Mikor pár éve a diákoknak nem jött ki a megfelelő eredmény a rezgőmozgás esetén, azóta inkább kiteszem a zárójelet, még akkor is, ha épp felesleges (matematikailag).
- A hozzászóláshoz be kell jelentkezni
Nincs előjel mínusz, az egy kivonás, csak lehagytunk egy nullát, ahogy 006=6, úgy 0-6=-6.
- A hozzászóláshoz be kell jelentkezni
Olvasd föl légy szíves, szájjal, hangosan, amit írtál!
"mínusz hat a négyzeten"
Szerintem ez 36.
--
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Ez eddig a legbénább indok, már bocs :). És szerinted mennyi pl. "egy meg kettő per három"? Vagy ha azt hallod, hogy "egykettőháromszáz", az 3 szám vagy 4?
- A hozzászóláshoz be kell jelentkezni
Föntebb többen is leírták értelmesebben, gondoltam hátha így menni fog, de nem. :)
Szóval itt nincs szó műveleti sorrendről, mert csak egy művelet van, a hatványozás. Az alap pedig egy negatív szám.
--
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com
- A hozzászóláshoz be kell jelentkezni
Reagálhatna már erre valaki végre...
- A hozzászóláshoz be kell jelentkezni
Itt két vita folyik egyszerre:
Az egyik az, hogy egy adott környezet szintaxisa miért olyan, amilyen.
Ez egy meddő vita, mert a szintaxis a tudatunktól független objektív valóság.
Nem állunk neki filózni azon, hogy a 'C' fordító miért úgy kéri a kódot,
ahogy kéri. MEGTANULJUK hogyan kéri és kész. Ez nagyjából válasz a
topikindításra.
A másik az, hogy egy negatív számot hogyan definiálunk: (A) a nullától való
(irányult) távolsággal, vagy (B) abszolút értékének (-1)szeres szorzataként.
Én az (A) esetre hajlok annak geometriai vetülete miatt, és mert (B) esetben a
(-1) önálló definícióját elég nehéz lenne megadni, bár az én nézetem ebben
a kérdésben inkább filozófiai, mint matematikusi.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Az elsőn nincs vita. Arra irányult a kérdésem, többen beírták, hogy ez így elég elterjedt precedencia a programnyelvek esetében. Megköszöntem a választ, nem tudtam, hogy ennyire általános.
A vita arról folyik, hogy kell érteni -6^2-t a matematikában. Az egyébként hogy a -6-ot 0-6-nak, vagy (-1)*6-nak 'definiálod', édesmindegy, nem lesz különbség.
- A hozzászóláshoz be kell jelentkezni
Én a kérdést úgy értettem, hogy van-e annak valami praktikus oka, hogy bár matematikában van egy megszokott (és azt hiszem, nagyjából általánosan elfogadott) jelölésrendszer, amiben -62=-36, az excelben nem így van. Amiből jó kis flamewar lett, de azért a legvalószínűbb ok leszűrhető: az informatikusok jelentős része nem tudja a matekban szokásos eredményt, és még az is lehet, hogy matekban sem mindenki egyformán használja (bár, nyomtatásban ilyet még nem láttam).
- A hozzászóláshoz be kell jelentkezni
Az informatikusok jelentős egy része nem tudja a matematikát, ellenben azt hiszi, hogy igen. És érvelni meg sem próbál, csak leugat másokat. :-(
Szerk.: Ezt jól alátámasztja a másik hasonló thread is.
- A hozzászóláshoz be kell jelentkezni
Adott esetben azt is elképzelhetőnek tartom, hogy ez a kettő különböző eredményt adjon:
#1
B := -6^2
#2
A := 6
B := -A^2
Mégpedig abban az esetben, ha a lexikális elemző az elsőnél egy darab tokenként (type=integer) adja vissza a -6 -ot, a másodiknál viszont két darabként (1. type=operator, 2. type=identifier) Ha így lenne, akkor az első esetben semmiféle precedencia-összehasonlításra nem kerül sor: van egy szám azt kell hatványozni, és kész.
- A hozzászóláshoz be kell jelentkezni
az alapveto felteves itt a kovetkezo: -6^2 egyszerre (-6)^2 es -(6^2) is, az hogy melyik a ketto kozul arrol megoszlanak a velemenyek es csak vizsgalat utjan tudjuk kideriteni, ezt pedig Schrodinger ur mar felvetette, kar vitatkozni rola;)
- A hozzászóláshoz be kell jelentkezni