Sie sind auf Seite 1von 58

Informática

Prof. Gonzalo Müller


gmullerb@mail.com
Facultad de Ingeniería
Universidad Central de Venezuela
Clase Anterior
 Representación de un algoritmo
 Pseudo Código.
 Diagramas de Flujo.
 Diagramas de Rectangulares Estructurados.
 Estructura Secuencial.
 Estructura Selectiva:
 Sencilla
 Doble
 Estructura Repetitiva:
 Mientras
 Hacer Mientras
 Corrida en frío
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 2
Estructura Compuesta
Es una combinación de estructuras secuenciales,
condicionales y repetitivas.
 Compuestas:
 Condicional Sencilla + Secuenciales
 Condicional Doble + Secuenciales
 Mientras + Secuenciales
 Hacer Mientras + Secuenciales

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 3


Estructura Selectiva
 Estructura Condicional Sencilla: Se ejecutan cierta
secuencia de instrucciones dependiendo de la
condición dada.
DF DRE

F Condición
Condición V

V
Paso 1
Paso 1 ... ...

Paso n
Paso n

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 4


Estructura Selectiva
 Estructura Condicional Sencilla: Se ejecutan cierta
secuencia de instrucciones dependiendo de la
condición dada.
DF DRE

F Condición
Condición V

V
Paso 1
Paso 1 ... ...

Paso n
Paso n

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 5


Estructura Selectiva
 Estructura Condicional Doble: Se ejecutan alguna de
dos secuencias de instrucciones dependiendo de la
condición dada.
DF DRE

V F Condición
Condición V F

Paso 1 Paso 1’
Paso 1 Paso 1’
... ...

Paso n Paso n’ Paso n Paso n’

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 6


Estructura Selectiva
Ejemplo: Construir el DF y DRE del algoritmo para
obtener las raíces de una ecuación cuadrática.

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 7


Estructura Repetitiva
 Estructura Repetitiva Hacer Mientras: Una secuencia
de paso se repite en forma consecutiva mientras se
cumpla una condición dada.
DF DRE

Paso 1
Paso 1
Paso n …
Paso n
Condición
V Mientras (Condición)
F

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 8


Estructura Repetitiva
 Estructura Repetitiva Mientras: Una secuencia de paso
se repite en forma consecutiva dependiendo de una
condición dada.
DF DRE

F
Condición Mientras (Condición)
V Paso 1
Paso 1

Paso n Paso n

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 9


Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en frío.

una sola variable

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 10


Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en frío.

Números
Escribir 100
Escribir 101
Escribir 102
Escribir 103
Fin

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 11


Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en frío.

Números
Escribir 100
Escribir 101
Escribir 102
Escribir 103
Fin

Los primeros 100 números ?

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 12


Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en
2º DRE
frío.
1º DRE Números
Números n = 100
Escribir 100 Escribir n
Escribir 101 n=n+1
Escribir 102 Escribir n
Escribir 103 n=n+1
Fin Escribir n
n=n+1
Escribir n
Fin
Los primeros 100 números ?
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 13
Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en
2º DRE
frío.
1º DRE Números
Números n = 100
Escribir 100 Escribir n
Escribir 101 n=n+1
Escribir 102 Escribir n
Escribir 103 n=n+1
Fin Escribir n
n=n+1
Escribir n
Fin

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 14


Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en
2º DRE
frío.
1º DRE Números 3º DRE
Números n = 100
Números
Escribir 100 Escribir n
n = 100
Escribir 101 n=n+1
Escribir n
Escribir 102 Escribir n
n=n+1
Escribir 103 n=n+1
Escribir n Mientras ( )
Fin
n=n+1 Fin
Escribir n
Fin

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 15


Estructura Repetitiva
Ejemplo: Construir el DF y DRE del algoritmo para
presentar los primeros 4 números enteros a partir de
100. Y realizar una corrida en
2º DRE
frío.
1º DRE Números 3º DRE
Números n = 100
Números
Escribir 100 Escribir n
n = 100
Escribir 101 n=n+1
Escribir n
Escribir 102 Escribir n
n=n+1
Escribir 103 n=n+1
Escribir n Mientras (n < 104)
Fin
n=n+1 Fin
Escribir n
Fin

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 16


Estructura Condicional Compuesta
Es una combinación de estructuras condicionales
sencillas y dobles.

 Compuestas: Sencillas + Dobles


 Anidadas
 Cascadas

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 17


