Vous êtes sur la page 1sur 32

UNIDAD DIDCTICA I

Algoritmos y Programas

Niels Arias Campos Fundamento de Programacin

Dato
La palabra proviene del latn datum, forma del verbo dare dar, que significaLo que es dado

Representacin de una informacin de manera adecuada para su tratamiento por un ordenador

Dato
Son representaciones objetos, hechos, conocimientos.
Ejemplos 15 25 C 25 m 31-10-2005 Febrero Mara Prez

simblicas de instituciones,

Informacin
Los datos organizados o procesados adquieren significado y proporcionan conocimiento o desencadenan un comportamiento sobre los hechos u objetos que lo originaron
La informacin se resumen en : Datos + significado

Informacin
Un grupo de datos es informacin
Datos: 19- Marzo Maria 20 ptos.

Informacin: El 19 de marzo se public en acta la calificacin de 20 ptos para Mara


El principal objetivo de la informacin consiste en aumentar el conocimiento o reducir la incertidumbre.

Informacin
Ejemplos
Juan tiene 15 aos 25 C fue la temperatura de esta maana. El edificio Robles mide 25 m de altura La fecha de hoy es 31-10-2005 Febrero tiene 28 das y 29 si el ao es bisiesto. Mara Prez es un nombre muy comn

Problema
Es un asunto o un conjunto de cuestiones que se plantean para ser resueltas. La naturaleza de los problemas vara con el mbito o el contexto: problemas matemticos, qumicos, filosficos, etc. Es importante que al abordar un problema se tenga una descripcin simple y precisa del mismo, de lo contrario resultara complejo modular, simular, o programar su solucin en un ordenador.

Problema
Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemtico

Problema

Diseo Algoritmo

Anlisis

Programa

Problema
Algunos de los pasos para solucionar un problema son:

Anlisis: consiste en el estudio detallado del problema. Se debe identificar los datos de entrada, de salida y la descripcin del problema.

Diseo del algoritmo, que describe la secuencia ordenada de pasos que conduce a la solucin de un problema dado.
Expresar el algoritmo como un programa en un lenguaje de programacin adecuado (Fase de Codificacin) Ejecucin computador y validacin del programa por el

Algoritmo
Etimologa: Proviene del nombre del matemtico persa Mohammed Al-khowanzmi, cuyo apellido traducido al latn es Algorismus Conjunto de acciones que especifican la secuencia de operaciones realizar, en orden, para resolver un problema
Los algoritmos son independientes tanto del lenguaje de programacin como del computador que los ejecuta.

Algoritmo
Finito:

un algoritmo siempre debe terminar despus de un nmero finito de pasos

Definido: si se sigue un algoritmo dos veces se debe obtener el

mismo resultado

Preciso:

indicar exactamente el orden de realizacin de las instrucciones

Algoritmo
Ejemplo tradicional de un algoritmo: Cambiar la rueda pinchada de un coche

Algoritmo

1. Buscar herramientas, rueda de repuesto y tringulo de sealizacin 2. Ubicar el tringulo en el lugar adecuado 3. Ir al lugar de la rueda averiada 4. Sacar las tuercas 5. Colocar el gato 6. Levantar el coche

Algoritmo

7. Sacar la rueda 8. Colocar la rueda de Repuesto

9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN

Algoritmo
Fases de Desarrollo de un Algoritmo
Fase Anlisis Diseo Codificacin Compilacin Interpretacin Pruebas Producto Especificacin Algoritmo Programa Prog. Ejecutable Aplicacin

Algoritmo
Fase de Anlisis: consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificacin) en los cuales quedan totalmente definido el proceso a seguir en la automatizacin

Estudio detallado

Documentos de Especificacin

Algoritmo
Diseo: consiste en la realizacin del algoritmo que resuelve el problema de acuerdo a la especificacin dada en la fase anterior. El algoritmo se representa mediante pseudocdigo.
Algoritmo PRUEBA Inicio Variables A,B,C: entero Leer(A,B) CA+B Escribir (C) Documentos de Especificacin Fin

Algoritmo
Codificacin: consiste en la traduccin del algoritmo a un programa escrito en un lenguaje de programacin
Algoritmo Sumar Inicio Variables A,B,C: entero Leer(A,B)

