Sei sulla pagina 1di 42

ALGORITMOS

MANUFACTURA AVANZADA

LENGUAJE
El lenguaje en su forma mas general se define como una serie de smbolos que sirven para trasmitir una o mas ideas o mensajes entre dos entidades diferentes. La transmisin de ideas se conoce como comunicacin, pero antes que exista la comunicacin primero hay que tener en cuenta que esta transmisin de ideas debe cumplir con dos reglas fundamentales:
1. Las ideas deben ir en un solo sentido a la vez. 2. Deben existir 4 elementos: Emisor, Receptor, Medio de comunicacin y Mensaje.

Lenguajes de Programacin
Los lenguajes de programacin se pueden clasificar en:
Lenguaje de mquina: Ese es el lenguaje del PC. Todas las instrucciones se expresan como combinaciones de 1s y 0s. Lenguaje de Bajo Nivel: Conocido como ensamblador es un punto intermedio entre el lenguaje del ser humano y el del PC. Las instrucciones son cdigos alfabticos que se rigen por normas nemotcnicas especficas. Lenguajes de Alto Nivel: Las instrucciones de estos lenguajes son palabras similares al lenguaje humano. Algunos de ellos son: C++, BASIC, PASCAL, COBOL, FORTRAN, ETC.

ALGORITMO
Se sabe que la palabra algoritmo se dio en honor del matemtico persa del siglo IX, Khowarizmi. Con ste trmino se hace referencia a un conjunto de reglas, ordenadas de forma lgica, para desarrollar un clculo o para solucionar un problema, ya sea de forma manual o utilizando una mquina.

Caractersticas de un algoritmo
Un algoritmo debe tener al menos las siguientes caractersticas: Ser Preciso: Esto significa que las operaciones o pasos del algoritmo deben desarrollarse en un orden estricto, ya que el desarrollo de cada paso debe obedecer a un orden lgico. Ser Definido. Ya que en el rea de programacin, el algoritmo se desarrolla como paso fundamental para crear un programa, es necesario tener en cuenta que el computador solo har las tareas programadas y con los datos suministrados; es decir, no puede improvisar y tampoco se inventar o adivinar el dato que necesite para realizar un proceso. Por eso, el algoritmo debe estar plenamente definido; esto es, que cuantas veces se ejecute, el resultado depende estrictamente de los datos suministrados. Si se ejecuta con un mismo conjunto de datos de entrada, el resultado ser siempre el mismo.

Caractersticas de un algoritmo
Ser finito: Esta caracterstica implica que el nmero de pasos de un algoritmo, por grande y complicado que sea el problema que soluciona, debe ser limitado. Todo algoritmo, sin importar el nmero de pasos que incluya, debe llegar a un final. Para hacer evidente esta caracterstica, en la representacin de un algoritmo siempre se incluyen los pasos inicio y fin. Presentacin Formal: Para que el algoritmo sea entendido por cualquier persona interesada es necesario que se exprese en alguna de las formas comnmente aceptadas; pues, si se describe de cualquier forma puede no ser muy til ya que solo lo entender quien lo dise. Las formas de presentacin de algoritmos son: el pseudocdigo, diagrama de flujo y diagramas de Nassi/Schneiderman, entre otras.

Caractersticas de un algoritmo
Correccin: el algoritmo debe ser correcto, es decir debe satisfacer la necesidad o solucionar el problema para el cual fue diseado. Para garantizar que el algoritmo logre el objetivo, es necesario ponerlo a prueba; a esto se le llama verificacin o prueba de escritorio. Eficiencia: hablar de eficiencia o complejidad de un algoritmo es evaluar los recursos de cmputo que requiere para almacenar datos y para ejecutar operaciones frente al beneficio que ofrece. En cuanto menos recursos requiere ser ms eficiente el algoritmo.

TCNICAS PARA LA FORMULACIN DE ALGORITMOS


Diagrama de flujo Pseudocdigo Diagrama estructurado (nassi-schneiderman)

