Vai al contenuto
PLC Forum


6/2(2+1)


Messaggi consigliati


del_user_158461
Inserita:

6diviso2= 3 x ( 2+1=3)

3×3=9

Quoto @click0

Riccardo, non si procede prima con la divisione?

Inserita:

E' un quesito che gira sui social, solitamente con centinaia di risposte, la maggioranza è per il 9, la minoranza per l'1.

Io di primo acchito ho detto 9, anche tutti i calcolatori scientifici online e i siti di matematica dicono 9, però la mia calcolatrice scientifica Casio mi dà 1 come risultato, mi dà 9 solo se inserisco anche il segno x :

6/2(2+1) = 1

6/2x(2+1) = 9

Sulla seconda espressione sono d'accordo, mentre sulla prima ho cercato di fare un ragionamento e sono giunto alla seguente conclusione, ma non so e non mi ricordo se sia dovuta a qualche regola che ignoro:

Supponiamo che 6/2(2+1) sia il risultato di un passaggio intermedio nella risoluzione di un polinomio:

6/2a dove a=(2+1)

 

Questo è l'unico senso logico che sono riuscito a dare al risultato che mi dà la calcolatrice Casio (non solo la mia a quanto pare ce ne sono molte online).

 

 

 

 

Inserita:

Per evitare ambiguità, non potendo scrivere la formula secondo una grafica corretta, si dovrebbe scrivere o:

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

 

Oppure

6/(2*(2+1)) = 6/6 = 1

 

Così come è scritto fa parte dei divertimenti idioti che lasciano spazio a più interpretazioni

 

La grafia corretta potrebb essere:

 6

___ (2 + 1) = 9

 2

oppure

6

________ = 1

2 * (2 + 1)

Inserita:

Si Livio, ma quello che mi chiedo, al di là del divertimento idiota, è cosa ha portato i progettisti della Casio (ne ho 2 di scientifiche di questo marchio) a dare come risultato 1 se non si mette il segno "per" e 9 se lo si mette, se alla base di ciò vi fosse qualche regola matematica che ignoro. Per quello ho fatto l'esempio del polinomio.

 

dnmeza hai provato a togliere il "x" ? O non te lo fa togliere o ti dà sempre 9, e questo su tutte le calcolatrici software, su quelle fisiche dà risultati differenti a seconda della presenza/assenza del segno "per".

Inserita:
1 ora fa, JumpMan scrisse:

però la mia calcolatrice scientifica Casio mi dà 1 come risultato

la mia, sempre casio, se ometto il segno mi anulla l'operazione

la sharp rubata al fratello da invece 1

 

la matematica, un'opinione :whistling:

del_user_158461
Inserita:

Mia figlia, mi ha appena portato a conoscenza di un sito in cui puoi risolvere l'espressioni.

Ho inserito i dati ed è uscito cosi:

 

0850b50cc1a4b3fac1036b68bab5230e.jpg

del_user_158461
Inserita:

Il bug ci sarà,  anche a me aveva fatto lo scherzo ma se controlli l'anteprima verifichi e correggi. Devo dirti che per un attimo avevo dei dubbi sul risultato ma comunque alla fine si dimostra che la matematica non ha opinioni.:)

Domenico Maschio
Inserita:

In algebra ricordavo quesata regola : per primo si devono fare le moltiplicazioni ,poi le divisioni ,poi le addizioni poi le sottrazioni . 

Se è cosi la prima operazione da fare è la moltiplicazione(quella sottintesa tra il 2 e la parentesi ,) tra il 2 e il contenuto della frazione : 3 , poi la divisione tra il 6 e il risultato della moltiplicazione : 6 . il risultato dovrebbe essere 1 

Inserita:
22 ore fa, JumpMan scrisse:

Si Livio, ma quello che mi chiedo, al di là del divertimento idiota, è cosa ha portato i progettisti della Casio (ne ho 2 di scientifiche di questo marchio) a dare come risultato 1 se non si mette il segno "per" e 9 se lo si mette, se alla base di ciò vi fosse qualche regola matematica che ignoro.

 

E' una questione di priorità algebrica, senza operatore "per" l'espressione viene interpretata come: 6/(2*(2+1)) = 6/6 = 1.In altri termini si considera denominatore della frazione, o divisore, tutto quello che segue l'operatore "/".

 

Se inserisci l/operatore "*" l'algebra della calcolatrice risolve correttamente come: 6/2 * (2+1) = 3*3 = 9; considera terminata la frazione nle momento che inserisci l'operatore "*".

Quesrti due risuktati sono formalmente corretti e rispondono perfettamente alle regole algebriche, regole che spesso noi umani, essendo intelligenti, non osserviamo scripolosamente. La macchina, essendo stupida, esegue pedissequamente secondo le regole.

