Вы находитесь на странице: 1из 44

UNIANDES

Algoritmos y Programas

Ing. Marco R. Pusd


Ingeniero en Sistemas Computacionales marco_rpusda@yahoo.com

ALGORTIMOS
OBJETIVOS
Conocer la terminologa propia de la disciplina Definir y comprender claramente conceptos especficos de algoritmos y programas Introducirse en la notacin algortmica y a la forma e encarar los problemas de programacin

INTRODUCCIN
CONCEPTOS PREVIOS
Informtica (RAE): Conjunto de conocimientos cientficos y tcnicas que hacen posible el tratamiento automtico de la informacin por medio de computadoras electrnicas. Computadora: mquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lgicas y aritmticas, y proporcionar la informacin resultante a travs de un medio de salida

ALGORTIMOS
INTRODUCCION
Un ordenador por s slo no es capaz de hacer nada. Hace falta la ayuda de un programador. El programador es que programa las instrucciones necesarias al ordenador para realizar una tarea Algoritmo (RAE): Conjunto ordenado y finito de operaciones que permite hallar la solucin de un problema.

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 y validacin del programa por el computador

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 a 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 Si se sigue un algoritmo dos veces se debe obtener el mismo resultado Indicar exactamente el orden de realizacin de las instrucciones El algoritmo tiene que ser exacto, es decir datos exactos.

Definido:

Preciso:

Exacto:

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 averiada
8. Colocar la rueda de Repuesto 9.Colocar las tuercas 10.Retirar el gato 11.Apretar las tuercas

12.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

Ejercicio
Elaborar un algoritmo que permita calcular el proceso para medir un litro de agua teniendo 2 recipientes no graduados de 21/2 litros y 2 litros. (Describa los pasos)

Proceso
Datos de Entrada
Proceso Informacin

Numricos

Enteros (Integer) Ejemplo: 4, 6,-15,-10 Reales (Float, Double) Ejemplo: 0.8, 27.03 Carcter (Char) Ejemplo: a, G,$,6 Cadenas(String) Ejemplo: Algoritmos Verdadero Falso

Caracter

Lgicos

Operadores
OPERADOR Divisin Multiplicacin Suma Resta Divisin en Modulo (Residuo) Incremento Decremento Potenciacin SIMBOLO / * + % a/b 3*2 x+y a-b 5 % 3 => 2 EJEMPLO

++ -^, raiz

i++ => (i=i+1) i-- => (i=i-1) 2^3

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 ejecutable_objeto 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: LenguajedeMquina LenguajedeBajoNivel(Ensamblador) LenguajedeAltoNivel LenguajedeCuartaGeneracin LenguajeWebOrientadoaobjetos

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 Hardware de la computadora, difiere de una PC a otra.

del

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 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011 11001010 11001010 11110101 00101011 11001010 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 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 ST SEGMENTST ACK ACK ;Segmentodepila DW 64DUP(?) ;Defineespacioenlapila ST ENDS ACK DA A SEGMENT T ;Segmentodedatos SALUDO DB "Holamundo!!",13,10,"$";Cadena DA A ENDS T INICIO: ;Puntodeentradaalprograma MOVAX,DA A ;PonedireccinenAX T MOVDS,AX ;Poneladireccinenlosregistros MOVDX,OFFSETSALUDO ;Obtienedireccindelmensaje MOVAH,09H ;Funcin:Visualizarcadena INT 21H ;Servicio:FuncionesaltonivelDOS MOVAH,4CH ;Funcin:T nar ermi INT 21H CODE ENDS ENDINICIO ;MarcafinydefineINICIO

Lenguaje de alto nivel


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

Las estructuras sintcticas

de

los

programas

se

basan

en

reglas

Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java, C, vbnet,.

Lenguaje de cuarta generacin


Son utilizados para crear aplicaciones mediante asistentes, el cdigo se realiza automticamente dependiendo del lenguaje seleccionado

Ejemplos: Oracle portal, Genexus, Scrolla, etc.

Lenguajes web
Son utilizados para crear aplicaciones para ser utilizados en redes o internet. Crean aplicaciones para comercio electrnico, chats, correo electrnico, etc.. Ejemplos: asp, jsp, php, ruby, etc

Etapas de programacin

CdigoFuente
Modificacindel programafuente

Erroreslxicos Tiempodecompilacin

Compilador
APLICACIN

Erroreslgicos Tiempodepruebas

Existen BUENA No Errores PROGRAMACIN

Cdigoobjeto Linkado/ Interpretacin

Existen Errores No Existen Errores

Programa Ejecutablen Erroresdeejecuci


Tiempodeejecucin

Pruebas

PSEUCODIGO
Es la representacin de un algoritmo mediante una descripcin de pasos consecutivos que utiliza palabras especiales o reservados. Inicio Fin Leer Escribir Si Entonces Sino Mientras Repetir Para

Diseo de Algoritmos
VARIABLES Son los valores que van cambiando a medida que se ejecutan los programas. Ejemplo: y = y + c CONSTANTES Son los valores que no cambian durante le ejecucin de un programa. Ejemplo: Inters= 0.18 IDENTIFICADORES Son los nombres de las variables o constantes que son identificadas por el algoritmo o lenguaje de programacin, constan de uno o mas caracteres. Ejemplo: a, sum, var1, cadena

Diseo de Algoritmos
CONTADOR Se llama as a una variable que aumenta y disminuye en una cantidad exacta. Ejemplo: i=i+1, i=i+2, i=i-1

ACUMULADOR Es cuando una variable va aumentando progresivamente sus valores. Ejemplo: sum=sum+m; se tendr este tipo de variables cuando se hallan en las dos partes separadas por el igual

Diseo de Algoritmos
PALABRAS RESERVADAS Se llaman a todas las palabras propias del lenguaje de programacin Inicio Si Fin Entonces Leer Sino Escribir Mientras RepetirPara Entero Cadena

Ejemplo Algoritmo
PROGRAMA SUMA VARIABLES a,b,c:numero INICIOprograma ESCRIBIR("SUMA DE DOS NUMEROS") leer("INGRESE EL PRIMER NUMERO",a) leer("INGRESE EL SEGUNDO NUMERO",b) c=a+b escribir("EL RESULTADO ES ",c) FINprograma

SENTENCIA SI - SINO
Sirve para comprobar una o varias condiciones y si el resultado de ellas es verdadero entonces se procesa un bloque de sentencias, caso contrario otros bloques de sentencias sucesivamente

Condicin

Verdadero Hace algo

Falso

Hace otras operaciones

SENTENCIA SI - SINO
Son condiciones validas aquellas que estn compuestas por 2 variables o valores y un operador relacional2 aceptado por el lenguaje de programacin

OPERADOR Mayor que Menor que Mayor o igual Menor o igual Igual Diferente

SIMBOLO > < >= <= == !=

EJEMPLO
3>2 a<b 3>=a c<=2 a==b c!=2

Sintaxis SI - SINO
Si (condicin) entonces Sentencias Fin Si

Si (condicin) entonces Sentencias Sino Sentencias Fin Si


Si (condicin) entonces Sentencias Sino Si (condicin) entonces Sentencias Sino Sentencias Fin Si Fin Si

Gracias por su atencin...!!

Вам также может понравиться