El ciclo Hacer...mientras (Do...while)


El bucle hacer-mientras (do-while) opera igual al bucle mientras (while) con una muy importante diferencia, el bucle hacer-mientras (do-while) es un bucle postest, por lo que se ejecuta al menos una vez.

Sintaxis

Hacer

Sentencia-1;

Sentencia-2;

.

.

.

Sentencia-n;

mientras(condición)

Ejemplo:

Escriba un algoritmo que lea un número entero cualquiera e imprima el número entero invertido.  Por ejemplo, si lee el número entero 785 imprimirá como salida 587.

Solución:

Pseudocódigo

Diagrama N-S

Código C++

Ejemplo:

Un número n es automórfico si los últimos dígitos de su cuadrado son los dígitos de n. Por ejemplo, 5, 6, 76 y 890625 son números automórficos ya que

5² = 25, 6² = 36, 76² = 5776 y 890625² = 793212890625.

Escriba un algoritmo que lea un número y determine si ese es un número automórfico.

Solución:

Diagrama N-S 

Código C++

Ejemplo:

Escribir un algoritmo que lea dos números enteros positivos y distintos y determine el máximo común divisor utilizando el algoritmo de Euclides.

Solución:

Diagrama N-S.

Código C++

Ejercicios:

1.       Escriba un algoritmo que lea un número y escriba si el número es perfecto. Un número perfecto es un número natural que cumple que es igual a la suma de sus divisores propios (todos sus divisores excepto el propio número).
2.       Escriba un algoritmo que muestre la lista de números primos de 1 a 200.
3.       Escriba un algoritmo que muestre la lista de números 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, con un bucle mientras, con un bucle para, y con un bucle hacer-mientras en un mismo programa.
4.       Escriba un algoritmo lea un número entero y calcule su factorial. El Factorial de n se calcula con la siguiente fórmula.

5.       Escriba el código para producir una tabla de conversión de temperatura Celsius a Fahrenheit. Suponga que se van a desplegar temperaturas Fahrenheit correspondientes a las temperaturas desde 5 hasta 50 grados Celsius. El código deberá desplegar una tabla con las conversiones realizadas

 

6.       Además del promedio aritmético de un conjunto de números, se puede calcular una media geométrica y una media armónica. La media geométrica de un conjunto de n números x1, x2, . . . xn se define como:

y la media armónica como

Usando estas fórmulas, escriba un algoritmo que lea n números hasta que se introduzca el número 999 y luego calcule y despliegue tanto la media geométrica, como la media armónica de los números introducidos.

7.       Escribir un algoritmo que lea un número entero n y escriba todos los números impares menores que n.

 

8.       Un capital C se coloca a una tasa de interés anual i. Escriba un algoritmo que determine al cabo de cuántos años se duplica el capital. El interés ganado anualmente se calcula con la fórmula.

9.   Determinar si dados tres números, existe un triángulo con esas medidas, el teorema de la desigualdad triangular dice que En todo triángulo la suma de las longitudes de dos lados cualesquiera es siempre mayor a la longitud del lado restante. Los datos de entrada son: La primera lectura contendrá el número de tríadas a leer, las otras líneas contendrán los tríos (cada uno en una línea separada). Se debe escribir 1 o 0 para cada trío (1 si el triángulo puede ser construido; de lo contrario muestra 0). Escriba su algoritmo.

 

10.       Escribir algoritmo que lea conjuntos de tres números y calcule el primero más el producto de los otros dos, finalmente se debe sumar los dígitos del resultado obtenido. La primera lectura contendrá el número de tríadas a leer, las otras líneas contendrán los tríos (cada uno en una línea separada). Si leemos 2 15 7, entonces calculamos 2+(15x7)=2+105=107, por lo tanto, el valor a mostrar es 1+0+7=8.