Hola amig@s, siguiendo la serie de minitutoriales de C++ desde 0 vamos a seguir ampliando la estructura de repetición While, ahora con un ejemplo de formulación de algoritmo para un problema de aplicación con estructuras de control anidadas... Si estas perdido puedes ver la explicación AQUÍ.
Como explicamos anteriormente amig@s, algo que ayuda en gran parte a desarrollar un buen programa es la formulación de un algoritmo para la observación, comprensión y formulación a la hora de desarrollar algún programa por simple que este sea, ya que nos hace ver errores incluso antes de escribirlo o bien podemos nos ayuda a plantear de mejor forma nuestro código.
Bien desarrollemos este problema, asumamos que hay una empresa que apoya a la salud en nuestro país, y estos desean hacer una encuesta a un número de 10 personas para calcular sus datos para posteriormente hacer un cálculo sobre sus hábitos de ingerir bebidas cuando estos no beben agua pura, dicha empresa desea saber cuantas personas de las encuestadas prefieren los jugos naturales o las bebidas carbonatadas( sodas ), y a la hora de ingresar los datos al ordenador mediante algo sencillo poder guiarse de una forma rápida y precisa sobre los datos recolectados. También desean que dicho programa despliegue un mensaje con el resultado total de los que prefieren jugos o sodas, y que les indique si prefieren lo saludable o lo chatarra.
Ok, analicemos el problema paso a paso y empecemos a pensar lo que debe llevar nuestro programa:
- Que introduzca cada resultado uno a uno, podemos poner que para cada bebida un 1 para el jugo y un 2 para las sodas, y que al hacerlo salga nuevamente el mensaje de introducción del dato.
- Que cuente el numero de resultados de los encuestados uno a uno.
- Que despliegue un resumen de los resultados, indicando cuantos prefieren jugos o sodas.
- Si la mayoría de personas que este caso sería 6 porque sería el 60% de los encuestados, prefiere jugos que despliegue un mensaje diciendo que las personas encuestadas prefieren bebidas saludables, y en caso contrario, que despliegue un mensaje que prefieren las bebidas chatarras.
Ahora que ya sabemos a donde vamos podemos formular nuestro seudocódigo para así transcribirlo al código de C++.-
Inicializamos soda con 0
Inicializamos jugo con 0
Inicializamos contador de personas con 1
While el contador de personas sea menor o igual a 10
Introducción del siguiente resultado de la encuesta
if la persona prefiere jugos
suma 1 a jugo
else
suma 1 a sodas
suma 1 al contador de personas
Despliega el numero de los que prefieren jugos
Despliega el numero de los que prefieren sodas
If al 60% les gusta mas los jugos
despliega "prefieren bebidas saludables"
else
despliega "prefieren bebidas chatarras"
Ya con nuestro seudocódigo y algoritmo formulado pasemos a la practica directa, en este código del programa requerido :D!
Veamos los resultados del anterior programa si cumple con lo que necesita la empresa:
Si el resultado es de personas que prefieren los jugos
Y si el resultado es de sodas...
Por si tienen dudas .... xD
Con este simple código hicimos lo que se nos pedía, paso a paso desde que hubiera una forma fácil y precisa de ingresar los datos obtenidos a los encuestados, pasando por el resumen total de cada opción como también los mensajes para cada grupo. Observemos el código ya hecho lo primero es que en la linea 12 empezamos a declarar las variables para que main las utilice para procesar los resultados de los encuestados, una cosa que me preguntó una persona hace algún tiempo es por qué cuando usamos un contador como variable y while lo limita como en el caso de contadorPersonas = 1 por qué se inicializa con 1, bien esto es algo simple, en nuestro caso usamos 1 porque el contador que usamos en while es 10 que era el numero de personas encuestadas, y aunque en parámetro lógico while asume entre el 0 y el 10 habrían 11 cantidades, con lo cual excedería al número de personas encuestadas, por lo mismo empezamos a 1 para que al llegar a 10 con while sean exactamente 10.
Como acabo de mencionar en la linea 17 de nuestro código usamos a while para que use a la variable contadorPersonas y que este sea menor o igual a 10, dentro de while anidamos a la estructura de selección IF/ELSE (linea 22) para que si algún resultado ingresado es igual a la opción asignada se aumente dependiendo el grupo que este sea ( jugos o sodas ).
Ya en la fase final del código lineas 30 y 31 desplegamos los resultados para jugos y sodas, y en las lineas 33 a la 36 dimos las condicionantes del mensaje si era mayor para jugos o para sodas usando if-else. Algo que puedo agregar a esto es que al igual de usar if/else para desplegar los mensajes también se podía usar if para ambas opciones es decir anidaciones por ejemplo
if ( jugo >= 6 )
cout << "Las personas prefieren bebidas saludables " << endl;
if ( soda >= 6 )
cout << "Las personas prefieren bebidas chatarras " << endl;
Esto no hubiera interferido en el resultado de nuestro programa, pero es mejor y mas estructurado con if -else. Bien amig@s esto es todo por este minitutorial, en el próximo seguiremos un poco mas con while pero usando operadores de incremento ( ++ ) y de decremento ( - - ) esto con el fin de poder comprender un poco mas a las estructuras de repetición tanto while, do-while y for en un futuro. Al igual que haremos algún código para demostrar cuando podemos usar while y un centinela para finalizar algún ciclo dentro del programa. Me suscribo de ustedes amig@s by 4uxx
0 comentarios :
Publicar un comentario