Wątek zablokowany 2011-04-18 13:01 przez ŁF.

48÷2(9+3) = ????

0

Na wykopie wybuchła dyskusja na temat wyniku działania 48÷2(9+3) = ???? Jedni twierdzą, że wynikiem jest 2, inni przekonują, że 288, a Wy jak uważacie? Proszę podajcie od razu uzasadnienie. Z góry wyrażam nadzieję, że się na Was nie zawiodę :)

0

Ja tam jestem lamerem i w dodatku beztalenciem matematycznym (z matym zawsze będę "noga" i już nic tego nie zmieni), ale zdając się na Delphi - kompilator twierdzi, że 288, ale nie umiem Tobie dokładnie dlaczego. Z kolejność działań wynika, że po działąniach w nawiasach jest mnożenie i dzielenie, ale nie wiem czy może dzielenie i mnożenie. Nie wiem czy to dokładnie było kiedyś omawiane w szkole, tak uważalem na matmie :) Także na mnie możesz się zawieść - niestety, bo ja nie jestem i nie będę ekspertem z matematyki, nawet pozornie tak prostej. W ogóle po co ja zajrzałem do Offtopic :) Takie trudne tutaj pytania padają i znając moje szczęście pewnie się okaże, że to jednak dwa? ;/

0

Nie róbmy sobie żartów ;] Kolejność działań jest prosta: najpierw wyrażenia w nawiasach, potem mnożenie i dzielenie (lewostronnie łącznie w kolejności występowania), potem dodawanie i odejmowanie (tak samo lewostronnie łącznie w kolejności występowania), co daje nam:
48/2(9+3) = 48/2(12) = 24*12 = 288

Zresztą wydaje mi się że lepszym zadanie byloby na przykład 1/4/2 = ? Ciekawe ile osób stwiedziłoby ze to 1/2 ;]

0

48 : 2 * (9 + 3) = 48 : 2 * 12 = 24 * 12 = 288

Gdyby było:
48 : (2 * (9 + 3)), to by wyszło 2.

Albo jestem głupszy niż myślałem.

0

Trochę podgrzeję dyskusję :D

user image

0

48÷2(9+3) = 48 / 2 * (9 + 3) = 24 * 12 = 288
równie dobrze można zrobić tak
48÷2(9+3) = 48 / 2 * (9 + 3) = 48 / 2 * 12 = 576 / 2 = 288

0

zczitowane obrazki. Na fx-991ES jest wynik 288

0

Na fx-991MS przy takim zapisie wychodzi 2, ale to jest wina kalkulatora, który najwidoczniej gubi się w kolejności działań przy takim skróconym zapisie. Działanie zapisane w sposób "pełny" liczy bez problemu, wynik również daje prawidłowy.
Wniosek jest prosty - do kalkulatora trzeba mówić prosto, a nie stosować jakieś ludzkie skróty myślowe. ;)

0

Jeśli ktos napisal ze powinno byc 2, to mi rece opadaja. To mam równie trudne zadanie:

1+2*2 = ?

0

No tak dziwie się ludziom, że podają na wykopie odpowiedź 2. Przecież wystarczy napisać sobie to działąnie z kreską ułamkową, ale w Delphi nie ma ułamków z kreską ułamkową chyba że narysujemy sobie coś takiego, nie wiem, na jakimś Canvasie ;) Dopiero teraz mi to zapytany przeze mnie Ojciec odpowiedział sugerująć najprostsze rozwiązanie, które pozwala po rozpisaniu na spokojnie ustalić w tym przypadku prawidłowy wynik. Ale jak wspominałem, ja to matematycznie beztalencie, za szkolnych lat od chyba 5 czy 6 klasy (system kształcenia bez gimnazjum jeszcze wtedy był) podstawówki często musiał mi pomagać w zadaniach z matematyki. Chociaż dziwie się, że ludzie myślą, że informatyk czy programista musi być z matematyką za pan brat. A przecież od czego są same kompilatory, które zwrócą wynik "zapytane o to". Bardziej potrzebne jest według mnie logiczne myślenie i chęć samodzielnego kombinowania, bo później w Delphi / Pascal albo w Newbie mamy takie kwiatki, że ktoś chce "resetować ListBoxa" albo wprowadza inny separator dziesiętny niż systemowy i dziwi się, że ma wyjątek, a mimo udzielonych porad dalej robi źle i po swojemu, a w takim przypadku nie pomoże nikomu żadna matematyka. Według mnie. Oj, sorry rozpisałem się jak zwykle, ale to chyba dział także do tego :) "Dziękuję, dobranoc".

