Los ciclos do-while son estructuras de control cíclicas, las cuales nos permiten ejecutar una o varias líneas de código de forma repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final, hasta aquí son similares a los ciclos while, sin embargo el ciclo do-while nos permite añadir cierta ventaja adicional y esta consiste que nos da la posibilidad de ejecutar primero el bloque de instrucciones antes de evaluar la condición necesaria, de este modo los ciclos do-while, son más efectivos para algunas situaciones especificas. En resumen un ciclo do-while, es una estructura de control cíclica que permite ejecutar de manera repetitiva un bloque de instrucciones sin evaluar de forma inmediata una condición especifica, sino evaluándola justo después de ejecutar por primera vez el bloque de instrucciones
¿Cómo funciona un Ciclo Do-While?
Para comprender mejor el funcionamiento del ciclo while, usemos de nuevo el ejemplo de la sección anterior sobre el ciclo while. Imaginemos entonces que por algún motivo, queremos pedirle a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Como vimos anteriormente, esto se puede hacer por medio de un ciclo while, pero vamos ahora a ver como lo podemos hacer usando un ciclo do-while mejorando así un poco nuestro algoritmo, evitando ciertos comandos, tal como se dijo con el ciclo while, en efecto aquí estamos en la situación de no tener ni idea de cuándo al usuario se le va a ocurrir ingresar un número mayor que 100, pues es algo indeterminado para nosotros, sin embargo el ciclo while y en efecto el do-while nos permite ejecutar cierta acción de forma infinita hasta que se cumpla alguna condición especifica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo si nos ingresara el numero 300, el programa finalizaría inmediatamente.
Vamos a ver ahora como es la sintaxis de un ciclo do-while en C++, así estaremos listos para usarlos en nuestros programas de ahora en adelante cada vez que lo necesitemos.
Sintaxis del Ciclo Do-While en C++:
La sintaxis de un ciclo do-while es un tanto más larga que la del ciclo while en C++, sin embargo no se hace más complicado, de hecho con tan solo tener bien clara una condición de finalización para el ciclo tendremos prácticamente todo terminado.
do
{
....
....
Bloque de Instrucciones....
....
....
}
while(condición de finalización);
Ejemplo 1: Pedir números por pantalla hasta que alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro programa le pida a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100, una vez mas es un ejemplo sencillo con el que nos aseguraremos de haber comprendido bien todos los conceptos anteriores, vamos a ver cómo hacer lo mismo con dos tipos de ciclos diferentes (el while y el do-while), sin embargo vamos a ver como con uno es más eficiente que con el otro:
#include"iostream"usingnamespacestd;
intmain(){
int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
system("PAUSE");
return0;
}
Diferencias entre el ciclo do-while en C++ y el ciclo while
La diferencia es que el do-while, primero ejecuta la acción y luego evalúa la condición, mientras que el while evalúa la condición antes que cualquier cosa. Esto quiere decir, que el ciclo while podría no ejecutar ni siquiera una vez lo que tenga en su interior, mientras que el do-while te asegura que lo que pongas dentro se ejecute mínimo una vez, pues primero ejecuta y luego evalúa la condición.
#include"iostream"usingnamespacestd;
intmain(){
int opcion = 0;
do
{
cout << "Ingrese 1 para mostrar mensaje\n";
cout << "Ingrese 2 para hacer algo más\n";
cout << "Ingrese 0 para salir\n";
cout << "Ingrese una opción a ejecutar\n";
cin >> opcion;
}
//Mostramos el menú hasta que la opción sea cerowhile(opcion != 0);
system("PAUSE");
return0;
}
Elabore un programa que permita ingresar una contraseña. Si la contraseña es igual a 1234 presente el mensaje: ingreso al sistema, en caso contrario volver a solicitar la clave.
ACTIVIDADES
Usando el ciclo Do While elabore la tabla para transformar kilos a libras de 1 hasta 20
Presente la tabla de multiplicar de un número ingresado
Elabore un programa que permita ingresar la contraseña. Si la contraseña es correcta ingrese su edad en años y si es mayor o igual a 18 presente "MAYOR DE EDAD", en caso contrario presente "MENOR DE EDAD"
DESAFÍO
Usando el ciclo Do While genere y presente todas las tablas de multiplicar del 1 al 12.
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos while, no dependen directamente de valores numéricos, sino de valores booleanos, es decir su ejecución depende del valor de verdad de una condición dada, verdadera o falso, nada más. De este modo los ciclos while, son mucho más efectivos para condiciones indeterminadas, que no conocemos cuando se van a dar a diferencia de los ciclos for, con los cuales se debe tener claro un principio, un final y un tamaño de paso.
¿Cómo funciona un Ciclo While?
Para comprender mejor el funcionamiento del ciclo while, pongamos un buen ejemplo, imaginemos que por algún motivo, queremos pedirle a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Como vemos, aquí no podríamos utilizar un ciclo for, pues no tenemos ni idea de cuándo al usuario se le va a ocurrir ingresar un número mayor que 100, es algo indeterminado para nosotros, sin embargo el ciclo while nos permite ejecutar una acción de forma infinita hasta que se cumpla alguna condición especifica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo si nos ingresara el numero 300, el programa finalizaría inmediatamente.
while(condición de finalización) //por ejemplo numero == 100
{
....
....
Bloque de Instrucciones....
....
....
}
Ejemplos:
Elabore un programa que mediante un ciclo while permita ingresar una cantidad indeterminada de números. El programa finalizará cuando el número ingresado sea mayor o igual a 100.
Mediante el ciclo While presente la tabla de multiplicar del número 3
ACTIVIDAD
Utilizando el ciclo While elabore un programa que genere y presente los impares del 75 al 43 en forma descendente.
Ingrese el peso en libras de 3 personas utilizando el ciclo While. Si el peso total es mayor o igual a 400 libras presente el mensaje "SOBREPESO", en caso contrario presente "PESO CORRECTO".
Presente la tabla de multiplicar de un número ingresado utilizando el ciclo While.
DESAFÍO
UTILIZANDO EL CICLO FOR ELABORE UN PROGRAMA QUE GENERE Y PRESENTE TODAS LAS TABLAS DE MULTIPLICAR DEL 1 AL 12.
Elabore un programa que genere y presente la tabla de
multiplicar del número 3
Acompañamiento con 1ero. Informática A
ACTIVIDAD
Elabore un programa en C++ que mediante un ciclo
FOR presente la serie 99, 90,81,….27
Elabore un programa que mediante un ciclo
permita ingresar y acumular el peso en libras de tres personas. Si el peso
resulta ser mayor o igual a 400 libras presente el mensaje NO PUEDE SUBIR AL
ASCENSOR, en caso contrario presente PUEDE ENTRAR AL ASCENSOR
Elabore un programa que genere y presente la
tabla de multiplicar de un número ingresado
Los cuales funcionan siempre y cuando, la condición que evalúa, sea verdadera.
El ciclo do..while se ejecuta cuando menos una vez, si la condición es verdadera se vuelve a ejecutar.
Por el contrario, while y el ciclo for evalúan primero la condición, en caso de ser falsa, los ciclos nunca se ejecutan.
Para que la condición vaya cambiando, incluimos un contador dentro del código del ciclo, el cual avanza cada vez que se ejecuta el ciclo. Y dentro de la condición se evalúa a la variable del contador.
La fórmula del contador es C++; ó C=C+1;
Además, utilizamos a los acumuladores, como su nombre lo dice para acumular valores que se van generando cada vez que se ejecuta el ciclo, como por ejemplo las ventas de los diferentes productos que se venden.
La fórmula del contador es:acumVenta+=venta; ó acumVenta=acumVenta+venta;
Ciclo For
Está estructura nos permite repetir partes de un programa una y otra vez, mientras la condición del ciclo sea verdadera
La sintaxis del Ciclo es:
For variable=Valor_Inicial To Valor_Final Step [INCR O DECR]
El ciclo for está conformado por tres partes:
Inicio del ciclo, desde donde comienza. Condición, límite del ciclo, el cual se repite mientras la condición sea verdadera. Incremento o decremento, el cual puede ser de 1 en 1 o de x en x, de forma positiva o negativa.
Ejemplo:
Elabore un programa que mediante el ciclo FOR genere y presente todos los números del 1 al 25.
Realiza un programa que imprima los números pares dentro del rango de 2 a 15.
ACTIVIDAD
Elabore un programa que genere y presente los múltiplos de 7 del 70 al 14.
Elabore un programa que acumule los impares del 3 al 19.
Elabore un programa que permita ingresar mediante el ciclo FOR las 3 notas de un estudiante. Calcule y presente el promedio.
CORRECCIÓN DE EJERCICIOS ANTERIORES:
D9 Construya un diagrama de flujo que permita ingresar la edad de un estudiante en años, calcule y presente la edad expresada en meses.
D10) Elabore un diagrama de flujo que permita ingresar el peso de una persona que va a utilizar una patineta hoverboard. Si el peso es menor a 150 Libras, presente por pantalla "Puede subir"; en caso contrario, presente "No puede subir".
D11) Elabore un diagrama de flujo que permita ingresar el peso en libras de 3 personas que utilizarán un ascensor. Si el peso total es mayor a 320 libras, presente el mensaje "SOBREPESO"; en caso contrario presente el mensaje "PESO CORRECTO".
Codifique un programa en C++ que permita ingresar la edad de
un estudiante. Si la edad es mayor o igual a 18 años presente el mensaje ”MAYOR
DE EDAD” ,en caso contrario presente “MENOR DE EDAD”.
Codifique un programa en C++ que permita ingresar un número.
Presente por pantalla si dicho número es PAR o IMPAR.
Codifique un programa en C++ que permita ingresar la edad y
la estatura de un estudiante que desea ingresar al ejército. Si la edad es
mayor o igual a 18 años y la estatura superior a igual a 170 cmts, presente el
mensaje ”PUEDE INGRESAR AL EJÉRCITO” ,en caso contrario presente “NO PUEDE
INGRESAR AL EJÉRCITO”.
ACTIVIDADES
Codificar en lenguaje C++ los siguientes diagramas de flujo:
D9 Construya un diagrama de flujo que permita ingresar la edad de un estudiante en años, calcule y presente la edad expresada en meses.
D10) Elabore un diagrama de flujo que permita ingresar el peso de una persona que va a utilizar una patineta hoverboard. Si el peso es menor a 150 Libras, presente por pantalla "Puede subir"; en caso contrario, presente "No puede subir".
D11) Elabore un diagrama de flujo que permita ingresar el peso en libras de 3 personas que utilizarán un ascensor. Si el peso total es mayor a 320 libras, presente el mensaje "SOBREPESO"; en caso contrario presente el mensaje "PESO CORRECTO".
En este programa no utilizarás números decimales ni fraccionarios o que tengan una presentación diferente a la normal solo números enteros 1,2,3,4,5,6,7... para esto se declarará el tipo de dato como números enteros, con la expresión "int" cuando se declaren las variables.
Declaración de variables en C++
Para declarar variables en c++ es tan sencillo como indicar el tipo de variable y el nombre de la variable, su sintaxis es la siguiente:
[tipo] [variable];
Como en el programa necesitaras trabajar con números enteros debes de utilizar el tipo de variable int para definirlas:
int numeroA;
int numeroB;
int suma;
Al utilizar el tipo int solo estarás permitiendo valores enteros desde negativos hasta positivos. ¿Recuerdas el código que utilizaste en tu primer programa para escribir mensajes? pues ahora lo podrás usar para sumar números de la siguiente forma:
std::cout<<"Escriba el primer entero";
Como la intención del programa que estas desarrollando no solo es mostrar mensajes, voy a introducir un nuevo elemento que te permitirá almacenar la información que el usuario te facilite y ¿Cómo se hace esto? es tan sencillo como utilizar la expresión cin del acrónimo ingles character input .
std::cin>>numeroA;
El trabajo de cin es capturar la información del teclado y guardarla en una variable, así que en el caso anterior lo que lograras es capturar el número entero y guardarlo en la variable numeroA.
Si has llegado a este punto has visto que ya eres capaz de solicitar información y guardarla, ahora solo queda procesar esta información.
Sumar Números en C++
Para sumar números en C++ utilizaras uno de los operadores aritméticos de este lenguaje que es el signo + así que vamos al núcleo del código fuente que es nada más y nada menos que la suma de los dos números enteros y se realiza de la siguiente forma:
suma=numeroA+numeroB;
Con esta formula lograrás hacer la suma de los valores almacenados en numeroA y numeroB y el resultado lo almacenaras en la variable suma.
Así que ya tienes casi completa la estructura del programa:
Solicitar los números enteros
Realizar la operación aritmética
y mostrar el resultado en pantalla.
Solo queda cumplir con el paso 3, y como el mostrar información en pantalla es algo que tu ya sabes no se te hará difícil el mostrar el resultado en pantalla, eso si, debes agregar un nuevo elemento, el mostrar en pantalla la información almacenada en la variable suma, así que el código quedaría de la siguiente forma:
std::cout<<"El resultado de la suma es:"<<suma<<::std::endl;
Como puedes observar con la linea anterior se muestra texto en pantalla y el valor de una variable, en este caso la variable es suma y esta linea la debes finalizar con un:
std::endl;
Veamos el programa:
#include <iostream>intmain()
{
// declaración de variables.int NumeroA;
int NumeroB;
int Suma;
//Solicitud de números enteros.
std::cout<<"Introduzca el primer entero:\n"; std::cin>>NumeroA;
std::cout<<"Introduzca el segundo entero:\n"; std::cin>>NumeroB;
//Suma de los dos dígitos
Suma=NumeroA+NumeroB;
std::cout<<"El resultado de la suma es:"<<Suma<<::std::endl;
return0;
}
Operadores Aritméticos básicos en C++
Como puedes ver al escribir este código en tu IDE has creado un programa que te permite sumar dos números y con este mismo código fuente como base, puedes utilizarlo para crear otros programas que te permitan por ejemplo restar, multiplicar o dividir dos números y es tan sencillo que solo tienes que cambiar el operador en la formula y sustituirlo por alguno de la siguiente tabla:
Acción
Operador
Ejemplo
Suma
+
Suma=NumeroA+NumeroB
Resta
-
Resta=NumeroA-NumeroB
Multiplicación
*
Multi=NumeroA*NumeroB
División
/
Div=NumeroA/NumeroB
Como aplicar los cambios a tu código
Puedes escribir este mismo código en un nuevo proyecto, y realizar las modificaciones de la siguiente forma. En la formula donde se realiza la suma de los dos números enteros (Linea 19 del código de arriba) puedes sustituirlo por alguno de los siguientes datos:
Resta=numeroA-numeroB
Multiplicacion= numeroA*numeroB
Division= numeroA/numeroB
Una vez modificado tu nuevo programa ya solo falta declara la nueva variable que haz introducido, por que recuerda que en este programa en la Linea 10 declaraste la variable int Suma; y esto se tiene que modificar por la operación que vas a realizar por ejemplo int Resta;
ACTIVIDADES
Escriba un programa en C++ que permita ingresar dos números y presente el resultado de la suma, resta, multiplicación y división.