Práctica 4
Práctica 4
Práctica No. 4
Estructuras algorítmicas repetitivas, iterativas o cíclicas.(Tercer paradigma de la programación
estructurada)
Objetivo:
El alumno resolverá problemas con algoritmos o pseudocódigos, diagramas
de flujo y su representación gráfica con Pseint(opcional).
El alumno codificará programas que incluyan estructuras de control
iterativas o repetitivas en lenguaje C.
Introducción:
Introducción teórica
Una de las características de las computadoras que aumentan considerablemente su potencia es su capacidad para ejecutar
una tarea muchas veces con gran velocidad, precisión y fiabilidad. Las tareas repetitivas es algo que los humanos
encontramos difíciles y tediosas de realizar. En esta práctica se estudian las estructuras de control iterativas o repetitivas
que realizan la iteración de acciones. C y C++ soporta tres tipos de estructuras de control: los bucles while, for y do-while.
Estas estructuras de control o sentencias repetitivas controlan el número de veces que una sentencia o listas de sentencias
se ejecutan.
Sintaxis
while(condición)
{
acción 1;
acción 2;
.
acción n;
}
El comportamiento o el funcionamiento de una sentencia while es:
1. Se evalúa la condición.
2. Si condición es verdadera:
a) La acción especificada, declarada en el cuerpo del bucle, se ejecuta.
b) Vuelve el control al paso 1.
3. En caso contrario: el control se transfiere a la sentencia siguiente.
Las sentencias del cuerpo del bucle se repiten while que la expresión lógica (condición) sea
verdadera. Cuando se evalúa la expresión lógica y resulta falsa, se termina y se sale del bucle y se
ejecuta la siguiente sentencia del programa después de la sentencia while.
/*Ejemplo 1*/
#include <stdio.h>
#include <stdlib.h>
void main( ){
int i;
i = 1;//Contador iniciado a 1.
while(i<=10)
{
printf (“Hola Mundo!!!\n”);
i++;//incremento equivalente a i=i+1,i+=1;
}
getchar( );
/*Ejemplo 2*/
#include <stdio.h>
#include <stdlib.h>
void main()
{
int c,n;
printf(“Cu%cntas veces desea imprimir:”,160);
scanf(“%d”,&n);
c = 1;
while(c<=n)
{
printf(“%i.-Hola Mundo Cruel!!!\n”,c);
/*Ejemplo 3*/
#include<stdio.h>
#include<stdlib.h>
main()
{
system("color f4");
int alimentos, cuenta=0, i,n,cal;
printf("Cu%cntos alimentos has comido hoy?",160);
scanf("%d",&alimentos);
i=1;
while(i<=alimentos)
{
printf("Alimentos%d:",i);
scanf("%d",&cal);
cuenta+=cal;
i++;
}
printf("Las calor%cas totales consumidas hoy son:%d",161,cuenta);
printf("\n");
getchar();
return 0;
}
La sentencia “for”
Además del bucle while, C y C++ proporciona otros dos tipos de bucle: for y do/while. El bucle for
es el más adecuado para implementar bucles controlados por contador que son bucles en los que un
grupo de sentencias se ejecutan una vez por cada valor de un rango especificado, de acuerdo al
algoritmo. La sentencia for es un método para ejecutar un bloque de sentencias un número fijo de
veces. El bucle for se diferencia del bucle while en que las operaciones de control de bucle se sitúan
en un solo sitio: la cabecera de la sentencia.
/*Ejemplo 4*/
#include <stdio.h>
#include <stdlib.h>
void main( )
{
int i;
for(i=1; i<=10; i++)
printf(“Hola Mundo!!!\n”);
getchar( );
}
/*Ejemplo 5*/
#include <stdio.h>
#include <stdlib.h>
void main()
{
int c,n;
printf(“Cu%cntas veces desea imprimir:”,160);
scanf(“%d”,&n);
c = 1;
for(i=1;i<=n;i++)
{
printf(“%i.-Hola Mundo Cruel!!!\n”,c);
El bucle “do-while”
La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos una
vez aunque la condición que evalúa sea falsa. Esta situación suele dar en algunas circunstancias en
las que se ha de tener la seguridad de que una determinada acción se ejecutará una o varias veces
por lo menos una vez.
Sintaxis
do
{
acción;
} while (condición);
La construcción do comienza ejecutando acción. Se evalúa a continuación condición. Si condición
es verdadera, entonces se repite la ejecución de acción. Este proceso continúa hasta que condición
sea falsa. La semántica del bucle do se representa gráficamente en la siguiente figura:
/*Ejemplo 7*/
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i;
i = 1;
do
{
cout<<"Hola mundo!!!\n";
i++;
}while(i <= 10);
getchar();
/*Ejemplo 8*/
#include<stdio.h>
#include <stdlib.h>
void main()
{
int i,n;
printf(“Cuantas veces desea imprimir: “);
scanf(“%i”,&n);
i = 1;
do
{
printf(“%di.-Hola mundo!!!”);
i++;
}while(i <= n);
getchar( );
return 0;
}
resultado = 1;
while(factorial > 1) {
resultado=resultado*factorial;
//resultado *= factorial; /*Forma equivalente.*/
printf(" %? x",factorial);
factorial--;
}
printf(" 1 = %?\n\n",resultado);
getchar();
return 0;
}
{
“Mostrar posibles salidas en pantalla.”
/*Práctica 2*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
system("color f4");
int num,i=1,div=0;
printf("Introduce un n%cmero: ",163);
scanf("% ",num);
while(i<= ?){
if(num% ? ==0)
div++;
i++;
}
if(div ? 2)
{
printf("El n%cmero %d si es primo",163,num);
}
else
{
printf("El n%cmero %d no es primo",163,num);
}
getchar();
return 0;
3. Escribe un programa que calcule la serie de Fibonacci con ciclo de control do-while, a
partir del pseudocódigo de la página 118 de las hojas enviadas por el profesor. Mostrar salida
en pantalla.
4.- Hacer el ejemplo 4.11(pág.123) de las hojas enviadas por el profesor. Mostrar el código en
c y posibles salidas en pantalla. Utilizar el ciclo adecuado.
5.- Realizar un programa que muestra la tabla de multiplicar del número deseado y repetir
tantas veces el proceso. Realizar anidamiento de do-while con for. Interpretar el siguiente
pseducódigo y hacer la traducción al código en c. Mostrar salidas en pantalla.
1.- Inicio.
2.- Leer o definir variables: c, número de tipo entero.
continuar de tipo char.
3.- Repite (do)
leer o introducir número
leer o mostrar “La tabla de multiplicar del número elegido es:”.
//Anidamiento
Desde (for) c=1 hasta 10.
Imprimir o mostrar: numero, c, producto(c*número)
//fin del anidamiento.
Imprimir o mostrar: Desea continuar?
fflush(stdin)//Función que se sugiere introducir y se pide investigar qué hace.
Leer seguir.
Hasta continuar ¡=’n’
Fin de Repite
4.- FIN
Cuestionario