16
FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

Embed Size (px)

Citation preview

Page 1: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

FUNDAMENTOS DE PROGRAMACIÓN

SEMANA 01-B

Representación de Algoritmos

Page 2: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

OBJETIVOS

En esta lección aprenderá a:

• Definir un algoritmo y sus características.• Diseñar algoritmos en diferentes niveles.• Identificar símbolos de diagramas de flujo.• Dibujar diagramas de flujo e identificar sus ventajas y desventajas.• Diseñar pseudocódigos e identificar sus ventajas y desventajas..

Page 3: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

INTRODUCCIÓN A LOS ALGORITMOS

• Un algoritmo es una secuencia de pasos necesarios para llevar a cabo una tarea, logrando un resultado.

• Todo algoritmo tiene 3 partes:

Fase de entrada de datos.

Fase de procesamiento.

Fase de salida de datos.

• Estas fases juntas constituyen el ciclo de

Entrada – Procesamiento y Salida.

( IPO: Input Process Output ).

Page 4: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

CARACTERÍSTICAS DE UN ALGORITMO

• Un algoritmo tiene las siguientes cinco categorías:• Un algoritmo acaba después de un número de pasos predeterminado.• En cada paso de un algoritmo se especifica claramente las acciones a

realizar.• Los pasos en un algoritmo especifican operaciones básicas. Estas

operaciones pueden incluir cálculos matemáticos, funciones de entrada/salida de datos y comparaciones lógicas.

• El algoritmo tendría que aceptar la entrada de datos en un formato definido, antes de que pueda procesarse con las instrucciones dadas.

• Un algoritmo genera una o más salidas tras el procesamiento de la entrada de datos.

Page 5: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

REPRESENTANDO ALGORITMOS

• Los algoritmos pueden representarse de 2 formas (las mas usadas):

A.Pseudocódigos.

B.Diagramas de flujo.

Page 6: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

DIAGRAMAS DE FLUJO

• Los diagramas de flujo son representaciones gráficas de algoritmos.• Un diagrama de flujo consta de símbolos, que representan los pasos o

estados del algoritmo. Cada símbolo representa un tipo de actividad.• Los diferentes símbolos usados en un diagrama de flujo son:

Inicio / Fin. Entrada / Salida. Proceso. Decisión. Línea de Flujo. Conector de Página. Procedimiento / Subrutina. Visualización.

Page 7: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

SIMBOLOS

Inicio / Fin

Ingreso / Salida

Proceso

Decisión

Conector

Pasos o Flechas de flujo

SubprocesoDocumento

Page 8: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

DIAGRAMAS DE FLUJO (cont…)

• Este diagrama de flujo lee dos números, los procesa y muestra el producto.

Paso 1: Inicio

Paso 3: Ingreso

Paso 4: Proceso

Paso 5: Salida

Paso 6: Fin

Paso 2: Declaración de Variables

Page 9: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

DIAGRAMAS DE FLUJO (Ejemplo)

Diagrama de flujo que lee 2 números enteros diferentes. Como resultado muestra el mayor de los números.

Page 10: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

REGLAS DE DIAGRAMAS DE FLUJO

• El diagrama de flujo debería ser claro, preciso y de fácil interpretación.

• Los diagramas de flujo solo puede tener un punto de inicio y un punto de término.

• Los pasos en un diagrama de flujo deberían seguir el enfoque de arriba a abajo o de izquierda a derecha.

• Todas las entradas de datos necesarias deberían exponerse en un orden lógico.

• Los símbolos de inicio y fin deberían tener una sola línea de flujo.

• El símbolo de decisión debería tener una línea de flujo conectada al símbolo previo y dos líneas de flujo conectadas al símbolo posterior para cada posible solución.

Page 11: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

VENTAJAS DE LOS DIAGRAMAS DE FLUJO

• Los diagramas de flujo son un método mejor de comunicar lógica.

• Los diagramas de flujo ayudan a analizar los problemas eficazmente.

• Los diagramas de flujo actúan como guía durante la fase de diseño del programa.

• Es más fácil depurar errores de lógica usando un diagrama de flujo.

• Los diagramas de flujo ayudan a mantener los programas.

Page 12: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

DESVENTAJAS DE LOS DIAGRAMAS DE FLUJO

• Un diagrama de flujo largo puede extenderse sobre múltiples páginas, lo cual reduce su legibilidad.

• Como los símbolos de los diagramas de flujo no pueden escribirse, el dibujo de un diagrama de flujo usando cualquier herramienta gráfica lleva mucho tiempo.

• Los cambios hechos en un solo paso pueden ocasionar tener que volver a dibujar el diagrama de flujo completo.

• Un diagrama de flujo representando un algoritmo complejo puede tener demasiadas líneas de flujo. Esto reduce su legibilidad y llevará mucho tiempo dibujarlo y entender su lógica.

Page 13: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

PSEUDOCODIGO

• Es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación.

• Está pensado para facilitar a las personas el entendimiento de un algoritmo.

• No es un lenguaje de programación verdadero y, por lo tanto, no puede ser compilado y ejecutado.

• Ayudan a "pensar" un programa antes de escribirlo en un lenguaje de programación formal.

Page 14: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

PSEUDOCODIGO

• Este pseudocódigo lee dos números, los procesa y muestra el producto.

Inicio

//Declaración de variables

Entero n1, n2

Real prod

//Ingreso de datos

Ingresar n1, n2

//Proceso de datos

prod=n1 * n2

//Salida de datos

Mostrar prod

Fin

Page 15: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

PSEUDOCODIGO

• Diagrama de flujo que lee 2 números enteros diferentes. Como resultado muestra el mayor de los números.

Inicio

//Declaración de variables

Entero n1, n2

//Ingreso de datos

Ingresar n1, n2

//Proceso de datos

si n1>n2

//Salida de datos

Mostrar n1, “Es Mayor”

sino

//Salida de datos

Mostrar n2, “Es Mayor”

fin_si

Fin

Page 16: FUNDAMENTOS DE PROGRAMACIÓN SEMANA 01-B Representación de Algoritmos

RESUMEN

• En esta lección, usted aprendió que:• Un algoritmo es una secuencia de pasos requeridos para llevar a cabo una

tarea.• Pueden representarse algoritmos de diferentes maneras:

• Usando diagramas de flujo.• pseudocódigo.

• Los algoritmos mas utilizados son los DFD y los pseudocódigos. • Un diagrama de flujo es una representación gráfica de un algoritmo.• Un pseudocódigo tiene mas afinidad y/o acercamiento a un lenguaje de

programación.