You are on page 1of 29

Algoritmos

Ing. Sonia Alexandra Pinzn Nuez Ing. Roco Rodrguez Guerrero

Tecnologa en Sistematizacin de Datos


Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

Facultad Tecnolgica - Universidad Distrital

ALGORITMO: Definicin
Es un conjunto de pasos lgicos ordenados, secuencialmente y finita, escritos de tal forma que permiten visualizar la solucin de un problema determinado en un momento especfico.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Nombre
El nombre en latn de algoritmo proviene de la traduccin que realiz Fibonacci, de la obra del matemtico rabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Caracterticas
CONCRETO LEGIBLE

FINITO

Debe realizar las Debe generarun Debe estar bien indicar el Debe estar libre operaciones con Debe tener funciones u Debe ser... mismo resultado estructurado orden de terminar en algn operaciones de un mnimo para de errores. siempre quede realizacin se para su fcil utilizacin de las que fue (Validado) momento entendimiento. cada paso. siga. recursos. creado.

EFICIENTE

DEFINIDO PRECISO

NO AMBIGUO

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Estructura
Corresponden a los Determinan grupo Conforma ella datos requeridos organizacin el de instrucciones las para realizar de instrucciones que que realizan las de algoritmo (datos deben ser los datos operaciones con los entrada) y realizadas. datos. generados que son (datos de salida)

Datos

Procesos

Estructuras de Control

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Elementos
Las instrucciones Es necesario que se van a identificar que estar realizar deben datos se necesitan y bien estructuradas ingresar, orden tener un cuales sirven de forma de lgico, con el fin auxiliar y cuales se evitar van a generar. en inconsistencias el resultado.

Definicin de variables y constantes


Proceso Estructuras de control

Entrada

Salida

Cuerpo del algoritmo

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Quienes pueden


hacer un algoritmo?
Toda persona, implcitamente y diariamente disea y realiza algoritmos, para dar solucin a situaciones cotidianas de forma natural.
Sin embargo el programador, disea el algoritmo conciente de que al realizar cada paso obtendr la solucin de un problema especfico.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Cmo se hace?


El no programador hara lo siguiente:
Buscar la pgina de cines en elSupongamosmirar si diario local y que ve la pelcula anunciada. la deseamos ir al cine a verSi la ve anunciada mira en qu tercera pelcula de La cine la hacen y se va a Guerra delas Galaxias, verla. Si no la ve anunciada, cmo procedemos? espera a los estrenos de lasemana que viene.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Cmo se hace?


El programador sin embargo, lo hara de este otro modo:
1

Buscar la pgina de cines en el diario local, con fecha de hoy


2

Revisar la cartelera de arriba abajo y de izquierda a derecha, buscando entre los ttulos existentes.
3

Si se encuentra el ttulo La Guerra de las Galaxias, no seguir buscando. Apuntar el nombre del cine, su direccin y los horarios
4

Si no se encuentra el ttulo en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Otro ejemplo


Encender un automvil
1. Poner la llave. 2. Asegurarse que el cambio est en neutro. 3. Pisar el el acelerador. 4. Girar la llave hasta la posicin arranque. 5. Si el motor arranca antes de 6 seg, dejar la llave en la posicin encendido. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como mximo 5 veces). 7. Si el auto no arranca, llamar a la gra.
Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Requisitos
Seguir los pasos del Por ejemplo: algoritmo debe llevarnos Los algoritmos omitir la Si se debemos se crean el No la requiere hallar del apara resolver resolucin velocidad de de automvil, un nuestros contexto problema. problemas. es necesario, definir si la algoritmos. Siempre que sea posible Es importante queser en junto distancia debe establecer Es necesario seguiremos al algoritmo, metros, kilmetros, etc y lo que se personalmente necesita y los pasos describamos claramente el tiempo estar dado en dnde se debe comenzar. de problema que ste nos algoritmo el nuestro segundos u horas, ya que para comprobar que son permite resolver. puede la velocidad efectivamente correctos y representarse en Km/h conducen efectivamente a mts/seg. la solucin esperada. Debe Definirse del problema Debe estar dentro de contexto Debe resolver el problema

Debe evitar la ambigedad

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Tcnicas de Diseo


Top Down

Est Es una tcnica de permite tcnica diseo dividir el problemase en descendente donde pequeas refinamientolas realiza un partes, a cuales se que da solucin sucesivo, les permite por separado, luego se darle una organizacin a integran las soluciones las instrucciones, en para resolver el problema forma de mdulos o principal. bloques.

Divide y vencers

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Tcnicas de Representacin


Diagrama de Flujo Pseudocdigo
Inicio Instruccin 1 Instruccin 2 Si condicin entonces Instruccin 3 . . . Instruccin n Fin

Es una tcnica que Est tcnica permite permite representar representar el algoritmo grficamente las lenguaje mediante un operaciones estructurado, y ms estructuras que se van a facilitando su posterior realizar, mediante una codificacin. simbologa estndar, con un nico punto de inicio y uno de finalizacin.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

PSEUDOCDIGO:Cmo se Hace?
1

Cada instruccin que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc.
2

Se debe mantener una identacin o sangra sobre el margen izquierdo para identificar fcilmente el comienzo y final de las estructuras La representacin de las estructuras son similares u homnimas de los lenguajes de programacin, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

