FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Problema con restas sucesivas
Hola,
haciendo unos ejercicios en Delphi, me he bloqueado en el siguiente: Realizar un programa que nos permita calcular el cociente y el resto de la división de dos números enteros utilizando únicamente operaciones de suma y resta:La división se realizara a través de restas sucesivas. 12 / 3 = 12 – 3 = 9 1º resta 9 - 3 = 6 2º resta 6 - 3 = 3 3º resta 3 - 3 = 0 4º resta cociente = 4 resto = 0 El resto, sé como conseguirlo mediante el bucle:
Pero claro, el problema es que para ello necesito tener antes el valor del cociente, lo cual sería:
Pero como el enunciado dice que lo he de hallar mediante sumas y restas, no sé como, si con algún bucle, o no sé. A ver si alguine me puede echar una mano. Gracias por las futuras respuestas ;-) Un saludo, Geru.
__________________
Mi Blog --------------------- Universidad de Deusto ESIDE-Escuela Superior de Ingenieros Deusto |
#2
|
||||
|
||||
Hola gerupc,
¿Y no bastaría con transformar a ese FOR en un WHILE? Una pista: No te diste cuenta de que el resto en una división como mínimo es cero y cuanto mucho menor al divisor. Saludos, |
#3
|
||||
|
||||
Vamos a ver si llegamos a la solución juntos:
Lo primero es darte cuenta de que existen mas tipos de bucles que el for, por ejemplo el while, que en este caso es perfecto
Ahora pensemos cual es la "Condicion" que nos indica que tenemos que parar. Si te fijas veras que tenemos que parar de restar en el momento en que el dividendo es menor que el divisor. Pues bien:
Ahora solo nos falta obtener el cociente, eso es facil, solo tenemos que contar el nuemro de vueltas que da el bucle:
¿Que te parece? Ahora todo junto:
|
#4
|
||||
|
||||
Hola,
no sabeis cuanto os lo agradezco. Seoane, muchísimas gracias por tu respuesta, te lo has trabajo muchísimo y has dado en un punto clave; tenía mal asimilado el concepto del bucle While. Y yo que pensaba que lo entendía perfectamente... Ahora sí, todo perfecto, muchísimas gracias!! :-) :-) :-) :-) Un saludo, Geru.
__________________
Mi Blog --------------------- Universidad de Deusto ESIDE-Escuela Superior de Ingenieros Deusto |
#5
|
|||
|
|||
Y ya entrados la escuelita, porque no hacemos la prueba con el bucle REPEAT UNTIL
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#6
|
||||
|
||||
No pude evitarlo... tuve que meter código.
Y ya que estamos... si se desea algo más "elaborado":
Saludos, |
#7
|
||||
|
||||
Y si el dividendo es menor que el divisor. Obtendrías un cociente de 1 y un resto negativo
|
#8
|
|||
|
|||
Cita:
Salud OS Edito: En todo caso que le parece si la corrección se la dejamos al niño gerupc, digo si es que le interesa aprender algo más.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney Última edición por egostar fecha: 08-08-2007 a las 22:11:27. |
#9
|
||||
|
||||
Aupa!
Pues he estado un buen rato intentando con varias cosas....pero no lo consigo (el hacer que el bucle repeat no acepte un dividendo menor que el divisor). He intentado con IF-THEN, haciendo:
Pero como sabreis, nada . EDITO:: Ahora me surge el siguiente problema, tengo que presentar las soluciones así: Introduce el dividendo: 12 Introduce el divisor: 3 El cociente de 12 entre 3 es 4 y su resto es 0 Claro, el problema está en el dividendo, cómo me si el resto es 2 me aparece en el resultado final, como resto, tanto como dividendo. A ver si me podeis ayudar :-) Un saludo, Geru.
__________________
Mi Blog --------------------- Universidad de Deusto ESIDE-Escuela Superior de Ingenieros Deusto Última edición por gerupc fecha: 09-08-2007 a las 01:30:23. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con producto a través de sumas sucesivas. | gerupc | Varios | 5 | 07-08-2007 22:12:44 |
|