0

to zadanie nie ma jednoznacznej odpowiedzi ze względu na niedoskonałość zapisu matematycznego
kolejność rozwiązywania równań nie ma tu nic do rzeczy - trzeba najpierw dodać do tego równania nawiasy lub znak mnożenia zanim będzie można mówić o jakiejkolwiek kolejności

w każdym razie mój kalkulator mówi że odpowiedzią jest 2 ;)
można dłuuugo prowadzić jeszcze bezsensowne dyskusje na temat tego zadania ze sztucznie wytworzonym problemem, ale nie wiem czy jest sens - powiedzcie czy chociaż raz się w życiu spotkaliście z takim problemem w rzeczywistości?

0

IMHO nic tu nie trzeba dodawać, człowiek, który uczył się arytmetyki w szkole może ten zapis zrozumieć tylko na jeden sposób.

0

Nie zawiodłem się na Was :) W zdecydowanej większości świetnie pamiętacie te podstawowe zasady.

Matematyka dokładnie określa kolejność wykonywania działań:

  1. wyrażenia w nawiasach zaczynając od najbardziej wewnętrznych
  2. pierwiastkowanie i potęgi
  3. mnożenie i dzielenie
  4. dodawanie i odejmowanie

Jeżeli masz działania o tym samym stopniu ważności, to wykonujesz je od lewej do prawej, a operator działania ma zasięg tylko następnej zmiennej.

Czyli w naszym przypadku liczymy w ten sposób:
48/2__(9+3)__ = 48/212 = __2412__ = 288

0

Kolejność mnożenia i dzielenia nie jest ściśle ustalona. Nie ma znaczenia czy jest tam znak mnożenia, czy nie (ogólnie to chyba powinna być spacja). Skłaniałbym się do pierwszeństwa dla wyrażeń z lewej strony, ale wg mnie należy takie wyrażenie nawiasować. Jest to zły zapis, ponieważ jest niejednoznaczny.
//edit
@AdamPL no może rzeczywiście. Nie ma wątpliwości, że 6-2+3=7 a nie 1, nie ma powodu, żeby inaczej było dla mnożenia i dzielenia.

0
Zjarek napisał(a)

Kolejność mnożenia i dzielenia nie jest ściśle ustalona.

napiszę jeszcze raz
2 * 4 / 8 = 2 / 8 * 4
i jeśli jakiś matematyczny analfabeta napiszę mi, że to nieprawda to pozostanie mi jedynie życzyć mu szczęścia podczas robienia zakupów...

Nie ma znaczenia czy jest tam znak mnożenia, czy nie (ogólnie to chyba powinna być spacja). (...) Jest to zły zapis, ponieważ jest niejednoznaczny.

NIEPRAWDA - dokładnie wiadomo co tam stoi - 2x <=> 2 * x, tak samo 2(2 + 3) <=> 2 * (2 + 3). Koniec, kropka. A jak ktoś twierdzi cokolwiek innego to albo jest idiotą albo ma 7 lat i uczęszcza dopiero do pierwszej (ew. drugiej) klasy podstawówki

Skłaniałbym się do pierwszeństwa dla wyrażeń z lewej strony, ale wg mnie należy takie wyrażenie nawiasować.

Pierwszeństwo OPERATORÓW jest ogólnie znane. Jeśli tylko zachowasz kolejność wykonywania działań to nie jest ważne czy najpierw pomnożysz czy podzielisz tak samo jak nie jest ważne czy najpierw dodasz czy odejmiesz!

