0% encontró este documento útil (0 votos)
45 vistas11 páginas

Práctica 4

Este documento presenta información sobre estructuras algorítmicas repetitivas en programación estructurada. Explica los bucles while, for y do-while en C y C++, y proporciona ejemplos de código. El objetivo es que los estudiantes aprendan a resolver problemas usando algoritmos con estructuras de control iterativas y codificar programas que las incluyan en C.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
45 vistas11 páginas

Práctica 4

Este documento presenta información sobre estructuras algorítmicas repetitivas en programación estructurada. Explica los bucles while, for y do-while en C y C++, y proporciona ejemplos de código. El objetivo es que los estudiantes aprendan a resolver problemas usando algoritmos con estructuras de control iterativas y codificar programas que las incluyan en C.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

Programación Estructurada

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);

c++; //Incrementos equivalentes c=c+1,c+=1;


}
getchar( );

/*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);

printf("Teclea las calor%cas de cada uno de tus alimentos!\n",161);

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.

for (inicialización; condición; incremento)


acción;
El bucle for contiene las siguientes partes:
1. Parte de inicialización: inicializa las variables de control del bucle.
2. Condición: Contiene una expresión lógica que hace que el bucle realice las iteraciones de las
sentencias, en tanto que la expresión se mantenga verdadera.
3. Parte de incremento: que incrementa o decrementa la variable de control del bucle.
4. Acciones: Acciones o sentencias que se ejecutarán por cada iteración del bucle.

/*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);

c++; //Incrementos equivalentes c=c+1,c+=1;


}
getchar( );

/*Ejemplo 3 Consumo de calorías!*/


#include<stdio.h>
#include<stdlib.h>
int main()
{
system("color f4");
int alimentos, cuenta=0, i,n,cal;
printf("Cu%cntos alimentos has comido hoy?",160);
scanf("%d",&alimentos);

printf("Teclea las calor%cas de cada uno de tus alimentos!\n",161);


for(i=1;i<=alimentos;i++){
printf("Alimentos%d:",i);
scanf("%d",&cal);
cuenta+=cal;
}
printf("Las calor%cas totales consumidas hoy son:%d",161,cuenta);
printf("\n");
getchar();
return 0;
}

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;
}

Desarrollo Práctico para evaluación:


1.Escriba un programa que calcule el factorial de un número, completando el siguiente código.
#librerías o bibliotecas.
int Main( )
{
//Cambiar color de pantalla.
long int resultado=0; //Variables de tipo long entero.
long int factorial; //Investigar cuántos bytes ocupa.

printf("Introduzca el n%cmero para calcular el factorial: ",163);


scanf(" %?", factorial);

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.”

2. Escriba un programa que determine si un número es PRIMO o no lo es, completando el siguiente


código.
/*Práctica 2*/

/*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;

“Mostrar dos Posibles salidas en pantalla.”

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

Llene cada uno de los siguientes espacios en blanco.


1. La estructura de repetición ( ) especifica que un enunciado o grupo de enunciados debe ser
ejecutado de forma repetidamente, en tanto cierta condición se mantenga verdadera.
2. La repetición de un conjunto de instrucciones un número específico de veces, se conoce como
una repetición ( ).
3. Cuando no se conoce por anticipado cuantas veces debe repetirse un conjunto de enunciados, se
puede utilizar un valor ( ) para terminar la repetición.
4. La repetición controlada por contador también se conoce como repetición ( ), por que se sabe
por anticipado cuántas veces se ejecutará el ciclo.
5. La repetición controlada por centinela también se conoce como ( ), por que no se sabe con
anticipación cuántas veces se ejecutará el ciclo.
Conclusiones individuales

También podría gustarte