Diagrama de Flujo
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la representacin detallada en forma grfica de como deben realizarse los pasos en un procesador para producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en mquina o PC), se relacionan entre si mediante lneas que indican el orden en que se deben ejecutar los procesos.

Diagrama de Flujo
DESVENTAJAS No se elaboran con base en los principios de la programacin estructurada, ilustran el flujo del programa, pero no su estructura, requiere de un espacio considerable y cuenta con demasiadas ramificaciones.

Los smbolos
Indica el inicio y el final de nuestro diagrama de flujo. Indica la entrada y salida de datos. Smbolo de proceso y nos indica la asignacin de un valor en la memoria y/o la ejecucin de una operacin aritmtica. Smbolo de decisin indica la realizacin de una comparacin de valores. Se utiliza para representar los subprogramas. Conector dentro de pgina. Representa la continuidad del diagrama dentro de la misma pgina. Conector fuera de pagina. Representa la continuidad del diagrama en otra pagina.

Los smbolos
Indica la salida de informacin por la Impresora. Indica la salida de informacin en la pantalla o monitor. Lneas de flujo o direccin. Indican la secuencia en que se realizan las operaciones.

Recomendaciones para el diseo de Diagramas de Flujo


Se deben se usar solamente lneas de flujo horizontales y/o verticales. Se debe evitar el cruce de lneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar lneas de flujo sin conectar. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.

Pseudocdigo
Mezcla de lenguaje de programacin que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. Se considera un primer borrador, dado que el pseudocdigo tiene que traducirse posteriormente a un lenguaje de programacin. Cabe sealar que el pseudocdigo no puede ser ejecutado por un procesador. En esencial, el pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El pseudocdigo utiliza palabras que indican el proceso a realizar.

Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo


Ocupa menos espacio en una hoja de papel Permite representar en forma fcil operaciones repetitivas complejas Es muy fcil pasar de pseudocdigo a un programa en algn lenguaje de programacin. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operacin.

Representacin
El pseudocdigo utiliza para representar las acciones sucesivas palabras reservadas en ingls (similares a sus homnimos en los lenguajes de programacin), tales como start, begin, end, stop, if-then-else, while, repeat-until.etc
Secuencia Inicio accin1 accin2 accin n Fin

CUERPO DEL PROGRAMA

LNEAS CONECTORAS

TOP-DOWN

LEFT-RIGHT

COMENTARIOS

CONECTORES CAMBIO DE PGINA

ERRORES COMUNES

ERRORES COMUNES

ERRORES COMUNES

EJEMPLOS DE ALGORITMOS

DIAGRAMAS DE FLUJO
Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de mayora o minora de edad segn sea el caso para un nombre especfico.

INICIO Nombre:

nom

Edad:

ed

Ed>=18 nom,Eres mayor de edad nom,Eres menor de edad

FIN

Pseudocdigo
Se requiere preguntar dos valores, y a continuacin ofrecer un men con las operaciones bsicas (+, -, *, /). Despus de presentar el resultado se ofrecer la posibilidad de una nueva operacin.

Pseudocdigo
Real : X, Y, RESPUESTA Entero : OPCION Carcter : OP Inicio Repetir escribir(Primer valor : ) leer(X) escribir(Segundo valor : ) leer(Y) escribir(1) Suma ) escribir(2) Resta ) escribir(3) Multiplicacin ) escribir(4) Divisin ) escribir(Qu operacin deseas realizar ? : ) leer(OPCION) casos OPCION de 1 : RESULTADO X+Y 2 : RESULTADO X-Y 3 : RESULTADO X*Y 4 : si Y=0 entonces escribir( Error ) RESULTADO 0 en caso contrario RESULTADO X/Y escribir (Resultado :,RESULTADO) escribir(Deseas otro clculo : *S/N+ ) leer(OP) Hasta que RES = N Fin

MQUINAS DE ESTADO FINITO

Mquinas de Estados Finitos


Las mquinas de estado finito (SFM) son sistemas digitales donde las salidas dependen de las entradas y de los estados previos almacenados. De manera mas clara, una mquina de estados finitos, es una forma grfica de expresar un proceso secuencial.

