Autor
|
Tema: ¿Porqué este resutado matemático? (Leído 2,011 veces)
|
CoolTesting
Desconectado
Mensajes: 76
El ganador es el que sabe perder.
|
Muy buenos dias, bueno estuve en una página en la cual te hacian un test para ver si sabes sobre el lenguage <b> C </b> y saqué 8 respuestas correctas de 18 xD, bueno ese no es el rollo, me explico.
Lo que pasa es que en una de esas preguntas me apareció este código:
#include <stdio.h> #include <conio.h> int main(){ int a, b, c; a = 5; b = 1; c = ( a + 5 * 2 ) * ( b + 6 / 2 ) + ( a * 2 ); printf( "%i", c ); getch(); }
y Me preguntaba que cual era el resultado, yo simplemente dije que el resultado es <b> 36 </b>
¿Porqué? Bueno, ahí dice que a es igual a 5 y b es igual a 1..
Entonces. ( 5 + 5 * 2 ) * ( 1 + 6 / 2 ) + ( 5 * 2 ) = 36.
¿Porqué en la respuesta del el test me dijo que el resultado es 70, y no tanto eso. Yo tambien lo probé en el compilador dev c++ porque pensé que era algún error de la página (Ahora veo que el que está en el error soy yo xD) y bueno efectivamente me dió el resultado 70, alguien me puede explicar? No soy experto en la materia, si no hubiese sabido porqué da 70, muchisimas gracias por adelantado.
|
|
|
En línea
|
El ganador es el que sabe perder.
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
( a + 5 * 2 ) * ( b + 6 / 2 ) + ( a * 2 ) ( a + 10 ) * ( b + 3 ) * ( a * 2 ) ( 5 + 10 ) * ( 1 + 3 ) * ( 5 * 2 ) 15 * 4 + 10 60 + 10 70
Los operadores de multiplicación y división SIEMPRE tienen prioridad sobre los de suma y resta... son matemáticas básicas.
|
|
|
En línea
|
|
|
|
da8332
|
Por curiosidad cual es esa web?
|
|
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Completando a eferion, el orden de prioridad lo podemos resumir en: * paréntesis, llaves, corchetes (estos dos últimos en Mates).
* potencias y raíces.
* multiplicaciones y divisiones.
* sumas y restas.
* Si existen funciones se les aplica el orden de prioridades anterior.
* Y se opera de izquierda a derecha.
Lo último no tiene nada que ver con la propiedad conmutativa sino con:
* de izquierda a derecha:
** 6/2: 6 dividido por 2 correcto. ** 6^2: 6 elevado a 2. correcto.
* de derecha a izquierda:
** 6/2: 2 dividido por 6. incorrecto. ** 6^2: 2 elevado a 6. incorrecto.¡¡¡¡ Saluditos! ..... !!!!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
porque me sale este error
« 1 2 »
Programación Visual Basic
|
shadow.darknesses
|
11
|
4,558
|
20 Enero 2007, 16:29 pm
por shadow.darknesses
|
|
|
¿Porque este usuario se ve así?
« 1 2 »
Sugerencias y dudas sobre el Foro
|
Embusterillo de bolsillo
|
17
|
6,037
|
21 Noviembre 2007, 00:31 am
por sirdarckcat
|
|
|
porque vb tira este error?
Programación Visual Basic
|
ricardovinzo
|
0
|
1,365
|
24 Junio 2008, 01:11 am
por ricardovinzo
|
|
|
[SOLUCIONADO] Porque da este error ??
PHP
|
Diabliyo
|
1
|
1,906
|
17 Julio 2008, 17:49 pm
por Diabliyo
|
|
|
Alguien me explica este chiste matemático?
Foro Libre
|
FelipeDerr
|
1
|
3,702
|
3 Diciembre 2021, 17:51 pm
por Tachikomaia
|
|