PSEUDOCDIGO:Cmo se Hace?
Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la accin de introducir datos o variables
desde un dispositivo estndar de entrada.

Imprimir : Representa la accin de enviar datos desde

variables a un dispositivo estndar de salida.

Calcular : Denota la realizacin de cualquier operacin


aritmtica que genere valores para ser almacenados en una variable.

Fin: Denota el punto de finalizacin del algoritmo.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Lectura Inicio Proceso Captura Fin
Permite indicar la Permite indicar la realizacin Se utiliza para Entrada de datos de un proceso indicar el punto de desde matemtico, iniciounfinalizacin y dispositivo o una operacin de del diagrama estndar asignacin

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Conectores Impresin Decisin Flujo
Permiten enlazar los Permiten dar continuidad Permite establecer una smbolos de un sentido Indica la realizacin de al condicin relacional diagrama si la pgina nico pueden ser operaciones de tomar lgica que puede salida o rea de trabajo esta horizontales o verticales. a se un valor de verdadero o llena, el crculo un Estas no pueden falso, de esteun estndar utiliza como smbolo se conector dispositivo cada una entrecruzarse y dentro(el monitor o deducen 2 flujos de la misma de ellas debe tener un pgina, el otro smbolo alternativos de nico smbolo impresor.) de partida se define como un ejecucin. y un nico smbolo de conector a otra pgina. destino.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Estructuras de Decisin (Condicin)

Decisin Decisin Decisin Mltiple Decisin Simple Compuesta Anidada


No No No Si No Condicin Condicin No Condicin No Si Condicin
Condicin Val1 Val2 Condicin Val3 Otro

Si

Si Si

Val1: Si condicin entonces Instrucciones Si condicin entonces Instrucciones Val2: Instrucciones Si condicin entonces si no Instrucciones si nocondicin entonces Instrucciones Si Val3: Instrucciones Instrucciones Instrucciones si no Otros: Instrucciones Instrucciones Fin Caso

Caso condicin Si condicin entonces

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

DIAGRAMA DE FLUJO: Simbologa


Estructuras de Ciclo

Ciclo Para Ciclo Mientras Ciclo Hasta

. . . . Para v=valini, v=valfinal, inc . . Instrucciones


Repita Mientras que condicin Fin Para .Instrucciones Instrucciones

v=valini,v=valfinal, incremento Instrucciones

Condicin
Instrucciones Si

No

No

Condicin

Instrucciones

Si

. .Hasta que condicin Fin Mientras . . v: variable . . valini: valor inicial . . valfinal: valor final inc: incremento

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Fases de Diseo


Definicin del problema Anlisis del problema Seleccin de la mejor alternativa

Diagramacin
Prueba de escritorio

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Definicin del Problema


Est dada por el enunciado del problema, el cul debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qu esto no se comprenda, no tiene caso pasar a la siguiente etapa.
Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Anlisis del Problema


Los datos de entrada que nos suministran
Recursos Frmulas

Proceso

rea de Trabajo

Entendido el problema para resolverlo es preciso analizar

Los datos de salida o resultados que se esperan

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Seleccin de Alternativa


Solucin ..1

Solucin ..3 Se debe tener en cuenta el principio de que las cosas siempre se podrn hacer de una mejor forma.

Solucin ..2

La que produce los Solucin ..5 Lo importante es Analizado el problema resultados Esperados en el Posiblemente tengamos determinar cul menor tiempo y al menor varias la mejor alternativa es formas de resolverlo costo
Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Diagramacin
Dibujar grficamente la lgica de la alternativa seleccionada Una vez que sabemos cmo resolver el problema

Plasmar la solucion mediante el Pseudocdigo

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Prueba de Escritorio


Esta prueba consiste en:
Es Recomendable Se utiliza para Dar diferentes anterior Al realizar lo datos de se Dar diferentes datos el entrada y considerar todos corroborar que si el puede comprobar de entrada al programa los posibleses plasmado algoritmo correcto o algoritmo casos, an los de excepcin o cualquier no en si hay necesidad esperados, para asegurar seguir la de hacer secuencia herramientaajustes presenta que el programa no indicada (volver solucin al paso anterior) la al produzca errores en problema inicial ejecucin cuando se hasta presenten estos casos.

obtener los resultados

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Conceptos
Tipo de Dato Constante Variable Dato
Minima parte de la Corresponde al tipo de Corresponde a un informacin. que puede Corresponde a un valor espacio de memoria que Se refiere amemoria que espacio de los almacenarse en un almacena un dato que elementos que se que almacena de memoria espacio un dato dentro del programa en dentro del programa en definido los cantidad utilizan eny a lamantiene ejecucin ejecucin cambia o vara de espaciopara requiere que algoritmos su contenido siempre para almacenar (valor).. su contenido realizar alguna un valor. (valor). operacin sobre estos.

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Tipos de Datos


Boleano Real Entero
Lgicos Numricos Carcter

cadena Caracter

Tipos de Datos

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Operadores

>= <= != <>

> < =

Relacionales

+ Aritmticos / % ^
No Y && O ||
Lgicos

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

BIBLIOGRAFIA
Fundamentos de Programacin. Algoritmos y Estructuras. Luis Joyanes Aguilar. Editorial Mc Graw Hill. http://fuxion.tripod.cl/fundamentos.htm#Q UE%20HERRAMIENTAS

Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero