Vous êtes sur la page 1sur 63

Informática

Prof. Gonzalo Müller


gmullerb@mail.com
Facultad de Ingeniería
Universidad Central de Venezuela
Clase Anterior
 Pautas de curso.
 www.scribd.com/gmullerb
 Definición de Programador.
 Fases de la Programación.
 Metodología para resolución de un problema:
 Definición, Análisis, Diseño del algoritmo, Prueba
del Algoritmo e Implementación
 Algoritmo
 Definición, Características, Partes.
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 2
Representación de un algoritmo
 Existen básicamente tres formas de representar los
algoritmos:
 Pseudo código.
 Diagramas de Flujo.
 Diagramas Rectangulares Estructurados.

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


Representación de un algoritmo
 Pseudo Código (PC): Expresa a través de frases cada
uno de los pasos
 Casi código.
 Exige una adecuada indentación.
 Se debe enfocar a la lógica y no hay los detalles de
implementación.
 Es flexible.
 Permite una analogía que facilita la codificación.

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


Representación de un algoritmo
 Diagramas de Flujo (DF):
Constituyen una representación gráfica de la secuencia
de pasos a realizar.
 La operaciones se escriben con símbolos
normalizados.
 Las líneas de flujo indica la secuencia de ejecución.
 Pueden resultar inadecuados debido a que propicia
algoritmos no estructurados (excesivas líneas de
flujo).

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


Representación de un algoritmo
 Diagramas Rectangulares Estructurados (DRE):
Constituyen una representación gráfica de la secuencia
de pasos a realizar.
 La operaciones se escriben con símbolos
normalizados.
 También conocidos como: Diagramas de Nassi-
Schneiderman.
 Permiten mantener el orden.
 Permiten una analogía que facilita la codificación.

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


Representación de un algoritmo
 Símbolos Básico de un Diagramas de Flujo:
 Líneas de Flujo: Establece la dirección de la
secuencia de pasos
 Una línea de flujo con la dirección saliendo de un
bloque, se conoce como una línea de flujo de salida
del bloque.
 Una línea de flujo con la dirección entrando en un
bloque, se conoce como una línea de flujo de
entrada del bloque.

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


Representación de un algoritmo

 Bloque Terminal: Señala el inicio o el fin del


algoritmo.

Inicio

Fin

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


Representación de un algoritmo

 Bloque Terminal: Señala el inicio o el fin del


algoritmo.

Inicio

Nombre

Fin

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


Representación de un algoritmo

 Bloque Terminal: Señala el inicio o el fin del


algoritmo.

Nombre

El bloque inicio siempre tiene El bloque fin siempre tiene


solo una línea y es de salida solo líneas de entrada

Fin

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


Representación de un algoritmo

 Bloque Proceso: Se utiliza para indicar un proceso ó


operación.

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


Representación de un algoritmo

 Bloque Proceso: Se utiliza para indicar un proceso ó


operación.

El bloque de proceso siempre tiene una línea


de salida (puede tener varias de entrada)
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 12
Representación de un algoritmo

 Bloque Genérico Entrada-Salida: Indica una


operación de entrada salida sin especificar un
dispositivo especifico para realizar la operación.

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


Representación de un algoritmo

 Bloque Genérico Entrada-Salida: Indica una


operación de entrada salida sin especificar un
dispositivo especifico para realizar la operación.

El bloque entrada-salida siempre tiene una


línea de salida (puede tener varias de entrada)
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 14
Representación de un algoritmo

 Bloque de Decisión: Establece la dirección de los


subsecuentes pasos en función de una condición
dada.

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


Representación de un algoritmo

 Bloque de Decisión: Establece la dirección de los


subsecuentes pasos en función de una condición
dada.

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


Representación de un algoritmo

 Bloque de Decisión: Establece la dirección de los


subsecuentes pasos en función de una condición
dada.

El bloque de decisión siempre tiene dos


de salida (puede tener varias de entrada)
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 17
Representación de un algoritmo

 Conectores: Establece la conexión entre dos


bloques que espacialmente no puede ser
conectados.
 Se usan en pares.

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


Representación de un algoritmo
 Reglas de construcción de Diagramas de Flujo:
 Contiene un único bloque terminal que indica
inicio.
 Puede contener varios bloques terminal que indican
el final.
 Debe ser organizado de tal forma que la secuencia
sea leída de arriba abajo y de izquierda a derecha.

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


Representación de un algoritmo

 Cada bloque debe tener al menos una línea de flujo


de entrada, exceptuando el bloque de inicio.
 Cada bloque puede tener a lo sumo una línea de