Generalnie przeraża mnie, że na forum, gdzie (na oko) 99% pytań dotyczy programowania w ogóle pojawiają się posty, które negują fakt, że wynik to 288...

0

W artykule: http://pl.wikipedia.org/wiki/Kolejno%C5%9B%C4%87_wykonywania_dzia%C5%82a%C5%84 podano zasady takie jak przedstawiłem w poprzednim poście. Podobną regułę można znaleźć w podręcznikach do algebry np. W. Zawadowski, Matematyka 6, WSiP, 1986

Uważam, że w przypadku znanych liczb należy postępować tak jak podano na wiki. Czyli w przypadku występowania wyrażeń o tym samym stopniu ważności np. dzielenie i mnożenie albo odejmowanie i dodawanie należy je wykonywać od lewej do prawej.

Wyjątek zrobiłbym jedynie w przypadku niewiadomych np. 4z - 3z + 5z = 6z. Po prostu nie czytałbym 4z jako działania 4z, które muszę wykonać przed odejmowaniem. Tutaj w pamięci stosuje się prawo rozdzielności mnożenia względem dodawania lub odejmowania, a właściwie przekształcenie odwrotne czyli 4z - 3z + 5z = z(4 - 3 + 5) = z6 = 6z, to nie jest wyjątek.

Zrobiłbym wyjątek w przypadku wyrażeń trygonometrycznych np. w przykładzie sin5x najpierw wykonałbym działanie 5*x, a dopiero sinus albo w cosxcosy najpierw obliczyłbym oba cosinusy, a dopiero później wymnożył. Podobnie w przypadku nawiasów z niewiadomymi np. 3(x + 1) rozwiąże jako 3x + 3, ze względu na prawo rozdzielności mnożenia względem dodawania.

dopisane:
Błąd wykopowiczów (i pakerów na forum z którego pochodzi zadanie) wynika z tego, że stosują prawo rozdzielności mnożenia względem dodawania, bez patrzenia na to, że pierwsze od lewej jest polecenie dzielenia czyli robią 48/2(9+3) = 48/(18+6) = 48/24 = 2, a powinni 48/29 + 48/23 = 216 + 72 = 288 lub wykonują działania w złej kolejności czyli 48/2*12 = 48/24 = 2.

0

Wpisując to działanie dokładnie tak jak w pytaniu, kalkulator Casio fx-350MS pokazuje wynik 2 :P Aczkolwiek wiadomo jaki powinien być prawidłowy wynik. Możliwe, że Japońce mają inną matematykę.

0

a mnie wychodzi 240

0

Wystarczy sobie wpisać w google. Od razu zrozumiecie skąd wynikiem jest 288.
To jest dokładnie tak jak ktoś pisał z tym przykładem: 2 + 2 * 2. (ps: jeśli ktoś powie 6 - to dobrze, jeśli 8 - to śmiejemy się, jeśli 10- (tak jak moja koleżanka kiedyś) ... ubaw po pachy :P)

A co do zadania to przecież można je sobie rozpisać jak dla dzieci w przedszkolu :)
48÷2(9+3) = 3 * 2 * 2 * 2 * 2 / 2 * 12 = 288

Jeszcze jest taki przykład:
2 / 2 * 2

Jeśli ktoś nie wie, że w takich przypadkach liczy się od lewej do prawej to zawsze źle liczyć będzie.

0

Oczywiście prawidłowy wynik to 288.

W pełni zgadzam się z tą opinią.

somekind napisał(a)

Na fx-991MS przy takim zapisie wychodzi 2, ale to jest wina kalkulatora, który najwidoczniej gubi się w kolejności działań przy takim skróconym zapisie. Działanie zapisane w sposób "pełny" liczy bez problemu, wynik również daje prawidłowy.
Wniosek jest prosty - do kalkulatora trzeba mówić prosto, a nie stosować jakieś ludzkie skróty myślowe. ;)

