Práctica 9 ciclos

Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
PROGRAMA
EDUCATIVO
PLAN DE
ESTUDIO
CLAVE DE
UNIDAD DE
APRENDIZAJE
NOMBRE DE LA UNIDAD DE APRENDIZAJE
TRONCO COMÚN
2009-2
11214
PROGRAMACIÓN
PRÁCTICA
No.
LABORATORIO
DE
CIENCIAS BÁSICAS (PROGRAMACIÓN)
DURACIÓN
(HORAS)
9
NOMBRE DE LA
PRÁCTICA
CICLOS
2
1. INTRODUCCIÓN
Ciclos o Bucles Problemas repetitivos
Un ciclo es un grupo de instrucciones que la computadora ejecuta en forma repetida, en tanto se conserve
verdadera alguna condición de continuación del ciclo. Esta condición puede ser simple o compuesta de
otras condiciones unidas por operadores lógicos.
2. OBJETIVO (COMPETENCIA)
Aplicar teoría de ciclos sencillos, elaborando programas iterativos para la solución de problemas reales en
el área de ingeniería. Con disposición para trabajar en forma individual y responsabilidad en el uso del
equipo del laboratorio.
Formuló
Revisó
Autorizó
L.S.C. Elvira Amalia Reza
Valdez
M.C. Araceli Celina Justo López
Dr. David Rosas Almeida
Nombre y Firma del Responsable del
Programa Educativo
Nombre y Firma del Director/
Representante de la Dirección
Nombre y firma del maestro
Código: GC-N4-017 Revisión: 4
Página 1 de 7
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
3. FUNDAMENTO

Ciclos o Bucles Problemas repetitivos
Un ciclo es un grupo de instrucciones que la computadora ejecuta en forma repetida, en tanto se conserve
verdadera alguna condición de continuación del ciclo. Esta condición puede ser simple o compuesta de
otras condiciones unidas por operadores lógicos.
Existen 2 tipos de ciclos:
1. Ciclo con un número determinado de repeticiones, controlado por un contador: Conocido también
repetición definida, porque se conoce con exactitud cuántas veces se ejecutará un ciclo.
2. Ciclos con un número indeterminado de repeticiones, controlados por un centinela: También
conocido como repetición indefinida, porque no se sabe con anticipación cuántas veces el ciclo se
ejecutará. Y el valor del centinela indica “fin de datos”.
Contador: Es una variable de control para contar el número de repeticiones, y es incrementada
normalmente en uno, cada vez que se ejecuta un grupo de instrucciones. Cuando el valor de la variable
llega al número correcto de repeticiones, se termina el ciclo y continúa con el enunciado siguiente al de la
estructura de repetición.
Acumulador: Es una variable que va acumulando el resultado de una operación aritmética, por lo regular la
suma:
i = i + k; donde i es la variable acumuladora y k es una constante o variable.
Por lo general un acumulador se inicializa a cero; y un contador se inicializa a cero o uno, dependiendo su
uso, ya que una variable sin inicializar contiene un valor “basura” que es el valor almacenado por última vez
en la posición de memoria reservada para la misma.
 Ciclo do-while
Con esta sentencia se controla la condición al final del bucle. Si ésta se cumple, el programa vuelve a
ejecutar las sentencias del bucle.
Sintaxis:
do
{
instrucción(es);
} while (expresión);
Código: GC-N4-017 Revisión: 4
Página 2 de 7
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
Ejemplo ciclo do-while
# include <stdio.h>
# include <stdlib.h>
void main()
{
int cont=1;
do
{
printf ("%d\n ",cont);
cont++;
}while(cont <= 20);
getchar();
}
 Ciclo While
Con esta sentencia se controla la condición antes de entrar en el bucle. Si ésta no se cumple, el programa
no entrará en el bucle. Naturalmente, si en el interior del bucle hay más de una sentencia, éstas deberán ir
entre llaves para que se ejecuten como un bloque.
La única diferencia entre las sentencias while y do-while es que con la segunda el cuerpo del bucle se
ejecutará por lo menos una vez.
Sintaxis:
while (expresión)
{
instrucción(es);
}
Mismo ejemplo ciclo while()
# include <stdio.h>
# include <stdlib.h>
void main()
{
int cont=1;
while(cont <= 20)
{
printf ("%d\n ",cont);
cont++;
}
getchar();
}
Código: GC-N4-017 Revisión: 4
Página 3 de 7
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
 Ciclo For