L'espressione scitta come nel titolo "6/2(2+1)" se risolta secondo le regole algebriche (vado con i ricordi di porima media) delle espressioni deve dare come risultato 1, perchè si risolve prima la parentesi tonda, che la più interna, ed avremo 6/2(3), da cui risulta 6/6 = 1. Se ricordo bene, gli operatori somma e sottrazione staccan o, mentre quelli di divisione e moltiplicazione uniscono, come uniscono gli operatori di parentesi.

Inserita:

Ovviamente per evitare dubbi basterebbe mettere una parentesi quadra in più.

Domenico Maschio
Inserita:

Vedo che che io sono arrivato alle stesse  conclusioni di Livio pur avendo postato poco dopo di lui e non avendo letto il suo post .

L'espressione si puo anche trascrivere semplificando :

     6 

------------

2 * (2+1)

 

Inserita:

Dico la mia:

L'espressione scritta così: 6/2(2+1) è semplicemente errata perchè è omesso il segno di moltiplicazione prima della parentesi, quindi va scritta: 6/2*(2+1)

e, rispettando la parentesi, il risultato è 9.

Se provate a fare l'esercizio con un qualsiasi linguaggio di programmazione, se non mettete il "*" vi da errore.

Il perchè le Casio diano come risultato 1 mi è ignoto... la mia Texas Instruments da come risultato 9 anche senza il "per"

 

Inserita:

Anche Openoffice Calc se non metti il "*" ti propone di aggiungerlo.

Riccardo Ottaviucci
Inserita:

se il risultato fosse diverso da 1 dovrei rintracciare tutti i miei professori di matematica,dalle elementari all'università e denunciarli per abuso di professione e restituire la laurea di ingegneria.

Prima si esegue il calcolo tra parentesi,lo si moltiplica per il fattore fuori parentesi (il segno x è pleonastico) poi si esegue la frazione (divisione). Buttate vie le calcolatrici che danno 9,

Le casio invece sanno l'aritmetica

Inserita:

Riccardo, per carità non denunciare nessuno :blink::lol: però:

Ho fatto delle semplici applicazioni console dell'operazione incriminata con:

 

CodeBlocks in C++      risultato = 9

Embarcadero C++ (compilatore Borland)     risultato = 9

Microsoft Visual Studio C++   risultato = 9

Microsoft Visual Studio C#    risultato = 9

Microsoft Visual Studio VB.Net  risultato = 9

 

Tutti questi prodotti risolvono la parentesi e poi eseguono le operazioni da sinistra a destra con la precedenza del * e / rispetto al + e -, come per altro penso facciano anche i PLC, ma non ho provato.

Questi software, a parte forse CodeBlocks che è più amatoriale, vengono utilizzati in moltissime applicazioni professionali.

Se vuoi ottenere 1 devi scrivere:

6 / (2 * (2 + 1))

come è decisamente più logico ed esente da interpretazioni.

 

Ma penso che sia solamente un differente modo di dare la precedenza alle operazioni: probabilmente nell'aritmetica classica (carta e penna) si usa il metodo dei tuoi professori, mentre la logica dei calcolatori è diversa e le parentesi servono ad eliminare ogni dubbio.

Vedi http://en.cppreference.com/w/cpp/language/operator_precedence

 

Ciao

 

Inserita:
Quote

Tutti questi prodotti risolvono la parentesi e poi eseguono le operazioni da sinistra a destra con la precedenza del * e / rispetto al + e -, come per altro penso facciano anche i PLC, ma non ho provato.

Seguono la regola classica dell'algebra, quella che si insegnava in prima media ai mie tempi.

Prima si risolvono le parentesi più interne; gli operatori "x" e "/" hanno al precedenza sugli operatori "+" e "-".

Quindi risolve la parentesi tonda, poi considera tutto quello che è dopo l'operatore "/" come denominatore della frazione

 

Fate una prova con la calcolatracite windows in modalità scientifica.

In serite 6, poi "/" seguito da "2"; quando andate ad inserire la "(" il 2 rimane nella riga in basso; proseguendo nell'inserimento degli altri termini, ignora il 2 inserito prima e da come risultato finale , come se l'operazione fosse 6/(2+1) = 2.

Mentre se si usa il segno "*" dopo la frazione il risultato è 9

Domenico Maschio
Inserita:

Quoto Riccardo al 100% , penso che l'errore sia dovuto alla differenza tra la calcolatrice normale e quella scientifica .

Probabilmente la normale compie le operazioni da sinistra a destra (prima la divisione poi la moltiplicazione )senza fare un "ragionamento"  . Invece la scientifica applica la regola algebrica : prima la moltiplicazione ,poi la divisione ,poi l'addizione ,poi la sottrazione 

Ciao

 

Inserita:

Ma la regola algebrica (PEMDAS o BODMAS le abbreviazioni in Inglese) stabilisce che le moltiplicazioni e le divisioni hanno la stessa priorità e se sono consecutive vanno eseguite nell'ordine da sinistra a destra, e così anche in tutti i linguaggi di programmazione elencati.

Nella Casio viene applicata una regola diversa solo se si toglie il segno di moltiplicazione, magari c'era qualche vecchia regola che poi è stata abolita.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...