Anda di halaman 1dari 45

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

FINITO

Debe tener Debe ser... terminar en algn momento

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

ALGORITMO: Caracterticas
CONCRETO

FINITO

Debe realizar las funciones u operaciones para las que fue creado.

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

ALGORITMO: Caracterticas
CONCRETO LEGIBLE

FINITO

Debe estar bien estructurado para su fcil entendimiento.

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

ALGORITMO: Caracterticas
CONCRETO LEGIBLE

FINITO

Debe realizar las operaciones con un mnimo de utilizacin de recursos.

EFICIENTE

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

ALGORITMO: Caracterticas
CONCRETO LEGIBLE

FINITO

Debe estar libre de errores. (Validado)

EFICIENTE

NO AMBIGUO

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

ALGORITMO: Caracterticas
CONCRETO LEGIBLE

FINITO

Debe indicar un orden de realizacin de cada paso.

EFICIENTE

NO AMBIGUO PRECISO
Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Caracterticas
CONCRETO LEGIBLE

FINITO

Debe generar el mismo resultado siempre que se siga.

EFICIENTE

DEFINIDO PRECISO

NO AMBIGUO

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

ALGORITMO: Estructura
Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida)

Datos

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

ALGORITMO: Estructura
Conforma el grupo de instrucciones que realizan las operaciones con los datos.

Datos

Procesos

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

ALGORITMO: Estructura
Determinan la organizacin de las instrucciones que deben ser realizadas.

Datos

Procesos

Estructuras de Control

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

ALGORITMO: Elementos
Definicin de variables y constantes Salida

Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar.

Entrada

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

ALGORITMO: Elementos
Definicin de variables y constantes
Procesos Estructuras de control

Las instrucciones que se van a realizar deben estar bien estructuradas y tener un orden lgico, con el fin de evitar inconsistencias en el resultado.

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

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.

ALGORITMO: Cmo se hace?

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
Los algoritmos se crean para resolver problemas. Es importante que junto al algoritmo, describamos claramente el problema que ste nos permite resolver. Debe Definirse del problema

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

ALGORITMO: Requisitos
Debe Definirse del problema No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se necesita y dnde se debe comenzar. Debe estar dentro de contexto

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

ALGORITMO: Requisitos
Seguir los pasos del algoritmo debe llevarnos a la resolucin del problema. Siempre que sea posible seguiremos personalmente los pasos de nuestro algoritmo para comprobar que son efectivamente correctos y conducen efectivamente a la solucin esperada. Debe Definirse del problema Debe estar dentro de contexto Debe resolver el problema

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

ALGORITMO: Requisitos
Por ejemplo: Si se requiere hallar la velocidad de un automvil, es necesario, definir si la distancia debe ser en metros, kilmetros, etc y el tiempo estar dado en segundos u horas, ya que la velocidad puede representarse en Km/h mts/seg. 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 Es una tcnica de diseo descendente donde se realiza un refinamiento sucesivo, que permite darle una organizacin a las instrucciones, en forma de mdulos o bloques.

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

ALGORITMO: Tcnicas de Diseo


Top Down Est tcnica permite dividir el problema en pequeas partes, a las cuales se les da solucin por separado, luego se integran las soluciones para resolver el problema principal. Divide y vencers

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

ALGORITMO: Tcnicas de Representacin


Diagrama de Flujo

Es una tcnica que permite representar grficamente las operaciones y estructuras que se van a realizar, mediante una simbologa estndar, con un nico punto de inicio y uno de finalizacin.

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

Est tcnica permite representar el algoritmo mediante un lenguaje ms estructurado, facilitando su posterior codificacin.

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

ALGORITMO: Fases de Diseo


Definicin del problema

Algoritmo

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 Es importante que conozcamos exactamente conozcamos exactamente que se desea. que se desea. Mientras qu esto no se Mientras qu esto no se comprenda, no tiene caso comprenda, no tiene caso pasar a la siguiente etapa. 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

Solucin ..2 Solucin ..5

Analizado el problema Posiblemente tengamos varias formas de resolverlo

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

ALGORITMO: Seleccin de Alternativa

Lo importante es determinar cul es la mejor alternativa


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

ALGORITMO: Seleccin de Alternativa


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

La que produce los resultados Esperados en el menor tiempo y al menor 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 solucin mediante el Pseudocdigo

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

ALGORITMO: Prueba de Escritorio

Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solucin al problema inicial

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

ALGORITMO: Prueba de Escritorio


Esta prueba consiste en: Dar diferentes datos de entrada al programa seguir la secuencia indicada hasta obtener los resultados
Ing. Sonia Alexandra Pinzn Nuez - Ing. Roco Rodrguez Guerrero

ALGORITMO: Prueba de Escritorio

Se utiliza para Al realizar lo anterior se corroborar que si el el puede comprobar algoritmo correcto o algoritmo es plasmado en si hay necesidad cualquier de hacer presenta herramientaajustes (volver solucin al paso anterior) la al problema inicial

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

ALGORITMO: Prueba de Escritorio


Es Recomendable Dar diferentes datos de entrada y considerar todos los posibles casos, an los de excepcin o no esperados, para asegurar que el programa no produzca errores en ejecucin cuando se presenten estos casos.

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

ALGORITMO: Conceptos
Dato
Mnima parte de la informacin. Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operacin sobre estos.

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

ALGORITMO: Conceptos
Tipo de Dato
Corresponde al tipo de valor que puede almacenarse en un espacio de memoria definido y a la cantidad de espacio que requiere para almacenar un valor.

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

ALGORITMO: Conceptos
Variable
Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecucin cambia o vara su contenido (valor)..

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

ALGORITMO: Conceptos
Constante
Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecucin mantiene siempre su contenido (valor).

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

Anda mungkin juga menyukai