Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
[Inf 140] Estructuras Repetitivas Y Selectivas (4 X Hoja)
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
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
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
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
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
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.
¬ Negación de p
¬p
• Las expresiones lógicas se forman usando :
∧ Conjunción de P y Q
P∧Q
• Operadores booleanos
• Operadores relacionales o de comparación
∨ Disyunción de P y Q
P∨Q
Profesores Profesores
INF 140 – Informática I INF 140 – Informática I
PHM/DCP PHM/DCP
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
Tablas de Verdad Operadores Relacionales
P Q P∧ Q • Permiten comparar valores de tipo numérico, carácter o lógico, y se
usan para expresar condiciones dentro de los algoritmos.
P ¬P 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
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
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
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
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
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
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
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
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
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
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
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
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 ,) >
CONST <identificador_constante_1> = <valor_1>
…
<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.
INICIO
• PERO …… Existen instrucciones básicas, comunes y soportadas por
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
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
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
o el resultado de la A←1
• Operador de asignación : ← evaluación de una B←A+3
expresión.
C ← B/2
Sintaxis : < Identificador de Variable> ← <Valor>
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
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
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
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
si <condicion 1>
Estructuras selectivas anidadas
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
.. ..
<accion n> escribir(“número es impar”) alternativas. Es posible utilizar la instrucción
<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
segun_sea <expresion_E> hacer segun_sea dia MOD 7 hacer <accion 2> <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”)
sino
fin_si
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
12. 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
leer (nota1)
• Desarrollar un algoritmo que calcule el
leer (nota2)
leer (nota3)
promedio simple de 3 notas, y que en
suma_de_notas nota1 + nota2 + nota3
prom suma_de_notas / 3
base al resultado obtenido, muestre la
escribir (“promedio es: “,prom)
si (prom >= 40 ) entonces
situación final (aprobado-reprobado).
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
13. 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”
Algoritmo sumar_numeros
• Desarrollar un algoritmo que sume n
Var real: nuevo_numero, suma
caracter: continuar
números ingresados por un usuario, y
Inicio
continuar ‘s’
luego muestre la suma de ellos.
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?
Algoritmo sumar_numeros • Desarrolle un algoritmo que calcule el
Var real: nuevo_numero, suma
caracter: continuar factorial de un número X.
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
14. 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
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
Var entero: numero, contador, factorial
¿Cuál es el proceso? Inicio
factorial 1
escribir (“Ingrese número para calcular factorial”)
leer (numero)
4! = 1 * 2 * 3 * 4 = 24
desde contador factorial + 1 hasta numero
factorial factorial * contador
fin_desde
escribir (“ Factorial es: ”,factorial)
Fin
2*
6*
24
Profesores Profesores
INF 140 – Informática I INF 140 – Informática I
PHM/DCP PHM/DCP
15. 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
carácter: nombre_asignatura, continuar, nueva_nota
Inicio
Ejercicio continuar ‘s’
mientras (continuar = ‘s’) hacer
escribir (“Ingrese nombre de la asignatura”)
leer (nombre_asignatura)
• Desarrolle un algoritmo que permita suma_de_notas 0
contador_notas 0
calcular el promedio de n cantidad de repetir
escribir (“Ingrese nota:”)
notas, para m cantidad de asignaturas. 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
16. 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:
Diagramas de Nassi - Schneiderman 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 Profesores
INF 140 – Informática I INF 140 – Informática I
PHM/DCP PHM/DCP
17. 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