Logo Studenta

Guia 6 Sentencias Control for y while en DEV C_presencial

¡Este material tiene más páginas!

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

Continuar navegando