Issuu on Google+

Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

ESTRUCTURAS DE REPETICIÓN  Permite repetir una acción o grupos de acciones.  Puede establecerse el número de iteraciones o puede depender de la evaluación de una condición CONCEPTOS Contador: es una variable cuyo valor aumenta o disminuye secuencialmente, según lo determina una cantidad específica. Se establece:  Incremento en 1 de un contador cont como cont++  Decremento en 1 de un contador cont como cont- Incremento en n de un contador cont como cont+=n  Decremento en n de un contador cont como cont-=n Acumulador: es una variable que “acumula” valores a partir de sus valores anteriores. Esta variable se involucra en la expresión, como parte del valor a acumular y como valor final. Se establece:  Incremento de un acumulador acum en un valor n como acum+=n (acum=acum+n)  decremento de un acumulador acum en un valor n como acum-=n (acum=acum-n) ESTRUCTURA “PARA” Esta estructura permite la repetición de una o un grupo de acciones, determinado número de veces. SINTAXIS PARA ([inicio del contador] ; [condición] ; [cambio del valor del contador]){ Acción 1; Acción 2; : Acción n; }  La estructura PARA es controlada por el contador y el valor booleano de la condición  [inicio del contador] es la parte de la estructura en la que se asigna un valor inicial al contador  La [condición] es analizada cada vez que la estructura ejecuta las acciones: si su resultado es ver-

dadero, el ciclo continua; si el resultado de la condición es falso, el ciclo es abortado.  [cambio del valor del contador] modifica, iterativamente, el valor de la variable que actúa como contador


Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

EJEMPLOS 1. Imprimir una lista de los primeros 10 números enteros positivos, uno en cada línea

2. Imprimir una lista de los primeros 10 números pares positivos, uno en cada línea

Datos Variable para guardar los números y poder imprimirlos (entero num)

Datos Variable para guardar los números y poder imprimirlos (entero num)

Información Lista de números del 1 al 10 Valor inicial de num para generar la lista Valor de incremento de num

Información Lista de los 10 primeros número pares positivos Valor inicial de num para generar la lista Valor de iteración de num Expresión para calcular los números pares

Condiciones num<=10 Procedimiento  Creación de la variable que contendrá los valores de la lista (entero num=0)  Valor inicial de num=1 Bloque 1  Evaluar condición para el valor actual de num (num<=10)  Valor V: imprimir el valor de num  Incrementar el valor de num en 1

Condiciones num<=10 Procedimiento  Creación de una variable para generar una lista de números (entero num=0)  Valor inicial de num=1 Bloque 1  Evaluar condición para el valor actual de num (num<=10)  Valor V: imprimir el valor de num*2  Incrementar el valor de num en 1

 Valor F: salir de la estructura  Valor F: abortar la estructura  Se repite el “Bloque 1” hasta abortar la estructura  Finaliza la solución

 Se repite el “Bloque 1” hasta abortar la estructura  Finaliza la solución

PSEUDOCÓDIGO

PSEUDOCÓDIGO

