[Inf 140] Estructuras Repetitivas Y Selectivas (1 X Hoja)

2,741 views
2,637 views

Published on

Published in: Lifestyle
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,741
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
92
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Inf 140] Estructuras Repetitivas Y Selectivas (1 X Hoja)

  1. 1. Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática “Algoritmos: Definiciones, Estructuras de Control” Asignatura INF 140 – Informática I Profesores Pamela Hermosilla Monckton Daniel Cabrera Paniagua Profesores PHM/DCP
  2. 2. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipos de Datos El principal objetivo de todo computador es el manejo de información o datos. Un dato es la expresión general que describe los elementos con los cuales opera un computador. Existen dos clases de tipos de datos: simples (sin estructura) y compuestos (estructurados) Los tipo de datos simples son los siguientes: Numéricos (entero, real) Datos Lógicos (booleano) Carácter (char, string) Numérico Carácter(es) Lógico Entero Real Profesores INF 140 – Informática I PHM/DCP
  3. 3. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Elementos Básicos : Constantes, Variables, Identificadores y Expresiones Constante Elemento o partida de datos cuyo valor no cambia durante el desarrollo del algoritmo (o ejecución del programa). Posición de memoria, referenciada por un identificador, que almacena un dato que permanece sin cambios durante el algoritmo (o ejecución del programa). Pueden ser de tipo: entera, real, caracter o lógica. Profesores INF 140 – Informática I PHM/DCP
  4. 4. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Variable Elemento o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo (o ejecución del programa). Posición de memoria, referenciada por un identificador, donde se almacena un dato que puede cambiar durante el algoritmo (o ejecución del programa). Pueden ser de tipo: entero, real, carácter o lógica. Una variable posee los siguientes atributos : 1. Identificador (asignado por el programador). 2. Tipo (describe su uso). Una variable definida de un cierto tipo sólo puede tomar valores de ese tipo. Profesores INF 140 – Informática I PHM/DCP
  5. 5. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Identificador Nombre que posee una variable o constante (ALGORITMO). • Compuesto por un conjunto de caracteres alfanuméricos (El primero es usualmente una letra). • Deben ser significativos y tener relación con el objeto que representan. • No se deben utilizar como identificadores palabras reservadas del lenguaje de programación. • Ejemplo : • Nombre_Alumno, X, Edad, Sueldo_Bruto……. Profesores INF 140 – Informática I PHM/DCP
  6. 6. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Expresiones Combinaciones de constantes, variables, símbolos de operación, paréntesis y funciones especiales. Una expresión consta de: operadores y operandos. Cada expresión toma un valor que se determina, de acuerdo a : • Los valores que posean las variables y constantes implicadas. • La ejecución de las operaciones involucradas. Según el tipo de objetos que se manipulan las expresiones se clasifican en : • Aritméticas • Lógicas Profesores INF 140 – Informática I PHM/DCP
  7. 7. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Expresiones Aritméticas • Análogas a las fórmulas matemáticas : – Las variables y constantes (operandos) que las componen son de tipo numérico (entero o real) – Sus operadores son aritméticos : suma, resta, multiplicación, división, división entera y resto. • Ejemplo : 5+3=8 Resultado Operando Operador Profesores INF 140 – Informática I PHM/DCP
  8. 8. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tabla de operadores Operador Significado Tipo Operando Tipo Resultado + Suma Entero/Real Entero/Real - Resta/Cambio Entero/Real Entero/Real Signo * Multiplicación Entero/Real Entero/Real / División Real Entero/Real Real DIV División Entera Entero Entero MOD Módulo o Resto Entero Entero Profesores INF 140 – Informática I PHM/DCP
  9. 9. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Reglas de Prioridad • Permiten determinar el orden en que se deben ejecutar las operaciones, cuando una expresión posee más de un operador. Orden de Prioridad • Las operaciones entre paréntesis se evalúan primero. • Si existen paréntesis anidados, las expresiones más internas tienen prioridad. • Ejemplo : ((5+3)+(4+8)/2)+1 Profesores INF 140 – Informática I PHM/DCP
  10. 10. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Orden de Prioridad en Operadores Aritméticos • Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad : 1. Cambio de Signo ( - ) 2. Multiplicación , División, División Entera y Resto (*, /, DIV, MOD) 3. Suma y Resta (+,-) • OBS : Si coinciden varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de evaluación es de izquierda a derecha. • Ejemplo : ((8-7+3) + (4*6/2)) Profesores INF 140 – Informática I PHM/DCP
  11. 11. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Expresiones Lógicas • Un segundo tipo de expresiones son las de tipo lógica, que al ser evaluadas su resultado puede ser verdadero o falso. • Las expresiones lógicas se forman usando : • Operadores booleanos • Operadores relacionales o de comparación Profesores INF 140 – Informática I PHM/DCP
  12. 12. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Operadores Booleanos Operador Expresión Lógica Significado ¬ Negación de p ¬p ∧ Conjunción de P y Q P∧Q ∨ Disyunción de P y Q P∨Q Profesores INF 140 – Informática I PHM/DCP
  13. 13. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tablas de Verdad P Q P∧ Q P ¬P V V V V F V F F F V F F V F F F P Q P∨ Q V V V V F V F V V F F F Profesores INF 140 – Informática I PHM/DCP
  14. 14. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Operadores Relacionales • Permiten comparar valores de tipo numérico, carácter o lógico, y se usan para expresar condiciones dentro de los algoritmos. • Los operadores relacionales son : >, <, =, >=, <=, <> • SINTAXIS : <expresión 1> operador relacional <expresión 2> ⇓ RESULTADO : Verdadero o Falso. Profesores INF 140 – Informática I PHM/DCP
  15. 15. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Aplicación de los Operadores Relacionales • Se aplican sobre datos de tipo: entero, real, lógico y carácter. 1. Aplicación en valores numéricos. (CONOCIDA) EJEMPLO : Si A = 3 y B = 2 • A > B (VERDADERO) • A + B = 5 (VERDADERA) Profesores INF 140 – Informática I PHM/DCP
  16. 16. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Aplicación de los Operadores Relacionales 2. Aplicación en valores de tipo carácter. • Requiere de una secuencia de ordenación de los caracteres: – Alfabética (mayúsculas y minúsculas). – Creciente en caracteres numéricos. – Pero si se consideran caracteres especiales, se recurre a un código normalizado, por ejemplo, el código ASCII. Profesores INF 140 – Informática I PHM/DCP
  17. 17. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tabla ASCII (Código estándar americano para el intercambio de información ). Profesores INF 140 – Informática I PHM/DCP
  18. 18. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática – Aunque NO todos los computadores siguen el código normalizado en su juego completo de caracteres, sí son prácticamente estándar, los códigos de los caracteres alfanuméricos más usuales: • Caracteres especiales : # , % , $ , ( , ) , + , - , / etc... , exigen consultar el código de ordenación. • Caracteres Numéricos : se encuentran en su orden natural. (0...9) • Caracteres Alfabéticos : – Mayúsculas A...Z (orden alfabético). – Minúsculas a..z siguen el criterio anterior. Profesores INF 140 – Informática I PHM/DCP
  19. 19. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Aplicación de los Operadores Relacionales 3. Aplicación en valores de tipo lógico. • Constante FALSO es menor que la constante VERDADERA. Profesores INF 140 – Informática I PHM/DCP
  20. 20. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática • OBS : En las expresiones lógicas se pueden mezclar operadores relacionales y lógicos. Ejemplo : ( 1 > 5 ) ∧ ( 8 <> 9 ) Profesores INF 140 – Informática I PHM/DCP
  21. 21. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Prioridad de Operadores en Expresiones Lógicas – Prioridad 1 : ¬ – Prioridad 2 : ∧ – Prioridad 3 : ∨ – MENOR PRIORIDAD QUE TODOS LOS OPERADORES : Relacionales ( <, >, <=……) – TAMBIEN SE USAN PARÉNTESIS (MAYOR PRIORIDAD QUE TODOS) Profesores INF 140 – Informática I PHM/DCP
  22. 22. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejemplos • ¬ 4 > 6 ERROR!!!!!! • ¬ ( 4 > 6 ) = VERDADERO • Si X = 7 , Z = 4 (1 < X) ∧ (X < Z + 7) CUAL ES EL VALOR DE ESTA EXPRESIÓN???? Profesores INF 140 – Informática I PHM/DCP
  23. 23. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Resolución de Problemas • 3 fases básicas: – Análisis del Problema – Diseño del Algoritmo – Codificación del Algoritmo en un LP Profesores INF 140 – Informática I PHM/DCP
  24. 24. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis del Problema • AYUDA a tener una compresión de la naturaleza del problema. – PROBLEMA bien definido → solución satisfactoria. – Especificaciones de entrada y salida descritas con detalle. SON REQUISITOS fundamentales para una solución eficaz. Profesores INF 140 – Informática I PHM/DCP
  25. 25. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis del Problema • El análisis del problema requiere de una primera lectura, para tener una idea general. • Una segunda lectura nos permitirá responder las siguientes preguntas : – ¿ Qué datos se necesitan para resolver el problema ? ENTRADA – ¿ Qué información debe proporcionar la resolución del problema ? SALIDA Profesores INF 140 – Informática I PHM/DCP
  26. 26. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática EJEMPLO : Análisis del Problema • Calcular promedio de 3 Notas Entrada : 3 Notas Proceso: Suma aritmética de las Notas dividido por el Total de Notas Salida : Promedio de Notas Profesores INF 140 – Informática I PHM/DCP
  27. 27. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Diseño del Algoritmo => Pseudocódigo • Computador sólo resuelve problemas cuando : se le indican los pasos sucesivos que debe ejecutar (ALGORITMO). • Técnicas de Diseño : – Diseño Descendente (DIVIDE y VENCERAS) – Refinamiento Sucesivo (Primeros pasos INCOMPLETOS- GENERALES) • ALGORITMO debe ser representado a través de alguna técnica que permita independizarlo del lenguaje de programación que se seleccionará para codificarlo. • La técnica de representación puede ser : – Descriptiva (PSEUDOLENGUAJE) – Gráfica (Diagrama de Flujo, Diagrama de Nassi-Schneiderman) Profesores INF 140 – Informática I PHM/DCP
  28. 28. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Pseudocódigo • Lenguaje de especificación formal de algoritmos que permite representar las estructuras de control de la programación estructurada. • No puede ser ejecutado por un computador (debe ser traducido a un LP). • Compuesto por palabras reservadas, similares a las de sus homónimos en los lenguajes de programación que permiten representar acciones. • Su escritura exige el uso de indentación. Profesores INF 140 – Informática I PHM/DCP
  29. 29. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática VENTAJAS Pseudocódigo • Programador se CONCENTRA en la LÓGICA y en las ESTRUCTURAS DE CONTROL, y no tanto en las REGLAS SINTÁCTICAS propias de los LP. • Fácil de modificar. • Fácil de traducir a LP. • Originalmente en Inglés , EN LA ACTUALIDAD en ESPAÑOL Profesores INF 140 – Informática I PHM/DCP
  30. 30. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática ¿Cómo escribir un ALGORITMO en pseudolenguaje? • La estructura de un algoritmo en pseudocódigo posee dos PARTES : – Cabecera – Bloque (Cuerpo) del Algoritmo Profesores INF 140 – Informática I PHM/DCP
  31. 31. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Cabecera • TODO algoritmo debe comenzar con una cabecera. • Acción simple que comienza con la palabra reservada ALGORITMO, seguida de un identificador. SINTAXIS : ALGORITMO <identificador> EJEMPLO : ALGORITMO Promedio_de_Notas Profesores INF 140 – Informática I PHM/DCP
  32. 32. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Cuerpo del Algoritmo • Es el resto del algoritmo y esta compuesto a su vez de 2 bloques : – Bloque de Declaraciones : contiene la declaración de las constantes y variables que serán utilizadas en el algoritmo. – Bloque de Pasos (Acciones o Instrucciones) : contiene las acciones que nos permitirán resolver el problema, para el cual fue diseñado el algoritmo, cada acción se escribirá en una línea independiente. Profesores INF 140 – Informática I PHM/DCP
  33. 33. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Bloque de Declaraciones : Declaración de Constantes • Esta sección comienza con la palabra reservada CONST (abreviatura de Constante) y su sintaxis es : CONST <identificador_constante_1> = <valor_1> <identificador_constante_2> = <valor_2> Valor determina Tipo : : <identificador_constante_N> = <valor_N> Ejemplo : CONST PI=3.141516 IVA=0.19 Profesores INF 140 – Informática I PHM/DCP
  34. 34. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Bloque de Declaraciones : Declaración de Variables • Esta sección comienza con la palabra reservada VAR (abreviatura de Variable) y su sintaxis es : Var <tipo 1> : <lista de variables (separadas por ,) > … <tipo j> : <lista de variables (separadas por ,) > Ejemplo : VAR real : x,y,z entero : a,b,c caracter : letra Profesores INF 140 – Informática I PHM/DCP
  35. 35. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Bloque de Acciones : Tipos de Instrucciones • Repertorio de instrucciones disponibles en cada lenguaje de programación es variable. • PERO …… Existen instrucciones básicas, comunes y soportadas por todos los lenguajes y que pueden ser utilizadas de forma general en la escritura de un algoritmo : – Instrucciones de Inicio-Fin. – Instrucción de Asignación. – Instrucción de Lectura. – Instrucción de Escritura. – Instrucciones de Bifurcación. Profesores INF 140 – Informática I PHM/DCP
  36. 36. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucciones de Inicio-Fin • La primera instrucción del bloque de acciones del algoritmo será INICIO y la última instrucción será FIN. INICIO <acción 1> <acción 2> <acción 3> : <acción n> FIN Profesores INF 140 – Informática I PHM/DCP
  37. 37. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Asignación <Valor> puede ser : una • Permite almacenar un valor en una variable. constante, una variable o el resultado de la • Operador de asignación : ← evaluación de una expresión. Sintaxis : < Identificador de Variable> ← <Valor> • La instrucción de asignación se ejecuta en dos pasos : 1. Se calcula el valor al lado derecho del operador de asignación. 2. El valor calculado se almacena en la variable cuyo nombre aparece a la izquierda del operador de asignación, sustituyendo el valor que esta tenía anteriormente (instrucción DESTRUCTIVA). Profesores INF 140 – Informática I PHM/DCP
  38. 38. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Asignación • Ejemplos : A←1 B←A+3 C ← B/2 Vocal ← ‘A’ • INICIALIZACIÓN DE UNA VARIABLE : Variables al ser declaradas tienen un valor indeterminado • INCOMPATIBILIDAD DE TIPOS Var entero : A Inicio A←0 A ← 5.56 Fin Profesores INF 140 – Informática I PHM/DCP
  39. 39. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Lectura • Instrucción de Lectura o entrada de datos, permite extraer uno o más valores desde un dispositivo de entrada (teclado, unidades de disco etc...) y almacenarlos en memoria en la(s) variable(s) indicada(s) dentro de la propia instrucción. • Sintaxis : Leer ( < lista_de_variables > ) ó Leer ( < variable_1 > ) Leer ( < variable_2 > ) Leer ( < variable_3 > ) • ¿ Cuál será el significado de la siguiente instrucción de lectura ? Leer(edad, peso) • Si se ingresan los valores 25 – 59.3 • NO SE PUEDEN LEER DATOS DE TIPO Lógico Profesores INF 140 – Informática I PHM/DCP
  40. 40. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Tipo de Instrucciones : Instrucción de Escritura • Instrucción de salida o escritura de resultados permite enviar resultados hacia dispositivos de salida (pantalla, impresora etc...). • Los datos enviados pueden ser constantes, variables, resultados de expresiones, mensajes o una mezcla de ellos separados en dicho caso por comas. • Sintaxis : Escribir ( < lista_de_expresiones > ) • ¿ Cuál será el significado de la siguiente instrucción de escritura ? Escribir(“HOLA”) Escribir(“promedio = ”, promedio) Escribir (“ A + B “, A+B) Profesores INF 140 – Informática I PHM/DCP
  41. 41. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Calcular el promedio de 3 notas. 1. Inicio 2. Leer nota 1 3. Leer nota 2 3. Leer nota 3 4. Asignar a suma_de_notas el resultado de nota1 + nota2 + nota3 5. Asignar a promedio el resultado de suma_de_notas / 3 6. Escribir resultado 7. Fin Algoritmo Calcular_Promedio Var real: nota1,nota2,nota3, suma_de_notas, prom Inicio leer (nota1) leer (nota2) leer (nota3) suma_de_notas nota1 + nota2 + nota3 prom suma_de_notas / 3 escribir(“promedio es: “,prom) Fin Profesores INF 140 – Informática I PHM/DCP
  42. 42. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras de control Las estructuras de control son las que permiten conducir el flujo del programa, existen dos tipos de estructuras de control las estructuras selectivas y las estructuras repetitivas. Estructuras selectivas Las estructuras selectivas se utilizan para tomar decisiones lógicas, también son llamadas estructuras de decisión o alternativas. Alternativa simple si <condicion> entonces si (numero MOD 2 = 0) entonces <accion 1> escribir(“número es par”) <accion 2> fin_si <accion n> fin_si Profesores INF 140 – Informática I PHM/DCP
  43. 43. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Alternativa doble si <condicion> si (numero MOD 2 = 0) entonces entonces <accion 1> escribir(“número es par”) si_no <accion n> escribir(“número es impar”) si_no fin_si <accion p> <accion z> fin_si Alternativa multiple segun_sea <expresion_E> hacer segun_sea dia MOD 7 hacer e1: <accion 1> 1: escribir(“el día es Lunes”) e2: <accion 2> 2: escribir(“el día es Martes”) e3: <accion 3> 3: escribir(“el día es Miércoles”) 4: escribir(“el día es Jueves”) en: <accion n> 5: escribir(“el día es Viernes”) fin_si 6: escribir(“el día es Sábado”) 0: escribir(“el día es Domingo”) fin_si Profesores INF 140 – Informática I PHM/DCP
  44. 44. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática si <condicion 1> Estructuras selectivas anidadas entonces si <condicion 2> Las estructuras selectivas si y si-sino entonces implican la selección de una de dos <accion 1> .. .. alternativas. Es posible utilizar la instrucción <accion n> si para diseñar estructuras de selección sino que contengan más de dos alternativas. <accion p> .. .. <accion s> fin_si si <condicion 1> entonces sino si <condicion 2> entonces si <condicion 3> <accion 1> entonces <accion 2> <accion f> .. .. <accion n> <accion k> sino fin_si <accion i> fin_si .. .. <accion z> fin_si fin_si Profesores INF 140 – Informática I PHM/DCP
  45. 45. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrollar un algoritmo que calcule el promedio simple de 3 notas, y que en base al resultado obtenido, muestre la situación final (aprobado-reprobado). Profesores INF 140 – Informática I PHM/DCP
  46. 46. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo determinar_Aprobacion_Reprobacion Var real: nota1,nota2,nota3, suma_de_notas, prom Inicio leer (nota1) leer (nota2) leer (nota3) suma_de_notas nota1 + nota2 + nota3 prom suma_de_notas / 3 escribir (“promedio es: “,prom) si (prom >= 40 ) entonces escribir (“Aprobado !!! … Felicitaciones !!!”) sino escribir (“Ánimo, hay otra oportunidad !!! ”) fin_si Fin Profesores INF 140 – Informática I PHM/DCP
  47. 47. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras repetitivas Las estructuras repetitivas se utilizan para repetir una o varias acciones un número determinado de veces. Mientras mientras (i< 10) hacer mientras <condicion> escribir(“el número es: ”, i) hacer <accion 1> i i+1 <accion 2> fin_mientras <accion n> fin_mientras Repetir repetir repetir <accion 1> escribir(“el número es:”, i) <accion 2> i i+1 hasta_que (i = 10) <accion n> hasta_que <condicion> Profesores INF 140 – Informática I PHM/DCP
  48. 48. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Desde desde v vi hasta vf [ incremento/decremento inc ] hacer <accion 1> <accion 2> <accion n> fin_desde Desde i 1 hasta 10 hacer escribir(“el número es:”, i) fin_desde Profesores INF 140 – Informática I PHM/DCP
  49. 49. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrollar un algoritmo que sume n números ingresados por un usuario, y luego muestre la suma de ellos. Profesores INF 140 – Informática I PHM/DCP
  50. 50. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Utilizando la estructura repetitiva “Mientras” Algoritmo sumar_numeros Var real: nuevo_numero, suma caracter: continuar Inicio continuar ‘s’ suma 0 mientras (continuar = ‘s’) hacer escribir (“Ingrese un número”) leer (nuevo_numero) suma suma + nuevo_numero escribir (“¿Desea continuar ingresando otro número? s = si ; n = no”) leer (continuar) fin_mientras escribir(“La suma total es: “,suma) fin Profesores INF 140 – Informática I PHM/DCP
  51. 51. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática ¿Y si utilizamos la estructura Repetir? Algoritmo sumar_numeros Var real: nuevo_numero, suma caracter: continuar Inicio continuar ‘s’ suma 0 repetir escribir (“Ingrese un número”) leer (nuevo_numero) suma suma + nuevo_numero escribir (“¿Desea continuar ingresando otro número? s = si ; n = no”) leer (continuar) hasta_que (continuar = ‘n’) escribir(“La suma total es: “,suma) Fin Profesores INF 140 – Informática I PHM/DCP
  52. 52. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrolle un algoritmo que calcule el factorial de un número X. Profesores INF 140 – Informática I PHM/DCP
  53. 53. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis (1) ¿Qué es el factorial de un número? Resp: Producto que resulta de multiplicar un número entero positivo por todos los números inferiores a él, llegando hasta el número 1. Ejemplos: 3! = 1 * 2 * 3 = 6 4! = 1 * 2 * 3 * 4 = 24 5! = 1 * 2 * 3 * 4 * 5 = 120 Profesores INF 140 – Informática I PHM/DCP
  54. 54. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis (2) ¿Cuáles son las entradas? Resp: un número entero positivo. ¿Cuáles son las salidas? Resp: un número entero positivo, producto de multiplicaciones sucesivas. Profesores INF 140 – Informática I PHM/DCP
  55. 55. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Análisis (3) ¿Cuál es el proceso? 4! = 1 * 2 * 3 * 4 = 24 2* 6* 24 Profesores INF 140 – Informática I PHM/DCP
  56. 56. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo calcular_factorial Var entero: numero, contador, factorial Inicio factorial 1 escribir (“Ingrese número para calcular factorial”) leer (numero) desde contador factorial + 1 hasta numero factorial factorial * contador fin_desde escribir (“ Factorial es: ”,factorial) Fin Profesores INF 140 – Informática I PHM/DCP
  57. 57. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras repetitivas anidadas Así como las instrucciones selectivas (de condición) se pueden anidar, de igual forma se pueden anidar estructuras de selección, es posible insertar un bucle dentro de otro mientras <condicion1> hacer mientras <condicion2> hacer desde v vi hasta vf hacer <accion 1> desde w wj hasta wg hacer <accion 2> <accion 1> <accion 2> <accion n> fin_mientras <accion n> fin_mientras fin_desde repetir fin_desde repetir <accion 1> <accion 2> <accion n> hasta_que <condicion2> hasta_que <condicion1> Profesores INF 140 – Informática I PHM/DCP
  58. 58. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras repetitivas anidadas (continuación) mientras <condicion1> hacer repetir <accion 1> <accion 2> <accion n> hasta_que <condicion2> fin_mientras repetir mientras <condicion-i> hacer <accion 1> <accion 2> <accion n> fin_mientras hasta_que <condicion-j> Profesores INF 140 – Informática I PHM/DCP
  59. 59. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrolle un algoritmo que permita calcular el promedio de n cantidad de notas, para m cantidad de asignaturas. Profesores INF 140 – Informática I PHM/DCP
  60. 60. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Algoritmo calcular_promedios Var entero: nota, suma_de_notas, contador_notas, prom carácter: nombre_asignatura, continuar, nueva_nota Inicio continuar ‘s’ mientras (continuar = ‘s’) hacer escribir (“Ingrese nombre de la asignatura”) leer (nombre_asignatura) suma_de_notas 0 contador_notas 0 repetir escribir (“Ingrese nota:”) leer (nota) suma_de_notas suma_de_notas + nota contador_notas contador_notas + 1 escribir (“¿Desea ingresar una nueva nota? s = si ; n = no”) leer (nueva_nota) hasta_que (nueva_nota = ‘n’) prom suma_de_notas / contador_notas escribir (“Asignatura: ”, nombre_asignatura) escribir (“Promedio: “,prom) escribir (“¿Desea ingresar una nueva asignatura? s = si ; n = no”?”) leer (continuar) fin_mientras fin Profesores INF 140 – Informática I PHM/DCP
  61. 61. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Diagramas de Flujo Decisión Terminal Implica elección Inicio o final de entre secuencias un algoritmo alternativas. Entrada/Salida Proceso Lectura de valores y Proceso diferente escritura de de los procesos E/S mensajes y Decisiones Profesores INF 140 – Informática I PHM/DCP
  62. 62. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras de Control: Diagrama de Flujo Iteración Secuencia Selección Profesores INF 140 – Informática I PHM/DCP
  63. 63. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Estructuras de Control: Diagramas de Nassi - Schneiderman Profesores INF 140 – Informática I PHM/DCP
  64. 64. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Ejercicio • Desarrollar un diagrama de flujo que permita calcular el promedio simple de 3 notas, y que en base al resultado obtenido, muestre la situación final (aprobado-reprobado). Profesores INF 140 – Informática I PHM/DCP
  65. 65. Pontificia Universidad Católica de Valparaíso Escuela de Ingeniería Informática Inicio Leer NOTA1, NOTA2, NOTA3 SUMA_NOTAS NOTA1 + NOTA2 + NOTA3 PROM SUMA_NOTAS / 3 escribir PROM PROM >= 40 escribir escribir “ ánimo, hay “Aprobado !” otra oportunidad ! ” Fin Profesores INF 140 – Informática I PHM/DCP

×