Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Laboratorio de Programación Estructurada Guía # 6: Tema: Sentencias de control for y while OBJETIVO(S): • Aplicar los conocimientos adquiridos para resolver problemas, utilizando el ciclo for y while. TEMPORIZACIÓN: Tiempo de desarrollo de la Práctica: 1 Sesión (presencial) Fecha de realización de la Práctica: Semana del 24 al 28 de abril 2023. Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while TABLA DE CONTENIDO SENTENCIAS DE CONTROL FOR Y WHILE .......................................................................................... 1 1. SENTENCIA DE CONTROL FOR ........................................................................................ 1 2. SENTENCIA DE CONTROL WHILE .................................................................................... 6 EJERCICIOS PROPUESTOS ............................................................................................................... 11 Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 1 SENTENCIAS DE CONTROL FOR Y WHILE 1. SENTENCIA DE CONTROL FOR La sentencia for (o “para”) permite repetir un bloque de código, pero su sintaxis es bastante distinta a la de la sentencia while y do – while. Donde inicialización suele ser una asignación a una variable, condición es una expresión lógica que determina si se sigue repitiendo el bloque de código (cuando la condición es verdadera) o no (cuando la condición es falsa), e incremento es una expresión que suele modificar el valor de la variable. El funcionamiento de la sentencia for se puede definir en una serie de pasos: 1. Ejecución de la inicialización. 2. Evaluación de la condición: si es verdadera se continua con el paso 3, si no se salta al paso 6. 3. Ejecución del bloque de código. 4. Ejecución del incremento. 5. Salto al paso 2. 6. Fin de la sentencia for. Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 2 Advertencia: La repetición del bloque de código de la sentencia for no es “hasta que se cumpla la condición”, sino que es “mientras se cumpla la condición”. La sentencia for suele usarse para casos en los cuales se conoce de ante mano un rango de valores o cuando se conoce un valor inicial y un valor final, por ejemplo: mostrar los números del 1 al 6 en pantalla, repetir un bloque de código un número determinado de veces o mostrar los números del 1 a aquel que indicase el usuario, etc. Ejercicio Resuelto 1: Edite un código fuente que dé solución al enunciado siguiente: Mostrar los números del 1 a aquel que indicase el usuario. #include<stdio.h> int main() { int numero, ultimo; printf("Escriba el ultimo numero a mostrar: "); scanf("%d",&ultimo); for(numero = 1; numero <= ultimo; numero++) { printf("%d\n", numero); } return 0; } Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 3 Resultado en pantalla: Ejercicio Resuelto 2: Pedir un número al usuario y, a continuación, mostrar su tabla de multiplicar. #include<stdio.h> int main() { int numero, n, resultado; printf("Escriba un numero: "); scanf("%d",&numero); printf("La tabla de multiplicar del numero %d es: \n", numero); for(n = 1; n <= 10; n++) { resultado = n * numero; printf("\n\t %d x %d = %d", n, numero, resultado); } return 0; } Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 4 Resultado en pantalla: Ejercicio Resuelto 3: Se deposita la cantidad de C$ 10,000 a un plazo de 24 meses, con una tasa de interés de 36% anual, capitalizable cada mes, es decir, se suman los intereses ganados al capital. Elaborar un programa en C que imprima el siguiente reporte: INVERSION MES CAPITAL INTERES SALDO 1 10000.00 300.00 10300.00 2 10300.00 309.00 10609.00 3 10609.00 318.27 10927.27 4 … … … ... 24 19735.87 592.08 20327.94 Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 5 #include<stdio.h> int main() { int mes; float saldo, capital = 10000.0, interes, totinteres = 0.0; printf("\t\t\t%5s\n","INVERSION"); printf("\t%s\t%5s\t\t%5s\t\t%5s\n","Mes","Capital","Interes","Saldo"); for(mes = 1; mes <= 24; mes++) { interes = capital * (0.36/12); saldo = capital + interes; printf("\t%d\t%5.2f\t%5.2f\t\t%5.2f\n",mes,capital,interes,saldo); totinteres += interes; capital = saldo; } return 0; } Resultado en pantalla: Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 6 2. SENTENCIA DE CONTROL WHILE La sentencia while (o “mientras”) permite ejecutar un bloque de código mientras se cumpla una condición. Su sintaxis es: Donde condicion es una expresión lógica que tendrá como resultado verdadero o falso. La sentencia while se leerá así: mientras la condición sea verdadera se ejecuta el bloque de código. A continuación, se vuelve a evaluar la condición. Si vuelve a ser verdadera se ejecuta nuevamente el bloque de código y seguidamente se evalúa nuevamente la condición, y así sucesivamente. Cuando el resultado de la condición es falso no se ejecuta el bloque de código y la sentencia while finaliza, continuando la ejecución con el código que hubiese después de esta sentencia. Es decir, mientras la condición sea evaluada como verdadera el bloque de código se ejecuta una y otra vez. Si la primera vez que se evalúa la condición resulta falsa, el bloque de código no se ejecutará ninguna vez. La sentencia while se utiliza cuando antes de ejecutar un bloque de código (quizás ninguna vez, quizás sólo una vez, quizás varias veces) hay que realizar algún tipo de comprobación mediante la condición. Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 7 Ejercicio resuelto 1 La idea es pedir una clave numérica al usuario, y si no es igual que la especificada en nuestro programa se la vuelve a pedir. El programa no finaliza hasta que sea cierta la contraseña, que es 123. El código sería este: #include <stdio.h> int main() { int claveusr = 0, veces = 1; const int passw = 123; printf("\tVerificacion de contrasenia\n"); printf("ingrese su contrasenia numerica: "); scanf("%d",&claveusr); while( claveusr != passw) { veces ++; printf("ingrese su contrasenia numerica: "); scanf("%d",&claveusr);} printf("\n\tSu contrasenia es correcta\n"); printf("se solicito la contrasenia %d\n", veces); return 0; } Resultado en pantalla: Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 8 Ejercicio resuelto 2 Realiza un programa en C, que pida 2 números enteros, e imprima los números pares que existen entre los 2. Nota: Se debe validar que el segundo número sea mayor que el primero. #include <stdio.h> int main() { int n1, n2, contador; printf("Ingrese dos numeros \n"); scanf("%d %d",&n1, &n2); if (n1 > n2) { printf("El numero 2 debe ser mayor que el numero 1\n"); } else { contador = n1; while (contador <= n2) { if (contador % 2 == 0) { printf("%d ", contador); } contador++; } } return 0; } Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 9 Resultado en pantalla: Ejercicio resuelto 3: Se tiene una serie de N números enteros. Se quiere saber si dentro de ellos existe, por lo menos, uno cuyo valor sea cero. Si hay un valor cero, la salida será “SI HAY UN CERO ENTRE LOS NUMEROS; y si no la salida será “NO HAY UN VALOR IGUAL A CERO” #include <stdio.h> #include <stdbool.h> // para utilizar bool como tipo booleano int main() { int N, numero, cuenta = 1; bool encontrado = false; printf("Ingrese la cantidad de Numeros a evaluar \n"); scanf("%d",&N); while(cuenta <= N && encontrado == false) { printf("valor del numero --> "); scanf("%d",&numero); if (numero == 0) { encontrado = true; } else { cuenta++; Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 10 } } if(encontrado == true) printf("SI HAY UN CERO ENTRE LOS NUMEROS\n\n"); else printf("NO HAY UN CERO ENTRE LOS NUMEROS\n\n"); return 0; } Resultado en pantalla: Universidad Nacional Autónoma de Nicaragua, León. Facultad Ciencias y Tecnología. Departamento de Computación Laboratorio de Programación Estructurada Guía # 6: Sentencias de control for y while Prof. Juan Carlos Antón Soto 11 EJERCICIOS PROPUESTOS 1. La escuela FORD N° 8 de Costa Rica, tiene actualmente 750 alumnos en el año 2021, se espera tener un crecimiento anual del 12% de alumnos. Elaborar un programa en lenguaje C que calcule e imprima la población estudiantil que se espera tener en el año 2025. Visualice el crecimiento que puede surgir anualmente. Utilice la sentencia cíclica for. Año 2022 ---------------> # alumnos Año 2023 ---------------> # alumnos Año 2024 ---------------> # alumnos Año 2025 ---------------> # alumnos 2. Una compañía fumigadora tiene las tarifas siguientes: Tipo 1. Fumigación contra moscas, $10 por hectárea. Tipo 2. Fumigación contra chapulines, $20 por hectárea. Tipo 3. Fumigación contra gusanos, $30 por hectárea. Si el área a fumigar es mayor que 100 hectáreas, se tiene un descuento del 5%. Si es mayor a 300 el 10% y si es mayor a 500 el 15%. Elaborar un programa en C que, por cada agricultor lea, los siguientes datos: • Nombre del agricultor • Tipo de fumigación (1, 2, 3) • Número de hectáreas a fumigar El programa debe ser capaz de visualizar por pantalla: • Nombre del agricultor • Costo del servicio Y al final debe presentar la cantidad de agricultores en total y total de costos de servicios. NOTA: utilice una pregunta como centinela para saber en que momento detener el ciclo, por ejemplo: ¿Desea ingresar otro agricultor? Utilice para este ejercicio la sentencia cíclica while
Compartir