Pontificia Universidad Católica de Valparaíso
                                                                            ...
Pontificia Universidad Católica de Valparaíso                                                              Pontificia Univ...
Pontificia Universidad Católica de Valparaíso                                                                  Pontificia ...
Pontificia Universidad Católica de Valparaíso                                                                  Pontificia ...
Pontificia Universidad Católica de Valparaíso                                                                    Pontifici...
Pontificia Universidad Católica de Valparaíso                                                                    Pontifici...
Pontificia Universidad Católica de Valparaíso                                                                           Po...
Pontificia Universidad Católica de Valparaíso                                                                 Pontificia U...
Pontificia Universidad Católica de Valparaíso                                                        Pontificia Universida...
Pontificia Universidad Católica de Valparaíso                                                          Pontificia Universi...
Pontificia Universidad Católica de Valparaíso                                                            Pontificia Univer...
Próxima SlideShare
Cargando en…5
×

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

2.098 visualizaciones

Publicado el

Publicado en: Empresariales, Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
2.098
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
75
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

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

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

×