El ciclo for es una generalización del while; maneja de manera automática todos los detalles de la
repetición controlada por contador, las cuales están separadas por punto y coma.
Sintaxis:
for (inicialización;condición;incremento)
{
sentencia1;
sentencia2;
}
Mismo ejemplo ciclo for()
# include <stdio.h>
# include <stdlib.h>
void main()
{
int cont;
for (cont = 1; cont <= 20; cont ++)
printf ("%4d ",cont);
getchar();
}
Elección adecuada de un problema repetitivo (Ciclo)
La elección adecuada de un ciclo es una de las partes del diseño de un algoritmo y como consecuencia del
mismo código de su programa. La repetición de sentencias en el interior del ciclo o bucle requiere definir las
condiciones de terminación del bucle incorrecto o infinito.
En el ciclo do-while, la secuencia de sentencias se ejecutarán al menos una vez, mientras que en el ciclo
while primero se determinará si entra al ciclo evaluando la condición de entrada, ya que si resulta falsa no
se ejecutarán las instrucciones contenidas en él. En la práctica el ciclo while se utiliza con más frecuencia
que do-while y por ello en caso de duda utilice while. El ciclo for se reserva para situaciones en el que se
puede predecir y enumerar antes que se comience el ciclo.
4. PROCEDIMIENTO
A. EQUIPO NECESARIO
1. Computadora con DEV-C++ instalado
2. Unidad de almacenamiento
MATERIAL DE APOYO
Práctica 9
Código: GC-N4-017 Revisión: 4
Página 4 de 7
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
B. DESARROLLO DE LA PRÁCTICA
Las prácticas están clasificadas por días de la semana. El alumno, realizará los ejercicios que le
corresponden de acuerdo al día de laboratorio o a criterio del maestro.
PRÁCTICAS DEL DÍA MARTES
1.
Ciclo do-while. Realizar un programa que lea x cantidad de números enteros positivos, hasta que
lea un negativo. Utilizar una función que imprima: a) la cantidad de números leídos; b) la suma de
dichos números (sin contar el negativo).
2.
Ciclo while. Generar los x primeros términos de la serie de Fibonacci, que sean menores a 100. En
esta serie los dos primeros números son 1, y el resto se obtiene sumando los dos anteriores:
1, 1, 2, 3, 5, 8, 13, 21,..., etc. Utilice una función que calcule cada uno de los valores y los muestre
en pantalla.
3.
Ciclo for. Una compañía de teléfonos realiza los cobros de factura según el tipo de llamada:
Llamada nacional local ……………………………$0. 50 por llamada
Llamada de larga distancia nacional……………. $0. 70 por minuto
Llamada de larga distancia internacional……….. $1.05 por minuto
Realice un programa que calcule las facturas mensuales de 5 clientes, sabiendo que, las primeras
100 llamadas locales son gratis. Utilizar una función que reciba como parámetros cantidad de
llamadas locales, total de minutos realizados en la llamada larga distancia nacional, y así como
minutos en llamadas de larga distancia internacional . Donde regrese el total de la factura por
cliente. Nota: las llamadas locales ya incluyen el número de llamadas de larga distancia. Además se
cobra una renta por servicio de $130.00 pesos mensuales.
Ejemplo:
Nacional local
Renta
Llamadas/minutos
Cálculos
Totales
Total factura del
cliente
Larga
Distancia
Nacional
Larga
Distancia
Internacional
50
50*$0.70
$35
22
22*$1.05
$23.10
Totales
$130.00
120
(120-100)*$0.50
$10
$ 68.10
$198.10
Código: GC-N4-017 Revisión: 4
Página 5 de 7
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
PRÁCTICAS DEL DÍA MIÉRCOLES
1.
Ciclo do-while. Realizar un programa que lea nombre y 2 calificaciones de un alumno y calcule el
promedio, después el programa deberá preguntar si desea continuar en caso afirmativo preguntar
por los datos de un nuevo alumno hasta que le indiquemos lo contrario, el programa deberá
indicarnos al final cuántos alumnos aprobaron y cuántos reprobaron. Utilizar una función que calcule
el promedio del alumno recibiendo como parámetros las calificaciones.
2.
Ciclo while. Realice un programa que utilice una función que calcule la suma:
1 + + + + ... +
(a esta suma se le llama serie armónica).
Donde n se especifica por el usuario y se lee en la función main, se envía a otra función para que
calcule la suma y regrese el resultado a la función principal para imprimirlo.
3.
Ciclo for. Realice un programa que lea el nombre y 4 calificaciones de un alumno, (leer las
calificaciones dentro de un ciclo y validar dentro de una función llamada leer_calificacion que se
encuentre en el rango 0 al 100), imprimir al final su promedio e indicar si aprobó o reprobó.
Ejemplo de llamada:
printf (“Dame la calificación %d: ”, cont+1);
cal = leer_calificacion ( );
PRÁCTICAS DEL DÍA JUEVES
1.
Ciclo do-while. Realizar un programa que contenga un menú de opciones para calcular
equivalentes de temperaturas:
Conversiones
Fahrenheit a Centígrados...........[1]
Centígrados a Fahrenheit.......... [2]
Salida......................................... [3]
Opción........................................ [ ]
El programa deberá usar funciones simples, donde cada opción solo realiza la llamada de función y
en las funciones realiza todas las operaciones de entrada, proceso y salida.
2.
Ciclo while. Realice un programa que lea x cantidad de números, hasta que su suma sea mayor a
200. Imprimir al final en una función la cantidad de números leídos, la suma y el promedio.
3.
Ciclo for. Realice una programa que utilice una función que reciba 2 números y calcule el primero a
la potencia del segundo usando el ciclo for, es decir, sin utilizar la función pow.
Código: GC-N4-017 Revisión: 4
Página 6 de 7
Fecha de efectividad: ______________________
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
PRÁCTICAS DEL DÍA VIERNES
1.
Ciclo do-while. Realizar un programa donde lea una fecha en formato numérico (día/mes/año) e
imprima el nombre del día de la semana que le corresponde, después pregunte si desea continuar,
en caso afirmativo pedir una nueva fecha, hasta indicar lo contrario.
La fórmula que permite conocer el día de la semana correspondiente a una fecha dada es:
Para meses de Enero o Febrero:
n=(a + 31 * (m - 1) + d +(a – 1)/ 4 – 3 * ((a + 99)/100)/4)-1
Para otros meses
n=(a+31*(m-1)+d – (4*m+23)/10 + a/4 - (3*(a/100+1))/4)-1
Dónde:
d=día, m=mes y a=año.
Nota:
n= n%7 indica el día de la semana (0=Domingo, 1=Lunes, etc.).
Utilizar una función que reciba cómo parámetros el día, mes y año, y regrese el valor de n.
2.
Ciclo while. Realice un programa que lea la edad de x cantidad de personas hasta que lea un valor
negativo e imprima al final dentro de una función cuántos son bebés de 0 a 3 años, cuántos son
niños de 4 a 12 años, cuántos son adolescentes de 13 a 17 años y cuántos son adultos de 18 años
o más.
3.
Ciclo for. Realizar un programa que utilice una función que reciba como parámetro un número
entero, calcule y regrese su factorial para imprimirlo en la función principal.
Ejemplo: 6! es: 6 *5* 4 * 3 * 2 * 1 = 720.
C. CÁLCULO (SI APLICA) Y REPORTE
El alumno deberá depurar sus programas para eliminar los errores de compilación, además deberá
ejecutarlos utilizando diferentes valores con la finalidad de poder comprobar si los resultados que se
obtienen son los esperados.
5. RESULTADOS Y CONCLUSIONES
El maestro revisará los programas proporcionando diferentes valores para determinar si el programa se
ejecuta correctamente.
6. ANEXOS
Ninguno.
7. REFERENCIAS
Ninguna.
Código: GC-N4-017 Revisión: 4
Página 7 de 7