Ejemplo
Retiro en un cajero. 1. Insertar la tarjeta. 2. Digitar la clave. 3. Digitar el monto. 4. Retirar el dinero.

Si no se sigue este estricto proceso no se puede llegar al punto 4 y obtener el dinero.

Representacin
Las mquinas de estado finito estn conformadas por entradas, salidas, estados y transiciones, que se representan de la siguiente manera:
X/R Al siguiente estado X: Entrada que provoca una transicin. R: Salida. ESTADO

Del estado previo

http://www.youtube.com/watch?v=5AzRuYnCuhE&feature=related

EJEMPLO
Encender un LED con un pulsador

Otro ejemplo
Un hombre desea cruzar un ro con un Len, una bolsa de Trigo y una Vaca. El problema es que slo puede cruzar l y dos de los elementos si permitir que la vaca devore el trigo o que el len devore a la vaca. Para resolver el problema hay que seguir una secuencia estricta.

Para el ejemplo del hombre


Los estados se definen en cada una de las situaciones.
El estado inicial es cuando est con todos los elementos a un lado del ro (Lado A). El hombre pasa al lado B del ro con la vaca. Se devuelve al lado A solo. Pasa al lado B con el len. Se devuelve al lado A con la vaca. Pasa al lado B con el trigo. Se devuelve al lado A solo. Pasa al lado B con la vaca.

La Representacin.
H-B

H-A
LT-HV H-B H-B HLTV-E H-B

HLT-V

T-HLV

H-A HTV-L

ERROR TV-HL

HT-LV ERROR H-B

H-B

V-HTL
LV-HT ERROR E-HVTL HV-TL H-B H-A

EJEMPLO (Clave electrnica)


CLAVE (UUDR)

DISEO
Disear un circuito que controle el siguiente sistema.
ON

SI

SD

DISEO (Explicacin)
El sistema se activa una vez se hunde el botn ON. El motor empieza a girar a la derecha hasta que la placa negra llega al sensor SD. Cuando llega al sensor SD, la polaridad del motor se invierte y la placa avanza hacia el lado izquierdo. Cuando llega al sensor SI el motor se detiene.

PASOS
1. Se identifican las entradas y las salidas. Entradas:
Botn START: BS. Sensor Derecha: SD. Sensor Izquiereda: SI. X: Entrada al puente H. Y: Entrada al puente H.

Salidas:

X 0 0 1

Y 0 1 0

DESCRIPCIN MOTOR OFF DERECHA IZQUIERDA

FRENO

PASOS
2. Descripcin del problema (seudo cdigo).
Inicialmente el motor se encuentra apagado, en un estado de reposo donde el BS est desactivado, el sensor SI est activado y el SD est desactivado. Esta es la posicin inicial o estado de repos del sistema. Cuando se da un START (BS=1) y el SI est activado, el motor se enciende ala derecha (XY=01), hasta que el sensor SI se activa. En ese momento el motor se activa a la izquierda (XY=10), hasta que el sensor derecha se active. Una vez el sensor SI se activa el sistema queda en espera para ser activado nuevamente (XY=00).

La mquina de estados
CDIGO= BS SI SD / XY
010/00 110/01 000/01 010/01 100/01

00
REPOSO 010/10

110/01

01
IZQUIERDA DERECHA 001/10

10
000/10

Tabla de estados
VALORES PRESENTES ESTADOS ENTRADAS SALIDAS SIGUIENTE S ESTADOS

A1 A2
0 0 0 0 0 0 0 0 1 1 1 1

BS SI SD
0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0

X Y
0 0 0 0 0 0 0 1 1 1 1 1

A1 A2
0 0 0 0 0 0 0 1 1 1 1 1

0
1 1 1

1
0 0 0

0 0 1
0 0 1 0 0 0 0 1 0

1
1 1 0

0
0 0 0

1
1 1 0

0
0 0 0

Potrebbero piacerti anche