flujo de salida, exceptuando el bloque de decisión.
 El bloque de decisión debe tener dos líneas de flujo
de salida.

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


Representación de un algoritmo
Ejemplo 2.1: Construir el diagramas de flujo para leer
y sumar dos números.

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


Representación de un algoritmo
 Reglas de construcción de DRE:
 Toda la secuencia de pasos se coloca dentro de un
rectángulo:

Paso 1

Paso 2

Paso n

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


Representación de un algoritmo
 En el primer bloque se debe colocar el nombre del
algoritmo.
 En el último bloque se debe colocar Fin.

Nombre

Paso 1

Paso 2

FIN

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


Representación de un algoritmo
Ejemplo 2.2: Construir el DRE para leer y sumar dos
números.

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


Estructuras básicas

 Todo algoritmo se construye con 3 estructuras


básicas:
 Secuencial.
 Selectiva.
 Repetitiva.

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


Estructura Secuencial
Un paso se ejecuta uno detrás de otro.

DF DRE

Paso 1
Paso 1

Paso 2 Paso 2

Paso n
Paso n

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


Estructura Secuencial
Ejemplo 2.3: Construir el DF y DRE para leer y sumar
dos números.

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


Estructura Selectiva
Una secuencia de pasos se ejecuta dependiendo de una
condición dada.

 También se le llama condicional.


 Dos tipos:
 Sencilla
 Doble

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


Estructura Selectiva
 Estructura Condicional Sencilla: Se ejecuta una
instrucción si la condición dada es verdadera.

DF DRE

F
Condición Condición
V
V
Paso
Paso

Ejemplo: fruta
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 29
Estructura Selectiva
 Estructura Condicional Sencilla: Se ejecuta una
instrucción si la condición dada es verdadera.

DF DRE

F
Condición Condición
V
V
Paso
Paso

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


Estructura Selectiva
Ejemplo 2.4: Construir el DF y DRE del algoritmo
para convertir un número en negativo si es positivo.

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


Estructura Selectiva

El paso contenido en las estructuras selectiva es ejecutado


SIEMPRE y cuando la condición sea VERDADERA

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


Estructura Selectiva
 Estructura Condicional Doble: Se ejecuta una de dos
de instrucciones dependiendo de la condición dada.

DF DRE

V F
Condición Condición
V F

Paso Paso’ Paso Paso’

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


Estructura Selectiva
Ejemplo 2.5: Construir el DF y DRE del algoritmo
para convertir un numero según la siguiente regla:
Sumar 1 si es negativo o Restar 1 de lo contrario.

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


Estructura Repetitiva
Una secuencia de pasos se repite en forma consecutiva
dependiendo de una condición dada.

 También se le llama Bucle o Lazo.


 Cada repetición se conoce como ciclo o iteración.
 Dos tipos:
 Hacer Mientras
 Se ejecuta al menos una vez la secuencia.
 Mientras
 Puede que nunca se ejecute la secuencia.
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 35
Estructura Repetitiva
 Estructura Repetitiva Hacer Mientras: Se repite una
instrucción mientras una condición dada sea
verdadera.
DF DRE

Paso Paso

Mientras (Condición)
Condición
V

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


Estructura Repetitiva
 Estructura Repetitiva Hacer Mientras: Se repite una
instrucción mientras una condición dada sea
verdadera.
DF DRE

Paso Paso

Mientras (Condición)
Condición
V

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


Estructura Repetitiva
Ejemplo 2.6: Se requiere leer un número no negativo.
Construir el DF y DRE del algoritmo para leer un
numero hasta que este sea válido, y presentar en la
salida.

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


Estructura Repetitiva
 Estructura Repetitiva Mientras: Se repite una
instrucción mientras una condición dada sea
verdadera.
DF DRE

F
Condición
Mientras (Condición)
V

Paso Paso

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


Estructura Repetitiva
 Estructura Repetitiva Mientras: Se repite una
instrucción mientras una condición dada sea
verdadera.
DF DRE

F
Condición
Mientras (Condición)
V

Paso Paso

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


Estructura Repetitiva
Ejemplo 2.7: Construir el DF y DRE de un algoritmo
para convertir un numero dado, incrementándolo de 2
de 2 mientras sea negativo.

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


Estructura Repetitiva

El paso contenido en una estructura repetitiva es ejecutado


SIEMPRE y cuando la condición sea VERDADERA

Las corridas en frío son de gran utilidad


para algoritmos con estructuras repetitivas

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


Representación de un algoritmo
 Cuadro comparativo:

DF DRE
Mantiene el
No Si
Orden
Fácil
No Si
codificación
Rápida
+/– +/–
Comprensión
Uso Sencillo Si Si

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


Metodología para resolución de un problema

Definición del
problema

Análisis del
problema

Diseño del
algoritmo

Prueba del
Algoritmo

Codificación
del Algoritmo
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 44
Corrida en frío
La corrida en frío permite realizar la prueba de un
algoritmo antes de pasar a la codificación.

 Una de las formas de realizar una corrida en frío es


utilizando una tabla.
 La tabla de corrida en frío debe contener:
1. Columnas para las datos utilizados.
2. Columnas para las condiciones.
3. Una columna de salida.

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


Corrida en frío
 Partiendo del Problema se definen una o más pruebas.
Se debe conocer de antemano o estimar que
resultados generan los datos de entrada para cada
prueba:

Entrada Salida
conocida esperada


Entrada Salida
conocida esperada

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


Corrida en frío
 Partiendo del Algoritmo se construye la Tabla:

Dato Condición Condición Condición


Dato 1 Dato 2
N 1 2 M Salida

… … … … … … … … …

Datos Condiciones

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


Corrida en frío
 Para cada prueba se debe ejecutar uno a uno los pasos
del algoritmo desde los valores de entrada hasta
obtener los valores de salida.

Entrada Salida Algoritmo


conocida esperada Correcto

Entrada Salida no Algoritmo


conocida esperada Incorrecto

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


Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario

1. Se realiza el análisis
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 49
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Entrada Salida
conocida esperada
2 1

-1 0

0 -1
2. Se definen las pruebas
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 50
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo
Convertidor
Leer n
n<0
V F
n=n+1 n=n-1
Escribir n
Fin 3. Se construye el algoritmo
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 51
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
n n<0 Salida
Leer n
n<0
V F
n=n+1 n=n-1
Escribir n
Fin 4. Se construye la tabla
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 52
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
Entrada n n<0 Salida
Leer n conocida
2
n<0
V F
n=n+1 n=n-1
Escribir n
Fin 5. Se realizan las corridas
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 53
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
Entrada n n<0 Salida
Leer n conocida
2 2
n<0
V F
n=n+1 n=n-1
Escribir n
Fin
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 54
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
n n<0 Salida
Leer n
2
n<0 2<0
V F
n=n+1 n=n-1
Escribir n
Fin
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 55
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
n n<0 Salida
Leer n
2
n<0 2<0
V F
F
n=n+1 n=n-1
Escribir n
Fin
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 56
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
n n<0 Salida
Leer n
2
n<0 2<0
V F
F
n=n+1 n=n-1
2-1
Escribir n 1

Fin
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 57
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
n n<0 Salida
Leer n
2 2
n<0 2<0
V F
F
n=n+1 n=n-1
2-1
Escribir n 1
1
Fin
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 58
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
n n<0 Salida
Leer n
2
n<0 2<0
V F
F
n=n+1 n=n-1
2-1
Escribir n
1
Fin … … …
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 59
Corrida en frío
Ejemplo: Realizar una corrida en frio para el algoritmo
del ejemplo 2.5.
Convertir un numero según la siguiente regla: Sumar 1
si es negativo o Restar 1 de lo contrario
Algoritmo Corrida en frío
Convertidor
Entrada n n<0 Salida
Leer n conocida
2 2
n<0 2<0
V F
F Salida
n=n+1 n=n-1 esperada
2-1
Escribir n
Fin …
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 60

1

1

Corrida en frío
Ejemplo 2.9: Realizar una corrida en frio para el
algoritmo del ejemplo 2.7.

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


Ejercicio
2. Para cada uno de los siguientes problemas:
a) Sumar 3 números.
b) Sumar 2 números si son iguales y los multiplique
de lo contrario.
c) Dividir 2 números, el menor entre el mayor.
d) Leer números hasta que el leído sea 5 y escribir en
la salida el último número.
e) Disminuir un número de 2 en 2 hasta que este sea
negativo y escribir resultado en la salida.
Realizar el análisis.
Construir el DF y el DRE.
Realizar una corrida en frío.
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 62
Resumen
 Representación de un algoritmo:
 Pseudo Código.
 Diagramas de Flujo.
 Diagramas de Rectangulares Estructurados.
 Estructura Secuencial.
 Estructura Selectiva:
 Sencilla
 Doble
 Estructura Repetitiva:
 Hacer Mientras
 Mientras
 Corrida en frío
Informática – Prof. Gonzalo Müller – Clase 2 – GM - 63