Archivo de la etiqueta: for

La sucesión de Fibonacci. Otro ejemplo de bucle en C++


La sucesión de Fibonacci es una sucesión infinita de número en la que el primer valor es 0, el siguiente es 1 y los demás términos se calculan como suma de los dos que le preceden.

Para crear un programa en C++ que genere la sucesión de Fibonacci necesitaremos un bucle con la orden for. Así, si le pedimos al usuario el número de términos que desea ver de esta sucesión, tendremos que establecer como valor máximo para el bucle esta variable.

Como se observa en el código mostrado, al principio se hace uso de la orden if para tener en cuenta los casos en que el usuario indique que quiere visualizar un término o dos.

El código de este programa y su salida se muestran a continuación.

Anuncios

Bucles en C++


A la hora de programar, existen ocasiones en las que nos puede interesar comprobar una condición de forma repetida. Para ello hacemos uso de los bucles.

Como estamos viendo hasta ahora, voy a explicar cómo usar diferentes órdenes en C++ a través de ejemplos. Así, si queremos crear un programa que pida al usuario su contraseña, tantas veces como sea necesario, hasta que introduzca un número, la posible solución se muestra a continuación.

Como se puede observar, la orden utilizada es while, que repite el bucle de forma repetida mientras que se cumpla la condición que se establece entre paréntesis. El signo !, significa la negación de lo que hay a continuación.

La salida de este programa aparaece en la imagen de abajo.

Otro ejemplo de uso del while lo encontramos en un programa que escriba en pantalla, de mayor a menor, los números pares del 26 al 10. Como se observa, el bucle se repite mientras se cumpla la condición de que el número sea mayor o igual a 10.

La salida se muestra a continuación.

Asimismo, si queremos hacer un programa que pida un código de usuario y una contraseña para entrar a un sistema, también podemos hacer uso de la orden while. Como se puede advertir en la imagen de abajo, necesitamos que se cumplan dos condiciones en el bucle, por lo que incluimos el operador && (Y).

La salida de este programa con bucle se muestra a continuación.

Por último, si deseamos hacer un programa que de al usuario la oportunidad de adivinar un número del 1 al 100, en un máximo de seis intentos, teniendo en cuenta que en cada intento avisará al usuario si se ha pasado o se ha quedado corto, además de la orden while, nos hará falta la orden for. La sintaxis de esta última orden se plantea poniendo entre paréntesis los siguientes parámetros valor inicial, condición para que se cumpla y fórmula del incremento del bucle, separados por punto y coma. En este programa el bucle for se ha configurado para que contabilice los intentos, por eso sus llaves de apertura y cierre abarcan casi todo el código. Además, anidado hay otro bucle con while para evitar que el usuario introduzca un valor por debajo de 1 o por encima de 100. Nótese el uso del operador || (O).  Para averiguar si el número propuesto es el correcto, o si nos hemos pasado o quedado corto, se usa la orden if.

Como se puede observar, para que se genere un número aleatorio, se han utilizado las órdenes:

srand(time(NULL));
int numero=rand()%100, propuesto;

De esta forma, la semilla para generar el número aleatorio es la hora del sistema, y el número será como máximo 100.

Además, tenemos que añadir #include <cstdlib> y #include <ctime> para poder usar las órdenes anteriores. La salida se aprecia abajo.