domingo, 2 de junio de 2019

Ejercicios While

Programa que visualiza los numeros del 1 al 10, utilizando el bucle while ( mientras ) Ejercicio práctico de programación en C con solución comentada y resuelta. */ // Librerias a incluir #include <stdio.h> #include <stdlib.h> // Funcion principal int main() { // Crear variables auxiliares int contador=0; // Inicializar el contador contador=1; // repetir mientras que el contador tenga // un valor inferior a 10 while (contador<11) { // visualizar el valor de contador printf("\n%d",contador); // incrementar contador en una unidad contador=contador+1; }; return 0; } // Se ha de tener en cuenta que el no incrementar // el contador puede tener como consecuencia // la ejecución de un bucle infinito y por tanto // el bloqueo del programa.

Ciclo while

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.
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.
Vamos a ver ahora como es la sintaxis de un ciclo while en C++
while(condición de finalización) //por ejemplo numero == 100 { .... .... Bloque de Instrucciones.... .... .... }


Ejercicio ciclo for

Utilizar un contador que empiece de 2 hasta menor a 100, con una condición establecer los pares  y sumar dichos números.


 Suma de números pares con for

Ciclos for

Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten ejecutar una o varias líneas de código de forma iterativa, conociendo un valor especifico inicial y otro valor final, además nos permiten determinar el tamaño del paso entre cada "giro" o iteración del ciclo.
En resumen, un ciclo for es una estructura de control iterativa, que nos permite ejecutar de manera repetitiva un bloque de instrucciones, conociendo previamente un valor de inicio, un tamaño de paso y un valor final para el ciclo.
Para comprender mejor el funcionamiento del ciclo for, pongamos un ejemplo, supongamos que queremos mostrar los números pares entre el 50 y el 100, si imaginamos un poco como seria esto, podremos darnos cuenta que nuestro ciclo deberá mostrar una serie de números como la siguiente: 50 52 54 56 58 60 ... 96 98 100. Como podemos verificar, tenemos entonces los componentes necesarios para nuestro ciclo for, tenemos un valor inicial que sería el 50, tenemos también un valor final que sería el 100 y tenemos un tamaño de paso que es 2 (los números pares). Estamos ahora en capacidad de determinar los componentes esenciales para un ciclo for.
Vamos a ver ahora como es la sintaxis de un ciclo for en C++

for(int i = valor inicial; i <= valor final; i = i + paso) { .... .... Bloque de Instrucciones.... .... .... }

Programacion ciclos o bucles

Un bucle o ciclo, en programación, es una secuencia que ejecuta repetidas veces un trozo de código, hasta que la condición asignada a dicho bucle deja de cumplirse. Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle do-while.
En muchas ocasiones a la hora de programar es necesario ejecutar repetidas veces un conjunto de instrucciones; duplicar código parece una solución lógica cuando se está aprendiendo a programar, pero en realidad no es la más conveniente. Duplicar código puede acarrear varios problemas: lo primero es que se harán innecesariamente más extensos los archivos, en el caso de requerirse mantenimiento o actualización del código, será muy engorroso realizar este trabajo, además si el número de repeticiones es elevado haría prácticamente imposible cumplir con el cometido.
Los ciclos o bucles permiten eje.cutar repetidas veces una instrucción o un bloque de ellas; deben estar construidos de manera tal que se pueda tener control de la cantidad de repeticiones a realizar, de lo contrario se generaría un ciclo de ejecución infinita que podría desencadenar un desborde de memoria y en consecuencia un fallo de la aplicación, o un bloqueo de la misma porque el flujo de ejecución quedaría estancado en el ciclo, sobrecargando de tareas al procesador de la máquina que ejecuta el programa

Instruccion switch

Una instrucción switch (alternativa múltiple) permite seleccionar, por medio de una expresión, el siguiente bloque de instrucciones a ejecutar de entre varios posibles. En lenguaje C, para escribir una instrucción alternativa múltiple (switch) se utiliza la sintaxis:
switch ( <expresión> )
{
   case <expresión_1> : [ <bloque_de_instrucciones_1> ]
                        [ break; ]
   case <expresión_2> : [ <bloque_de_instrucciones_2> ]
                        [ break; ]
   ...
   case <expresión_n> : [ <bloque_de_instrucciones_n> ]
                        [ break; ]
            [ default : <bloque_de_instrucciones_n+1> ]
}
El resultado de evaluar la <expresión> debe ser un valor perteneciente a un tipo de dato finito y ordenado, es decir, entero, lógico, carácter, enumerado o subrango.

Dependiendo del valor obtenido al evaluar la <expresión>, se ejecutará un bloque de instrucciones u otro.

Opcionalmente, se puede escribir un <bloque_de_instrucciones_n+1> después de 
default :. Este bloque de instrucciones se ejecutará en el caso de que el valor obtenido al evaluar la <expresión>, no se encuentre en ninguna de las expresiones después de cada case.

Instruccion case

Permite obtener condicionalmente valores específicos de varias comparaciones. Hay dos tipos de instrucciones CASE:
  • Una instrucción CASE simple que compara una expresión con un conjunto de expresiones simples para devolver valores específicos.
  • Una instrucción CASE buscada que evalúa un conjunto de expresiones booleanas para devolver valores específicos.

Sintaxis

  
Simple Case Statement  
CASE [input_expression]  
WHEN when_expression THEN when_true_result_expression  
[...n]  
[ELSE else_result_expression]  
END  
  
Search Case Statement  
CASE   
WHEN Boolean_expression THEN when_true_result_expression  
[...n]  
[ELSE else_result_expression]  
END  Veamos con un ejemplo esta sentencia muy sencillito. Lo primero que hace es solicitar un número y luego informa del día de la semana con el que corresponde. Si el número no es del uno al siete informa de ello también.
dim dia dia = inputbox ("dime un dia de la semana") SELECT CASE dia CASE 1:    msgbox("El dia es LUNES") CASE 2:    msgbox("El dia es MARTES") CASE 3:    msgbox("El dia es MIERCOLES") CASE 4:    msgbox("El dia es JUEVES") CASE 5:    msgbox("El dia es VIERNES") CASE 6:    msgbox("El dia es SABADO") CASE 7:    msgbox("El dia es DOMINGO") CASE ELSE:    msgbox("Tiene que ser un dia de la semana en número, del 1 al 7") END SELECT