Estructura Condicional Compuesta
 Estructura Condicional Anidada:
DF

V F
Condición 1

F
Paso 1 Condición 2
V
Paso n
Paso 1’

Paso n’

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 18


Estructura Condicional Compuesta
DRE

Condición 1
V F

Paso 1 Condición 2
V F

… Paso 1’

Paso n …

Paso n’
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 19
Estructura Condicional Compuesta
Ejemplo 3.1: Construir un algoritmo para convertir un
número dado: sume 2 si es negativo o reste 1 si es
positivo.

una sola variable

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 20


Estructura Condicional Compuesta
 Estructura Condiciona en Cascada:
DF

V
Condición 1 Secuencia 1

V
Condición 2 Secuencia 1’

F
Secuencia 1’’

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 21


Estructura Condicional Compuesta
DRE

Condición 1
V F

Paso 1 Condición 2
V F

… Paso 1’ Paso 1’’

Paso n … …

Paso n’ Paso n’’


Informática – Prof. Gonzalo Müller – Clase 3 – GM - 22
Estructura Condicional Compuesta
Ejemplo 3.2: Construir un algoritmo para convertir un
número dado: sume 2 si es negativo, reste 1 si es
positivo o asigne 10 si es 0.

una sola variable

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 23


Estructura Repetitiva Anidada
Es una combinación de estructuras repetitivas.
DF DRE

Paso 1 Mientras (Condición1)

Paso n Paso 1

Condición1 V
Paso n
F
Condición2 V
Mientras (Condición2)
F

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 24


Estructura Repetitiva Anidada
Ejemplo 3.3: Construir un algoritmo que dado N
escriba la siguiente secuencia:
1 2 3 … N – 1 N
1 2 3 … N – 1

1

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 25


Representación de un algoritmo

 Las líneas siempre debe ir del lado derecho.

… … …

DERECHA IZQUIERDA
DERECHA
• Condicional Sencilla • Repetitiva Hacer Mientras ÚNICA EXCEPCIÓN
• Repetitiva Mientras • Condicional Doble

LAS LÍNEAS DE FLUJO


NO PUEDEN CRUZARSE
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 26
Algoritmo Propio
Es aquel algoritmo que posee la siguientes
características:
 Tiene un punto de entrada.
 Tiene un sólo punto de salida.
 Todos los posibles caminos llevan desde el punto
de entrada al punto de salida.

 Termina tras un número finito de pasos.


 No tiene bucles infinitos.
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 27
Algoritmo Propio
Es aquel algoritmo que posee la siguientes
características:
 Debe producir al menos una salida o efecto.
 No contiene sentencias muertas.
 No existen ambigüedades.

Teorema de Böhm-Jacopini, 1966

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 28


Algoritmo Propio
 Puede ser diseño utilizando únicamente tres tipos
de estructuras:
 Secuencial
 Selectiva
 Repetitiva

 El PC y DRE facilitan el desarrollo de Algoritmos


Propios.

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 29


Algoritmo Propio
Ejemplo 3.4: El siguiente no es un algoritmo propio:
Paso 1: Hacer k = 1
Paso 2: Si (no estamos en la librería k)
Paso 2.1: Salir del lugar donde estamos.
Paso 2.2: Dirigirnos a la librería k.
Paso 3: Solicitar el libro
Paso 4: Si (no lo tiene)
Paso 4.1: Hacer k = k + 1
Paso 4.2: Ir al Paso 2 Bucle infinito
Paso 5: Cancelar el libro, Detener
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 30
Algoritmo Propio
Ejemplo 3.5: Este tampoco es un algoritmo propio:
Paso 1: Hacer una lista de n librerías
Paso 2: Hacer k = 1
Paso 3: Si ya visitamos todas las librerías (k > n), entonces:
Paso 3.1: No es posible encontrar el libro, Detener
Paso 4: Si no estamos en la librería k, entonces:
Paso 4.1: Salir del lugar donde estamos.
Paso 4.2: Dirigirnos a la librería k.
Paso 5: Solicitar el libro Puntos de salida
Paso 6: Si no lo tiene, entonces:
Paso 6.1: Hacer k = k + 1
Paso 6.2: Ir al Paso 3
Paso 7: Cancelar el libro, Detener
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 31
Constantes y Variables
 Constantes: Tienen un valor fijo a lo largo del
