clase10

Páginas: 6 (1324 palabras) Publicado: 19 de mayo de 2015
Estructuras de
Repetición
(Hacer-Mientras)
Material Original: Prof. Flor Narciso
Modificaciones: Prof. Andrés Arcia
Departamento de Computación
Escuela de Ingeniería de Sistemas
Facultad de Ingeniería
Universidad de Los Andes
15/05/05

Programación Digital I

1

Programación Digital I

2

Estructura de Repetición
“Hacer-Mientras”
La estructura “Hacer-Mientras” es una sentencia del tipo
“REPITAMIENTRAS” con la diferencia que evalúa la
condición al final del lazo y no al principio.
Las sentencias (una o más) del cuerpo del lazo se ejecutan
mientras que la condición (expresión lógica) es cierta.
Como se pregunta al final por la condición, el lazo se ejecuta
una o mas veces.
Si la condición nunca se hace falsa, las sentencias del cuerpo
del lazo se ejecutarán indefinidamente.

15/05/05Programación Digital I

3

Estructura de Repetición
“Hacer-Mientras”
Las variables que intervienen en la condición pueden
INICIALIZARSE antes de la primera ejecución del lazo o
durante ésta, ya que la evaluación de la condición se hace al
final de la estructura.
Hay que estar pendientes de MODIFICAR dentro del cuerpo
del lazo los valores de las variables que intervienen en la
condición. Lamodificación de estos valores debe estar en aras
de garantizar que en algún momento la condición se haga falsa
y el lazo pueda terminar su ejecución.

15/05/05

Programación Digital I

4

Estructura de Repetición
“Hacer-Mientras”: Ejemplos
Pseudocódigo en Español

Código en C

LAZO INFINITO:
hacer
Escribir (“A es mayor”)
mientras (A>=B)

do
{
printf(“A es mayor \n”);
} while (A>=B)

contador = 1exponente = 0
hacer
contador = contador * 2
exponente++
mientras (contador < 2048)
Si 2^exponente = contador
Escribir(“resultado correcto”)
Fin_Si

int contador = 1
int exponente = 0
do {
contador *= 2;
exponente++;
} while (contador <= 2048)
if (pow(2,exponente) == contador)
printf(“resultado correcto”);

15/05/05

Programación Digital I

5

Estructura de Repetición
“Hacer-Mientras”: EjemplosPseudocódigo en Español

Código en C

Escribir(“Para salir escriba un
número negativo”)
suma = 0.0
Leer(x)
Hacer
Si (x > 0.0)
suma = suma + x
Leer(x)
Fin_Si
Mientras (x > 0.0)

float suma=0.0;
printf(“Para salir escriba
un número negativo”);
scanf(“%f”,&x);
do
{
if (x>0.0)
{
suma+=x;
scanf(“%f”,&x);
}
} while (x>0.0)

15/05/05

Programación Digital I

6

Estructura de Repetición
“Hacer-Mientras”: Ejemplo 1#include

Corrida en frío

int main ()
{
int i = 1;
do
{
printf(“i = %i\n”,i);
i++;
} while ( i <= 3 );
printf(”Escribe los numeros 1,
2 y 3” endl;
}

15/05/05

Programación Digital I

Iteración

i

(0)

1

(1)

2

(2)

3

(3)

4

7

Estructura de Repetición
“Hacer-Mientras”: Ejemplo 2
Imprimir los números del 1 al 10
#include
int main ()
{
int num = 0;
do
{
num ++;
printf(“%i\n”,num);
} while (num < 10);
}
15/05/05

Programación Digital I

8

Estructura de Repetición
“Hacer-Mientras”: Ejemplo 3
Dados 10 números enteros que se introducirán por teclado, calcular la
suma de los números pares, cuántos números pares existen y la media
aritmética de los números impares.
Análisis E-P-S
Entradas: Diez números enteros
Proceso: Para cada número se debe
- Determinar si es par(número mod 2 = 0)
- Si es par si incrementa un contador de pares (CP) y se acumula
su valor en el acumulador de pares (AP).
- Si es impar se incrementa un contador de impares (CI) y se
acumula su valor en el acumulador de impares (AI).
- Calcular la media de impares (MI = AI/CI)
Salidas: suma de los números pares (AP Z), total de números pares (CP Z)
y media aritmética de los números impares (MI)
15/05/05

Programación Digital I

9

Estructura de Repetición
“Hacer-Mientras”:
Ejemplo
3
Algoritmo
0.
1.
2.
3.
4.
5.
6.

Inicio
conta = 0
CP = 0
CI = 0
AP = 0
AI = 0
Hacer
Leer (num)
Si (num mod 2 = 0) entonces
CP = CP + 1
AP = AP + num
sino
CI = CI + 1
AI = AI + num
fin_si

15/05/05

conta =

conta + 1

mientras (conta < 10)
7. Si (CI ≠ 0) entonces
media = AI/CI
Escribir (AP, CP, media)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Clase10
  • Clase10
  • Clase10
  • Clase10 Teoriagases
  • EstructuraDeDatos2 Clase10

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS