You are on page 1of 35

Instituto Universitario de Tecnologa Jos Antonio Anzotegui Ingeniera en Informtica Ncleo: El Tigre

Algoritmos y Programas

Ing. Thais T. Hernndez C. Algortmica y Programacin

Contenido

Algoritmo Caractersticas
Fases de Resolucin de un algoritmo Tipos de Algoritmos

Representacin de los Algoritmos Diagrama de Bloques

Diagrama de Flujos

Diagrama de Nassi-Schneiderman
Pseudocdigo

Algoritmos
Concepto:

Un algoritmo es un mtodo para resolver un


problema mediante una serie de pasos precisos, definidos y finitos. Alkhwarzmi matemtico-astrnomo rabe Tratado de manipulacin de

Algoritmo

nmeros y ecuaciones en el siglo IX.

Caracterstica de los Algoritmos


Un algoritmo debe ser: Preciso, es decir, indicar el orden de realizacin en cada paso (claro y sin ambigedades). Ser definido-concreto: debe contener slo el nmero de pasos necesarios para llegar a la solucin (no deben darse pasos de ms)

Caractersticas de los Algoritmos


Repetitividad: el algoritmo debe repetirse tantas

veces, alcanzando siempre los mismos resultados


para una misma entrada, independiente del momento de ejecucin. Finito (tiene fin: un nmero determinado de

pasos.
Independientes tanto del lenguaje como del

ordenador

Caractersticas de los Algoritmos


Vlido: el algoritmo construido debe hacer
exactamente lo que se pretende hacer

Eficiente: Debe dar una solucin razonable


ptimo

Algoritmos
Mtodos utilizados para la resolucin de problemas:

Mtodos

Algortmicos:

utilizan

algoritmos

(se

implementan en las computadoras)

Mtodos

Heursticos:
son

implican
difciles

algn
de

juicio

interpretacin,

implementar

(Inteligencia artificial, etc.)

Algoritmos
Ejemplos de algoritmo:
Instrucciones para aprender a manejar un carro

Ejemplos de no algoritmo:
Instrucciones para realizar una receta de
cocina

Algoritmos
Los algoritmos se pueden expresar por: Frmulas: L = 2 * * r Diagrama de Bloques Diagrama de Flujos

Diagramas de Nassi-Schneiderman
Diagrama de Chapin Pseudocdigos

(N-S) o

Algoritmos
Los algoritmos nos permiten resolver

problemas, pero este proceso en la computadora


requiere de la escritura de un programa y su posterior ejecucin.

Ejemplos
Disear un algoritmo para cambiar una bombilla fundida. 1.- Quitar la bombilla fundida 2.- Colocar la nueva bombilla

Ejemplos
1. Quitar la bombilla antigua
a) Subir la escalera debajo de la bombilla fundida b) Subir por la escalera hasta alcanzar la bombilla

c) Girar la bombilla en sentido anti-horario hasta soltarla 2. Colocar la nueva bombilla


a) Elegir una nueva bombilla de la misma potencia que la fundida b) Enroscar la bombilla nueva en sentido horario hasta que quede apretada c) Bajar la escalera d) Comprobar que la bombilla funcione

Ejemplos
Algoritmo para elegir una bombilla de la misma potencia

1. Repetir hasta que la bombilla sea vlida


a) Elegir una bombilla b) Si la potencia de la nueva bombilla es igual al de la vieja bombilla I. Entonces la bombilla es vlida
II. Si no la bombilla no es vlida Conceptos Importantes:

Decisin Repeticin

Representacin de Algoritmos
Se necesita disponer de un lenguaje algortmico que permita reflejar las sucesivas acciones que resuelven el problema. La primera sera utilizar el lenguaje natural pero plantea imprecisin y ambigedad, por esta razn debe ser independiente del lenguaje a utilizar y que permita una traduccin clara del algoritmo al programa.

Representacin de Algoritmos
Un algoritmo posee: 1.- Entrada (datos) 2.- Proceso (clculo un operaciones) 3.- Salida (resultados) Para representar un algoritmo se debe utilizar un mtodo que permita independizar dicho algoritmo del lenguaje de programacin.

Representacin de Algoritmos
Mtodos Usuales para representar algoritmos: 1.- Diagrama de Bloques 2.- Diagrama de Flujos 3.- Diagrama de Nassi Schneiderman o Diagrama de Chapin