Na moim kalkulatorze:
wprawdzie 48÷2(9+3)=2 (nigdy bym nie wprowadził wzoru w takiej postaci)
ale 48÷2x(9+3)=288
Wychodzi na to, że kalkulator pierwsze wyrażenie traktuje jako 48÷2÷(9+3)=2

Cała dyskusja wynikła z powodu zminimalizowania znaczenia matematyki w szkołach.
Po co uczyć się matmy? Nie będzie mi to do niczego potrzebne! Od liczenia są kalkulatory i komputery!

Zamiast uczyć myślenia uczy się bezkrytycznego korzystania z gotowców.

0

WolframAlpha przy wprowadzeniu dokładnie w tej postaci: 48/2(9+3) daje 288.

0

Aby pomóc wam się rozgrzać, macie to: http://www.wykop.pl/link/705779/wykopki-mam-dla-was-zagadke/ :P

0

O tym, to nawet uczą na pierwszych zajęciach programowania przy pisaniu algorytmu liczącego pierwiastki funkcji kwadratowej:
...wydawałoby się, że należy zapisać, to tak (-b-pd)/2*a, jednak należy zapisać, to tak (-b-pd)/2/a...

0
main(){//48÷2(9+3) = 48(9+3)/2 =48(9/2+3/2) 
	printf("%d",48*(9/2+3/2));} 

wynik 240

0

AdamPL, w artykule z wiki który podałeś jest również napisane:

Dla dzielenia zapisywanego kreską ukośną / i mnożenia kolejność nie jest dokładnie ustalona. PWN zaleca autorom podręczników uniwersyteckich unikanie sytuacji w których mogłoby to doprowadzić do niejednoznaczności

PS Jak byście zinterpretowali ab/cd? jako 1. (abd)/c czy też może 2. (ab)/(cd) , bo mimo zasady mówiącej dzielenie, mnożenie po kolei to mam wrażenie że mnożenie bezoparatorowe jest jednak przed dzieleniem.

0

@up - w Twoim przykładzie nie chodzi nawet o kolejność wykonywania działań ale o zasięg operatora dzielenia. Tzn. zastanawiasz się czy w ab/cd całe cd jest w mianowniku, czy tylko c. Odpowiedź jest oczywista, jeżeli nie ma nawiasów w mianowniku jest tylko i wyłącznie c, a działania wykonujemy od lewej do prawej.

mam wrażenie że mnożenie bezoparatorowe jest jednak przed dzieleniem

Czy mógłbyś podać jakikolwiek dowód na to "wrażenie", np. powołaj się na jakikolwiek uznany podręcznik, wykład czy artykuł naukowy. To, że twierdziła tak Twoja matematyczka sorry ale mnie nie przekonuje...

P.S. Czy opatentowałeś już ten zwrot "mnożenie bezoparatorowe"? Ja bym się śpieszył, ponieważ będziesz pierwszą osobą używająca takiego terminu i to nie tylko ze względu na literówkę.

0
RFabianski napisał(a)

Jak byście zinterpretowali ab/cd? jako 1. (abd)/c czy też może 2. (ab)/(cd)

Gdybym nie widział deklaracji zmiennych i kontekstu wzoru to zinterpretowałbym jako dzielenie zmiennej "ab" przez zmienną "cd".
Gdyby były to cztery zmienne to tak, jak kompilator Delphi, czyli ((a*b)/c)*d (czyli wersja 1.).

0

Też uważam, że ab/cd należy interpretować jako ((a*b)/c)*d. Nie miałbym jednak pełnego zaufania gdybym zobaczył taki wzór napisany przez nieznaną mi osobę (zapewne czytałbym uważnie okolicę wzoru by ustalić co autor miał na myśli). Z analogicznego powodu (brak zaufania innych do mnie) sam nigdy tak nie piszę. Ani na kartce, ani na klawiaturze.

0

Jakbym takie coś zobaczył, to bym pomyślał, że chodzi o ułamek. Taka forma zapisu jest dla mnie akurat myląca.

1 użytkowników online, w tym zalogowanych: 0, gości: 1