algoritmo.
 Variables: Pueden tomar diferentes valores a lo largo
del algoritmo.

Ejemplo 3.6:
Constantes

2
−b ± b − 4 ac
x =
2a Variables
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 32
Asignación
Establece un valor para una variable:
 Un valor constante.
 El valor de otra variable.
 Resultado de una expresión aritmética o lógica.
 Se utiliza el operador asignación = para la
asignación:
Variable = Valor
Siempre a la izquierda

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 33


Asignación
Ejemplo 3.7:
A = 24 ← Correcto
A=B ← Correcto (Asigna el valor de B a A)
A = (B + 1)/2 ← Correcto

24 = A ← Incorrecto
B=A ← Correcto (Asigna el valor de A a B)
(B + 1)/2 = A ← Incorrecto

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 34


Usos de las Variables
 Entre los usos más comunes de las que se utilizan en
un algoritmo se encuentran:

 Contadores.

 Acumuladores.

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 35


Usos de las Variables
 Contadores: Son variables cuyo valor se aumenta o
disminuye un valor constante cada vez que se produce
un determinado suceso o acción.
 Son variables enteras.
 Generalmente se utiliza en estructuras repetitivas.
Ejemplo 3.8:
 Número de estudiantes que retiran un bandeja en el
comedor universitario.
 Número de números enteros pares encontrados.
 Número de intersecciones entre curvas convexas.
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 36
Usos de las Variables
 El uso de los contadores consta de dos operaciones:
 Inicialización: se le asigna un valor inicial a la
variable.
Variable = Valor Inicial
 Usualmente antes del bucle.
 Conteo: Dadas las condiciones necesarias la variable
se aumenta o disminuye un valor constante.
Variable = Variable ± Constante

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 37


Usos de las Variables
 Acumuladores: Son variables cuyo valor se aumenta o
disminuye un valor determinado continuamente a lo
largo de un proceso dado.
Ejemplo 3.9:
 Cantidad de calorías consumidas en un día.
 Cantidad de dinero ahorrado en un mes.
 Cantidad de puntos acumulados en la materia de
programación.

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 38


Usos de las Variables
 El uso de los acumuladores consta de dos
operaciones:
 Inicialización: se le asigna un valor inicial a la
variable.
Variable = Valor Inicial
 Usualmente al comienzo del proceso.

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 39


Usos de las Variables
 Acumulación: Dadas las condiciones necesarias se la
variable se aumenta o disminuye un valor variable.
Variable = Variable ± Variable2
Variable = Variable * Variable2

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 40


Usos de las Variables
Ejemplo:
La cantidad de bandejas utilizadas en el comedor:

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 41


Usos de las Variables
Ejemplo:
La cantidad de bandejas utilizadas en el comedor:
Variable → bandeja

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 42


Usos de las Variables
Ejemplo:
La cantidad de bandejas utilizadas en el comedor:
Variable → bandeja
Inicialmente se han utilizado 0 bandejas:
bandeja = 0

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 43


Usos de las Variables
Ejemplo:
La cantidad de bandejas utilizadas en el comedor:
Variable → bandeja
Inicialmente se han utilizado 0 bandejas:
bandeja = 0
A medida que los usuarios toman una bandeja
incrementamos el valor de bandeja.
bandeja = bandeja + 1

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 44


Usos de las Variables
Ejemplo:
La cantidad de bandejas utilizadas en el comedor:
Variable → bandeja Contador
Inicialmente se han utilizado 0 bandejas:
bandeja = 0 Inicialización
A medida que los usuarios toman una bandeja
incrementamos el valor de bandeja.
bandeja = bandeja + 1 Conteo

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 45


Usos de las Variables
 Generalmente se utilizan en estructuras repetitivas:
Inicialización Variable = Valor Inicial


… Variable = Variable ± Constante
ó
Conteo o Acumulación Variable = Variable ± Variable2
Variable = Variable * Variable2
Mientras (Condición)

Establece la parada del bucle cuando:


• Se satisface una condición dada
• Se ha alcanzado el valor deseado para el Contador o Acumulador
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 46
Usos de las Variables
 Generalmente se utilizan en estructuras repetitivas:
Inicialización Variable = Valor Inicial
Nuevo Viejo
… Valor Valor

… Variable = Variable ± Constante