INICIO ALGORITMO Numeros{ //Declaración de variables entero numero=0;

INICIO ALGORITMO NumerosPares{ //Declaración de variables entero numero=0; IMPRIMA (“Números Pares”); PARA (numero=1 ; numero<=10 ; numero++){ IMPRIMA(“Par “+numero+” = “+numero*2+”\n”); } }FIN ALGORITMO Numeros

// Utilización de la estructura PARA para generar la lista PARA (numero=1 ; numero<=10 ; numero++) { IMPRIMA(numero+”\n”); } }FIN ALGORITMO Numeros


Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

EJEMPLOS 3. Imprimir una lista de los primeros 5 números enteros positivos, uno en cada línea y calcular su suma

Datos Variable para guardar los números y poder imprimirlos (entero num) Información Lista de los primeros 5 entero positivos Valor inicial de num para generar la lista Valor de iteración de num Expresión para calcular los pares Utilización de un acumulador para guardar las sumas parciales (suma)

Condiciones num<=5 Procedimiento  Creación de una variable para generar una lista de números (entero num=0)  Creación de una variable para guardar la suma de los números (suma=0)  Valor inicial de num=1 Bloque 1  Evaluar condición para el valor actual de num (num<=5)  Valor V: imprimir el valor de num Acumular los valores de suma (suma=suma+num)  Incrementar el valor de num en 1  Valor F: abortar la estructura  Se repite el “Bloque 1” hasta abortar la estructura  Se imprime el valor de la suma  Finaliza la solución PESUDOCÓDIGO INICIO ALGORITMO SumaNumeros{ //Declaración de variables entero num = 0; entero suma = 0; PARA (num=1 ; num<=5 ; num++){ IMPRIMA(num+”\n”); suma=suma+num; } IMPRIMA (“Suma de números: “+suma); }FIN ALGORITMO SumaNumeros

Ejercicios: 1.Determinar e imprimir el promedio de n números enteros. 2.Generar n términos de la serie 1/2, 3/4, 5/6, 7/8, 9/10, … 3.Generar la serie -20, 19, -18, 17, -16, …., -4, 3, -2, 1 4.Capturar n cantidad de números y determinar el mayor de ellos 5.Capturar las notas finales de un curso y determinar: a.El número de estudiantes que perdieron la asignatura b.El número de estudiantes que ganaron la asignatura c.El promedio general de las notas del curso 6. Dado un número entero, calcular su factorial


Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

ESTRUCTURA MIENTRAS  Permite repetir una acción o grupo de acciones “mientras” se cumpla cierta condición  Si la condición es inicialmente falsa, la estructura nunca se ejecuta SINTAXIS MIENTRAS ([condición]){ Acción 1; Acción 2; : Acción n; }  Es importante destacar que el resultado de la condición debe ajustarse, de acuerdo con la lógica del

algoritmo, antes de la estructura y dentro de la estructura. EJEMPLO Leer dos números enteros y calcular su producto. Tal procedimiento se podrá realizar tantas veces lo requiera el usuario Datos Creación de variables para capturar los números (entero numero1, numero2) Creación de variable para capturar el caracter que controla la repetición del proceso (caracter opcion) Información Variable para guardar el resultado del producto (entero resultado) Condición opcion = = „s‟ || opcion = = „S‟ Procedimiento El proceso de: Capturar los dos números Calcular el resultado (resultado = numero1 * numero2) Imprimir el resultado Decidir si desea calcular otro producto Se repite mientras sea positiva la decisión de “calcular otro producto”, en caso contrario se aborta la estructura y se finaliza la solución


Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

EJEMPLO Leer dos números enteros y calcular su producto. Tal procedimiento se podrá realizar tantas veces lo requiera el usuario PSEUDOCÓDIGO

INICIO ALGORITMO Producto{ //Declaración de variables entero numero1=0; entero numero2=0; entero resultado=0; caracter opcion=“”; //iniciación del valor de la variable “opcion”, que afecta la condición opcion = “s”; MIENTRAS (opcion==“s” || opcion==“S”){ // Requerimiento de datos IMPRIMA(“Digite un número : “); LEA(numero1); IMPRIMA(“Digite un número : “); LEA(numero2); // Cálculo resultado=numero1*numero2; //Impresión de resultados IMPRIMA(numero1+” * “+numero2+” = “+resultado); //Control del valor de la condición IMPRIMA(“Desea calcular otro producto?(s/n): “); LEA(opcion); } }FIN ALGORITMO Producto EJERCICIOS (MIENTRAS) 1. Calcular el factorial de un número capturado. 2. Capturar una lista de números y determinar su media aritmética. Validar la entrada de la cantidad de números para valores menores o iguales a cero


Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

ESTRUCTURA HAGA MIENTRAS  

Permite repetir una acción o grupo de acciones “mientras” se cumpla cierta condición La condición es evaluada al final de la estructura, por lo tanto la estructura se ejecuta al menos una vez

SINTAXIS HAGA{ Acción 1; Acción 2; : Acción n; }MIENTRAS ([condición]); EJEMPLO

Simule una administración sencilla de una cuenta bancaria con tres dos movimientos: retiro, consignación y consulta, teniendo como saldo inicial $0. Datos Variables para: Inicializar saldo (doble saldo) Seleccionar movimiento de un menú de opciones (caracter movimiento) Información Variables para: Controlar los valores del saldo después de un movimiento (ya creada) Guardar valores de las consignaciones (doble consignacion) Guardar valores de los retiros (doble retiro) Condiciones movimiento != „d‟ || movimiento != „D‟ Procedimiento Desplegar un menú de opciones con las siguientes características: Menú de Transacciones A. Retiro B. Consignación C. Consulta D. Salir Escoja el movimiento: Cada opción permite capturar el valor del movimiento y calcular el nuevo saldo para luego volver a desplegar el menú de opciones. Esto se hace hasta que el usuario escoja la opción „D‟, para finalizar la solución


Facultad de Ingeniería Departamento de Ciencias de la Información

INFORMÁTICA 1 532219 Fabián Lasso

EJEMPLO Simule una administración sencilla de una cuenta bancaria con tres dos movimientos: retiro, consignación y consulta, teniendo como saldo inicial $0. PSEUDOCÓDIGO

INICIO ALGORITMO Cuenta{ //Declaración de variables doble saldo=0.0; caracter movimiento=“”; doble consignacion=0.0; doble retiro=0.0; HAGA{ IMPRIMA (“Menú de Transacciones”); IMPRIMA (“A. Retiro \n B. Consignación \n C. Consulta \n D. Salir”); IMPRIMA (“Escoja el movimiento: “); LEA (movimiento); SEGÚN (movimiento){ CASO “A”: CASO “a”: IMPRIMA(“Cantidad a retirar: “); LEA (retiro); saldo = saldo-retiro; BREAK; CASO “B”: CASO “b”: IMPRIMA(“Cantidad a consignar: “); LEA (consignacion); saldo = saldo + consignacion; BREAK; CASO “C”: CASO “c”: IMPRIMA(“Su Saldo es: “+saldo); BREAK; CASO “D”: CASO “d”: BREAK OTRO CASO: IMPRIMA (“Opción incorrecta, vuelva a intentarlo”); } }MIENTRAS (movimiento!=“d” || movimiento!=“D”); }FIN ALGORITMO Cuenta


Informática 1 - parte 3