Vous êtes sur la page 1sur 8

Estructuras iterativas Las instrucciones iterativas representan la ejecucin de instrucciones en ms de una vez.

Bucle mientras Artculo principal: Bucle while. El bucle se repite mientras la condicin sea cierta, si al llegar por primera vez al bucle mientras la condicin es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Diagrama de flujo instruccinmientras

que

muestra

el

funcionamiento

de

la

Bucle repetir Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se cumpla la condicin:

La estructura anterior equivaldra a escribir:

Bucle hacer El Bucle hacer se utiliza para repetir un bloque de cdigo mientras se cumpla cierta condicin.

Estructuras secuenciales La estructura secuencial es aquella en la que una accin sigue a otra en secuencia. Las operaciones se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. La asignacin de esto consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el valor. La asignacin se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constante a una variable (a 15) 2. Contador: Consiste en usarla como un verificador del nmero de veces que se realiza un proceso (a a + 1) 3. Acumulador: Consiste en usarla como un sumador en un proceso (a a + b) 4. De trabajo: Donde puede recibir el resultado de una operacin matemtica que involucre muchas variables (a c + b*2/4).
1.

Un ejemplo de estructura secuencial, como obtener la rea de un tringulo:

Inicio ... float b, h, a; printf("Diga la base"); scanf("%f", &b); printf("Diga la altura"); scanf("%f", &h); a = (b*h)/2; printf("El rea del tringulo es %f", a) ... Fin

Ejemplos: 1. PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programacin!!), qu debe haga el estudiante? ALGORITMO: Inicio Dormir haga 1 hasta que suene el despertador (o lo llame la mam). Mirar la hora. Hay tiempo suficiente? Si hay, entonces Baarse. Vestirse. Desayunar. Sino, Vestirse. Cepillarse los dientes. Despedirse de la mam y el pap. Hay tiempo suficiente? Si, Caminar al paradero. Sino, Correr al paradero. Hasta que pase un bus para la universidad haga : Esperar el bus

Ver a las dems personas que esperan un bus. Tomar el bus. Mientras no llegue a la universidad haga : Seguir en el bus. Pelear mentalmente con el conductor. Timbrar. Bajarse. Entrar a la universidad. Fin 2. PROBLEMA: Cambiar la rueda pinchada de un automvil teniendo un gato mecnico en buen estado, una rueda de reemplazo y una llave inglesa. ALGORITMO: Inicio PASO 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa. PASO 2. Ubicar el gato mecnico en su sitio. PASO 3. Levantar el gato hasta que la rueda pinchada pueda girar libremente. PASO 4. Quitar los tornillos y la rueda pinchada. PASO 5. Poner rueda de repuesto y los tornillos. PASO 6. Bajar el gato hasta que se pueda liberar. PASO 7. Sacar el gato de su sitio. PASO 8. Apretar los tornillos con la llave inglesa. Fin

3. PROBLEMA: Realizar la suma de los nmeros 2448 y 5746. ALGORITMO:

Inicio PASO 1. Colocar los nmeros el primero encima del segundo, de tal manera que las unidades, decenas, centenas, etc., de los nmeros queden alineadas. Trazar una lnea debajo del segundo nmero. PASO 2. Empezar por la columna ms a la derecha. PASO 3. Sumar los dgitos de dicha columna. PASO 4. Si la suma es mayor a 9 anotar un 1 encima de la siguiente columna a la izquierda y anotar debajo de la lnea las unidades de la suma. Si no es mayor anotar la suma debajo de la lnea. PASO 5. Si hay ms columnas a la izquierda, pasar a la siguiente columna a la izquierda y volver a 3. PASO 6. El nmero debajo de la lnea es la solucin. Fin Ejercicios: Ejercicio 1: Observa la siguiente secuencia de instrucciones: 1. 2. 3. 4. 5. 6. 7. A=5 B=7 C=2 A=A+B+C B=C/2 A=A/B+A^C Imprimir(A)

Ahora responde a las siguientes cuestiones: a) Qu valor contiene A despus de la cuarta instruccin? b) Qu valor contiene B despus de la quinta instruccin? c) Qu valor contiene A despus de la sexta instruccin? d) Qu valor imprime la ltima instruccin? e) Si en lugar de Imprimir(A) hubisemos escrito Imprimir(A) Qu aparecera? Ejercicio 2: Observa la siguiente secuencia de instrucciones:

1. 2. 3. 4. 5. 6.

A=5 B=7 C=1 D = (A == B) E = (A <> B) F = (MOD(B/A) >= C)

Ahora responde a las siguientes cuestiones: a) Qu valor contiene D despus de la cuarta instruccin? b) Qu valor contiene E despus de la quinta instruccin? c) Qu valor contiene F despus de la sexta instruccin? d) Cunto valen A, B y C despus de la ltima instruccin? Ejercicio 3: Observa la siguiente secuencia de instrucciones: 1. 2. 3. 4. 5. 6. leer(A) leer(B) leer(C) D = (A == B) E = (A <> B) F = (MOD(B/A) >= C)

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C a) b) c) d) Qu valor contiene D despus de la cuarta instruccin? Qu valor contiene E despus de la quinta instruccin? Qu valor contiene F despus de la sexta instruccin? Cunto valen A, B y C despus de la ltima instruccin?

Ejercicio 4: Observa la siguiente secuencia de instrucciones: 1. 2. 3. 4. 5. leer (A) resultado = 1 mientras (A>1) resultado = resultado * A A=A1

6. 7.

fin mientras imprimir(resultado)

Ahora responde a las siguientes cuestiones: a) Si en la primera instruccin se introduce un valor 2 en A Qu valor se imprime? b) Si en la primera instruccin se introduce un valor 3 en A Qu valor se imprime? c) Si en la primera instruccin se introduce un valor 4 en A Qu valor se imprime? d) Qu se est calculando? Ejercicio 5: Observa la siguiente secuencia de instrucciones: 1. 2. 3. 4. 5. 6. a) leer (A) Si (A>0) Imprimir (A,es positivo) Si no Imprimir (A,es negativo) Fin si

Describe, instruccin por instruccin, qu se est haciendo con este algoritmo. b) Qu pasa si A = 5? Y si A = - 100? c) Escribe otro algoritmo para distinguir mltiplos de 3 y compralo Ejercicio 6: Observa la siguiente secuencia de instrucciones: 1. 2. 3. 4. 5. 6. 7. leer (NumeroA) leer (NumeroB) Si (NumeroA < NumeroB) imprimir ("El mayor es:", NumeroB) si-no imprimir ("El mayor es:", NumeroA) fin-si

a) b) c) d)

Describe qu se est haciendo con este algoritmo. Qu pasa si NumeroA = 5 y NumeroB = - 100? Qu pasa si NumeroA = 10 y NumeroB = 100? Qu pasa si NumeroA = 10 y NumeroB = 10?

Vous aimerez peut-être aussi