ó
Conteo o Acumulación Variable = Variable ± Variable2
Variable = Variable * Variable2
Mientras (Condición)
Nuevo Viejo
Valor Valor
Establece la parada del bucle cuando:
• Se satisface una condición dada
• Se ha alcanzado el valor deseado para el Contador o Acumulador
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 47
Usos de las Variables
 Generalmente se utilizan en estructuras repetitivas:
Inicialización Variable = Valor Inicial

… …

… …

Conteo o Acumulación Variable = Variable ± Variable2

Mientras (Condición) Mientras (Condición)

Se satisface una condición dada

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 48


Usos de las Variables
 Generalmente se utilizan en estructuras repetitivas:
Inicialización Variable = Valor Inicial

… …

… …

Conteo o Acumulación Variable = Variable ± Constante

Mientras (Condición) Mientras (Variable ? Valor)

Se ha alcanzado el valor deseado para el Contador o Acumulador

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 49


Variables
 Lista de Variables: Una vez desarrollado el algoritmo
es útil para la posterior implementación en el lenguaje
construir una lista con todas las variables utilizadas en
el algoritmo.

Variable

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 50


Variables
Ejemplo 3.10: Desarrollar un algoritmo para calcular
la media armónica de n números positivos. Identificar
contadores y acumuladores.
Construir la lista de variables.

Informática – Prof. Gonzalo Müller – Clase 3 – GM - 51


Variables
Ejemplo 3.10: Desarrollar un algoritmo para calcular
la media armónica de n números positivos. Identificar
contadores y acumuladores.
Construir la lista de variables.

Teoría Asociada:
media armónica: n/[1/x1+1/x2+···+1/xn]
Leyendo N
Sin leer N
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 52
Ejercicio
3.1 Para cada uno de los siguientes problemas:
a) Comer una hamburguesa.
b) Leer un libro.
c) Promediar n notas.
d) Bajar de peso.
e) Comer en el comedor universitario.
f) Graduarse de ingeniero.
g) Comprar el Libro 6 de Harry Potter.
Realizar el análisis.
Construir el DF, el DRE y LV.
Realizar una corrida en frío.
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 53
Ejercicio
3.2 Para cada uno de los siguientes problemas:
a) Sumar 2 números si son iguales y de lo contrario,
reste el mayor del menor.
b) Leer y escribir números hasta que el leído sea
mayor que 5.
Realizar el análisis,
Construir DF, DRE y LV,
Realizar una corrida en frío.
Identificar Contadores, Acumuladores, Inicialización,
Conteo y Acumulación
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 54
Ejercicio
3.2 Para cada uno de los siguientes problemas:
c) Disminuir un número de 2 en 2 hasta que este sea
negativo, presentado la secuencia en la salida.
d) Presentar la secuencia de los N números enteros
que preceden al 100: 100, 99, 98, 97, ...
Realizar el análisis,
Construir DF, DRE y LV,
Realizar una corrida en frío.
Identificar Contadores, Acumuladores, Inicialización,
Conteo y Acumulación
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 55
Ejercicio
3.2 Para cada uno de los siguientes problemas:
e) Promediar los negativos y promediar los no
negativos de un conjunto de números dados.
f) Hallar el producto de los negativos y el producto de
los positivos de un conjunto de números dados.
Realizar el análisis,
Construir DF, DRE y LV,
Realizar una corrida en frío.
Identificar Contadores, Acumuladores, Inicialización,
Conteo y Acumulación
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 56
Ejercicio
3.2 Para cada uno de los siguientes problemas:
g) Dados 2 números presentar la secuencia de
números entre el 1º número y el 2º número.
h) Sumar números hasta que los últimos dos números
leídos sean negativos.
Realizar el análisis,
Construir DF, DRE y LV,
Realizar una corrida en frío.
Identificar Contadores, Acumuladores, Inicialización,
Conteo y Acumulación
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 57
Resumen
 Combinación de Estructuras: Condicionales +
Secuenciales, Repetitivas + Secuenciales, Condicional
Compuestas: Anidadas y Cascadas, Estructura
Repetitiva Anidadas.
 Algoritmos Propios.
 Constantes y Variables.
 Asignación: =.
 Usos de las Variables:
 Contadores y Acumuladores.
 Lista de Variables.
Informática – Prof. Gonzalo Müller – Clase 3 – GM - 58

Das könnte Ihnen auch gefallen