4.- Pseudocdigo 5.- Lenguaje (Idioma)


6.- Frmulas

Diagrama de Bloque
La estructura del algoritmo se puede expresar en un diseo estructurado en forma de bloques, donde se muestre los sucesivos refinamientos a partir del problema inicial.

Diagrama de Bloque
Clculo Longitud y Superficie
Entrada De Datos Clculo De Longitud
Clculo De Superficie

Salida De Resultados

Leer Radio

L=2R

S = R2

Escribir L

Escribir S

Diagrama de Flujo
Son una herramienta grfica. Consta de una serie de smbolos estndar, que representan las distintas acciones del algoritmo conectados mediante lneas que indican el orden en el cual debe hacerse las operaciones.
Comienzo de un programa Operaciones que realiza Orden en que se realizan Final del programa

Diagrama de Flujo
Un diagrama de denomina flowchart. flujo, tambin se le

Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalizacin (ANSI) y los ms frecuentemente aplicados se muestran a continuacin

Diagrama de Flujo
Subprograma

Inicio

Proceso

Operacin

Decisin

No Terminal Conectores

Diagrama de Flujo

Inicio

Terminal

Indican el inicio y el fin del algoritmo. Del primero slo puede salir una lnea y del segundo slo puede llegar una lnea Indican una accin a realizar, Tiene una nica lnea de entrada y otra de salida (origina cambio de valores, formatos, etc)

Proceso

Diagrama de Flujo
Indica una accin de entrada o salida. Tiene una nica lnea de entrada y otra de salida (cualquier introduccin de datos o salida

Operacin

Decisin

No Se usan para tomar una decisin, dependiendo de cierta condicin. Tiene una lnea de entrada y dos de salidas.

Diagrama de Flujo

Decisin

Decisin Mltiple: En funcin del resultado de la comparacin seguir un camino

Teclado

Operacin Manual

Disco Magntico

Pantalla

Impresora

Diagrama de Flujo

Se usan para conectar los smbolos anteriores y especifican el flujo del algoritmo

Se usan para conectar distintos puntos de los diagramas de flujo evitando cruces de flechas.

Diagrama de Flujo
Inicio Precio peso x precio

Leer precio

Devuelta entregada - precio

Leer peso

Escribir precio

Leer entregada

Escribir devuelta

Fin

Diagrama de NassiSchneiderman
Tambin se le conoce con el nombre de Diagrama de Chapin. Es como un diagrama de flujo en el que se omiten las flechas de unin y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, como en los diagramas de flujo se pueden escribir diferentes acciones en una caja. Un algoritmo se representa con un rectngulo en el que cada banda es una accin a realizar.

Diagrama de NassiSchneiderman
Leer Peso, precio, entregada Calcular Precio peso x precio Calcular devuelta entregada - precio Escribir Precio, devuelta

Estructura de Decisin

Condicin

No S

Condicin No

Accin 1

Accin 2

Acciones

Acciones

Diagrama de Flujo

Diagrama de NassiSchneiderman

Pseudocdigo
El pseudocdigo es una herramienta de programacin en la que las instrucciones se escriben en palabras similares al ingls o espaol, que facilitan tanto la escritura como la lectura de programas.
Tambin se le conoce comp primer borrador

Pseudocdigo
En esencia, el pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. A pesar de su flexibilidad, tiene que respetar normas: ser legibles, claros y fcilmente codificables.
Los identificadores deben tener un significado de acuerdo a su contenido.

El conjunto de sentencias debe ser completo, en el sentido de especificar cualquier tarea con suficiente detalle.
Contener un conjunto de palabras reservadas

Pseudocdigo
Ventajas:
1.- Podemos centrarnos en la lgica del problema olvidndonos de la sntaxis de un lenguaje concreto 2.- Es fcil modificar el algoritmo descrito 3.- Es fcil traducir directamente a cualquier lenguaje de programacin el algoritmo obtenido. Desventajas: Imprecisin porqu est definido de un modo vago y poco formal

Pseudocdigo
Palabras utilizadas:
Inicio Fin Leer Escribir

Repetir
Hasta que

Si entonces si no
Entre otras

Mientras
Fin_mientras

Pseudocdigo
Inicio Leer precio Leer peso Leer entregada precio peso x precio devuelta entregada precio Escribir precio Escribir devuelta Fin

GRACIAS POR SU ATENCION.

You might also like