División entera y resto utilizan restar y sumar
De Ejercicios
Contenido |
Enunciado
Realizar un algoritmo que obtenga la división entera y el resto de la misma utilizando únicamente los operadores suma y resta.
Análisis del problema
La división se puede considerar como una sucesión de restas. El algoritmo debe de tratar de contar cuantas veces se puede restar el divisor al dividendo y dicho contador será el cociente. Cuando ya no se pueda restar más sin que salga un número positivo, se tendrá el resto.
Soluciones
Pseudocódigo
ALGORITMO DivisiónEnteraYResto ENTRADAS: dividendo: ENTERO (*Número que se va a dividir*) divisor: ENTERO (*Número que divide*) SALIDAS: cociente: ENTERO (*resultado de la división entera*) resto: ENTERO (*resto de la división*) VARIABLES: (*no son necesarias*) INICIO (*Leer dividendo y divisor*) ESCRIBIR "Introduzca el dividendo:" LEER dividendo ESCRIBIR "Introduzca el divisor" LEER divisor (*Calcular el cociente y el resto*) resto <-- dividendo (*Si dividendo<divisor entonces el dividendo es el resto*) cociente <-- 0 (*Si dividendo<divisor entonces el cociente es 0*) MIENTRAS resto >= divisor HACER resto <-- resto - divisor cociente <-- cociente + 1 FIN_MIENTRAS (*Mostrar el cociente y el resto*) ESCRIBIR "El cociente de la división es:", cociente ESCRIBIR "El resto es:", resto FIN
Programa en C
#include <stdio.h> #include <stdlib.h> int main (void){ /*ENTRADAS*/ int dividendo; //''Número que se va a dividir'' int divisor; //''Número que divide'' /*SALIDAS*/ int cociente; //''resultado de la división entera'' int resto; //''resto de la división'' /*INICIO*/ //''Leer dividendo y divisor'' printf ("Introduzca el dividendo: "); scanf("%i",÷ndo); printf ("Introduzca el divisor: "); scanf("%i",&divisor); //''Calcular el cociente y el resto.'' resto=dividendo; //''Si dividendo<divisor entonces el dividendo es el resto'' cociente=0; //''Si dividendo<divisor entonces el cociente es 0'' while(resto>=divisor){ resto=resto-divisor; cociente=cociente+1; } //''Mostrar el cociente y el resto'' printf ("El cociente de la division es: %i.",cociente); printf ("El resto es: %i",resto); system ("PAUSE"); }