44

presentacion algoritmos

Embed Size (px)

DESCRIPTION

xd

Citation preview

  • ALGORITMOEs una serie de operaciones detalladas y no ambiguas, a ejecutar paso a paso, y que conduce a la resolucin de un problema.

  • La descripcin de un algoritmo usualmente se hace en tres niveles:Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que encuentran la solucin.Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

  • Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programacin especfico.

  • Diagramas de flujoUn diagrama de flujo es una representacin grfica de un algoritmo o proceso. Se utiliza en disciplinas como la programacin, la economa, los procesos industriales y la psicologa cognitiva. Estos diagramas utilizan smbolos con significados bien definidos que representan los pasos del algoritmo, y representan el flujo de ejecucin mediante flechas que conectan los puntos de inicio y de fin de proceso.

  • Ejemplo Diagrama de flujo

  • Ventajas de los diagramas de flujo

    Favorecen la comprensin del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy fcilmente los dibujos. Un buen diagrama de flujo reemplaza varias pginas de texto.Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisin.Muestran las interfases cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el anlisis de las mismas.Son una excelente herramienta para capacitar a los nuevos empleados y tambin a los que desarrollan la tarea, cuando se realizan mejoras en el proceso

  • Pseudocodigoel pseudocdigo (o falso lenguaje) es una descripcin de un algoritmo de programacin informtico de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programacin verdadero, pero que est diseado para la lectura humana en lugar de la lectura en mquina, y con independencia de cualquier otro lenguaje de programacin. Normalmente, el pseudocdigo omite detalles que no son esenciales para la comprensin humana del algoritmo, tales como declaraciones de variables, cdigo especfico del sistema y algunas subrutinas. El lenguaje de programacin se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notacin matemtica compacta. Se utiliza pseudocdigo pues este es ms fcil de entender para las personas que el cdigo de lenguaje de programacin convencional, ya que es una descripcin eficiente y con un entorno independiente de los principios fundamentales de un algoritmo.

  • Ventajas del pseudocdigo sobre los diagramas de flujo

    Ocupan mucho menos espacio en el desarrollo del problema.Permite representar de forma fcil operaciones repetitivas complejas.Es ms sencilla la tarea de pasar de pseudocdigo a un lenguaje de programacin formal.Si se siguen las reglas de identacin se puede observar claramente los niveles en la estructura del programa.En los procesos de aprendizaje de los alumnos de programacin, stos estn ms cerca del paso siguiente (codificacin en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo).Mejora la claridad de la solucin de un problema

  • Pasos para resolver un Problema:Anlisis del problema.Diseo del Algoritmo.Codificacin y Depuracin.Verificacin.Documentacin.

  • PRECISO: Un algoritmo debe indicar el orden de realizacin de cada paso.DEFINIDO: Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. FINITO: Si se sigue un algoritmo, se debe terminar en algn momento. CARACTERISTICAS DE LOS ALGORITMOS

  • En un Algoritmo se debe considerar tres partes:

  • Leer el enunciado cuantas veces sea necesario, hasta entenderlo completamenteDeterminar claramente con que datos de entrada se cuentan para la solucin del problema.Aclarar y determinar la informacin o resultados que se soliciten.Definir que clculos y/o comparaciones se necesitan para llegar al resultado finalTener en cuenta toda clase de condiciones y restricciones para la solucin del problema.PASOS A SEGUIR PARA ELABORAR UN ALGORITMO

  • Es la mnima unidad de informacin significativa para alguien. Es la materia prima para la obtencin de informacinDATO

  • InformacinEn sentido general, la informacin es un conjunto organizado de datos procesados, que constituyen un mensaje que cambia el estado de conocimiento del sujeto o sistema que recibe dicho mensaje

    Desde el punto de vista de la ciencia de la computacin, la informacin es un conocimiento explcito extrado por seres vivos o sistemas expertos como resultado de interaccin con el entorno o percepciones sensibles del mismo entorno. En principio la informacin, a diferencia de los datos o las percepciones sensibles, tienen estructura til que modificar las sucesivas interacciones del ente que posee dicha informacin con su entorno.

  • TIPO DE DATOS

    NUMRICOSNO NUMRICOSENTEROSREALES

    ALFANUMRICOSLGICO

    truefalse

    CARACTEREj.: 5, -23Ej.: 5.4, -23.6Ej.: Maracaibo, 15-02-09Ej.: a, 4, ?

  • Smbolos o signos que se utilizan para relacionar los datos (variables y/o constantes).OPERADORES

  • Operadores Aritmticos

    OPERADORNOTACINEXPONENTE^MULTIPLICACIN*DIVISIN/SUMA+RESTA-Divisin EnteraDivMdulo (resto)Mod

  • Operadores AritmticosLos operadores aritmticos div y mod, solo se pueden utilizar con nmeros enteros.El operador div calcula el cociente entero (parte entera) de la divisin de 2 nmeros enteros.

    Sintaxis:Operando1 div operando2

    Ejemplo:

    7 div 2= 3 (cociente)

    12 div 3= 4 (cociente)

  • El operador mod calcula el resto de la divisin de 2 nmeros enteros.

    Sintaxis:Operando1 mod operando2

    Ejemplo:

    7 mod 2 =1 (residuo)

    6 mod 3= 0 (residuo)

    Nota: Si el operando1 es 0, el resultado de div y mod no esta definido.

    Operadores Aritmticos

  • Operadores Relacionales

    OPERADORNOTACINMAYOR QUE>MAYOR O IGUAL QUE>=MENOR QUE=,

  • Reglas para la construccin de identificadores:

    Debe ser significativoNo puede coincidir con palabras reservadasMximo 32 caracteresSiempre comienza por un carcter alfabtico.Se puede utilizar letras, nmeros y el smbolo de subrayado (_).Podr ser utilizado indistintamente escrito en mayscula o minscula.

    Son palabras creadas por el programador para dar nombre a los objetos y dems elementos que necesita declarar en un programa.Identificadores

  • Son todos aquellos valores que no cambian en el transcurso de un algoritmo y son introducidas en el momento de utilizarse o desde el principio del algoritmoCONSTANTE

  • Se puede hacer una divisin de las constantes en tres clases:

    constantes literales (sin nombre)

    constantes declaradas (con nombre)

    constantes expresin

    CONSTANTE

  • Son valores de cualquier tipo que se utilizan directamente, no se declaran porque no tienen nombre. Por rjemplo;

    VolumenEsfera := 4/3 * 3.1416 * Radio * Radio * Radio; CONSTANTES LITERALES

  • Tambin llamadas constantes con nombre, son las que se declaran asignndoles un valor directamente. Por ejemplo:

    Pi = 3.141592; (* valor real *) Min = 0; (* entero *)

    Max = 99; (* entero *)

    Saludo = 'Hola'; (* cadena caract. *)

    VolumenEsfera := 4/3 * Pi* Radio * Radio * Radio;CONSTANTES DECLARADAS

  • A estas no se les asigna un valor directamente, sino que se les asigna una expresin. Esta expresin se evala en tiempo de compilacin y el resultado se le asigna a la constante. Ejemplo:

    Min = 0; Max = 100; Intervalo = 10; N = (Max - Min) div Intervalo;

    Centro = (Max - Min) div 2; CONSTANTES EXPRESIN

  • Son todos aquellos valores que pueden o no cambiar en el transcurso de un algoritmo. Usualmente son introducidas como datosVARIABLE

  • Una variable es un tipo de dato, referenciado mediante un identificador (que es el nombre de la variable). Su contenido podr ser modificado a lo largo del programa.

    Una variable slo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada: [Instruccin] < identificador>

  • Clasificacin de las Variables

  • Por su contenido Variables Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es decir almacenan nmeros, signos (+ y -) y el punto decimal. Ejemplo:

    iva = 0.15 pi = 3.1416 costo = 2500

    Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparacin entre otros datos.

    Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales). Ejemplo:

    letra = a apellido = lopez direccion = Av. Libertad #190

  • Por su uso

    Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica completa y que se usan normalmente dentro de un programa. Ejemplo:

    Suma = a + b

    Contadores.

    Acumuladores.

  • Variable que se incrementa o se decrementa durante la ejecucin de un proceso de forma CONSTANTE.CONTADORVariable que se incrementa o se decrementa durante la ejecucin de un proceso de forma VARIABLEACUMULADOR

  • FUNCIONES ESPECIALES:Abs (x) Valor AbsolutoSqr (x) CuadradoSqrt (x) Raz CuadradaRound (x) RedondeoTrunc (x) Truncamiento

    Ejemplos:

    Abs(-6) = 6

    Sqr (5) = 25

    Sqrt (64) = 8

    Round (9.5) = 10Round (9.4) = 9

    Trunc (9.5) = 9Trunc (5.2) = 5

  • Son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especialesEXPRESION

  • Expresiones Aritmticas

    ( X + Y) / 2

    ( X + Y^2) / Z^2

  • Expresiones AritmticasDetermine los errores en la siguiente imagen:

  • DIAGRAMA DE FLUJO: Es la representacin grfica de un procesoPSEUDOCODIGO: Es la representacin escrita de un procesoFORMA DE REPRESENTACIN DE LOS ALGORITMOS

  • Smbolos utilizados en la elaboracin de DFD

    Inicio o fin del programaPasos, procesos o lneas de instruccin de programa de cmputoOperaciones de entrada y salidaToma de decisiones y RamificacinLneas de flujoDisplay, para mostrar datosEnva datos a la impresora

    Inicio o fin del programaPasos, procesos o lneas de instruccion de programa de computoOperaciones de entrada y salidaToma de desicines y Ramificacin

  • Reglas para la creacin de DiagramasLos Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.Los smbolos se unen con lneas, las cuales tienen en la punta una flecha que indica la direccin que fluye la informacin procesos, se deben de utilizar solamente lneas de flujo horizontal o verticales (nunca diagonales).Se debe evitar el cruce de lneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.No deben quedar lneas de flujo sin conectarTodo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de muchas palabras.Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del smbolo final.Solo los smbolos de decisin pueden y deben tener mas de una lnea de flujo de salida.