CA+B
Escribir (C) Fin Programa escrito en un Lenguaje de Programacin

Algoritmo
Compilacin/Interpretacin: consiste en obtener el programa ejecutableobjeto a partir del programa fuente.

Programa Ejecutable Programa fuente

Algoritmo
Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de l.

Programa Ejecutable

Aplicacin

Lenguajes de programacin
Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar informacin. Lenguaje de Programacin: es un lenguaje que permite la traduccin de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de ordenadores. Tipos de Lenguaje de Programacin: Lenguaje de Mquina Lenguaje de Bajo Nivel (Ensamblador) Lenguaje de Alto Nivel

Lenguaje de mquina
Son aquellos que estn escritos en lenguaje directamente inteligibles por la mquina, ya que sus instrucciones son cadenas binarias (0s ,1s) que especifican una operacin. Las instrucciones en lenguaje mquina dependen del Hardware de la computadora, difiere de una PC a otra. La ventaja de los lenguajes mquina es que ofrecen mayor velocidad de ejecucin. Existen algunas desventajas: dificultad y lentitud en la codificacin, poca fiabilidad, los programas no son portables.

Ejemplo Lenguaje Mquina


11001010 00010111 11001010 00010111 11001010 11001010 11001010 11001010 00010111 11001010 00010111 11110101 00010111 11110101 11110101 11001010 11110101 00010111 11110101 11110101 11110101 00101011 11110101 00101011 00101011 11110101 00101011 11110101 00101011 00101011 00101011 00101011 00101011 00101011 00101011 00101011 00101011 00101011 00101011 00101011

Lenguaje de bajo nivel


Son lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano. Son ms fciles de utilizar que los lenguajes de mquina, pero stos tambin dependen de la mquina en particular. El mejor ejemplo es el lenguaje ensamblador

Un programa escrito en lenguaje ensamblador requiere una fase de traduccin. Entre las desventajas tenemos: que este lenguaje depende de la mquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las tcnicas de programacin as como el interior de la mquina

Ejemplo Lenguaje Ensamblador


; HOLA.ASM STACK SEGMENT STACK DW 64 DUP (?) STACK ENDS ; Segmento de pila ; Define espacio en la pila

DATA SEGMENT ; Segmento de datos SALUDO DB "Hola mundo!!",13,10,"$" ; Cadena DATA ENDS INICIO: MOV AX,DATA MOV DS,AX MOV DX,OFFSET SALUDO MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS END INICIO ; Punto de entrada al programa ; Pone direccin en AX ; Pone la direccin en los registros ; Obtiene direccin del mensaje ; Funcin: Visualizar cadena ; Servicio: Funciones alto nivel DOS ; Funcin: Terminar

; Marca fin y define INICIO

Lenguaje de alto nivel


Son los ms utilizados por los programadores Son independientes de la mquina Los programas portables escritos en estos lenguajes son

Aumento de la ocupacin de la memoria Las estructuras de los programas se basan en reglas sintcticas Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java,...

Ejemplo Lenguaje alto nivel


#include <stdio.h>

int main(void) { printf("Hola, Mundo\n"); }

Traductores de Lenguaje
Traductores de Lenguajes: son programas que traducen a su vez los programas fuentes escritos en lenguajes de alto nivel a cdigo mquina. Estos se dividen en intrpretes y compiladores.

Intrprete
Intrprete: es un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta. (Basic, Smalltalk)

Compilacin
Compilador: es el proceso de traduccin de programas fuentes a programas objetos. En este proceso se debe utilizar como paso intermedio un programa llamado enlazador (linker) el cual da como resultado un programa en lenguaje mquina directamente ejecutable.

Etapas de programacin
Cdigo Fuente Modificacin del programa fuente Compilador
APLICACIN Existen No BUENA PROGRAMACIN Errores Errores lxicos Tiempo de compilacin

Errores lgicos Tiempo de pruebas

Cdigo objeto Linkado/ Interpretacin

Existen Errores
No

Programa Ejecutable Errores de


ejecucin Tiempo de ejecucin

Existen Errores

Pruebas

Gracias por su atencin...!!

Vous aimerez peut-être aussi