Unidad 2 Algoritmos

download Unidad 2 Algoritmos

of 42

Transcript of Unidad 2 Algoritmos

  • 8/18/2019 Unidad 2 Algoritmos

    1/42

    UNIDAD 2

  • 8/18/2019 Unidad 2 Algoritmos

    2/42

    Metodología para la solución

    de problemas

  • 8/18/2019 Unidad 2 Algoritmos

    3/42

    Conceptos básicos

    Lenguaje 

    Medio de comunicación entre los seres

    humanos a través de signos orales yescritos que poseen un significado.

  • 8/18/2019 Unidad 2 Algoritmos

    4/42

    Lenguaje de

    programación Son los lenguajes utilizados para

    escribir programas de computadoras

    que puedan ser entendidos por ellas.

  • 8/18/2019 Unidad 2 Algoritmos

    5/42

    Lenguaje de

    programación* Conjunto de símbolos y reglas

    sintácticas  y semánticas  que

    definen su estructura  y elsignificado  de sus elementosrespectivamente. El lenguaje de

    programación es utilizado paracontrolar el comportamiento físico ylógico de una máquina.

  • 8/18/2019 Unidad 2 Algoritmos

    6/42

    Un algoritmo es una secuencia depasos lógicos para realizar una acción,

    programa o tarea ya que es el primerpaso para realizar un programa.

    ¿Qué es un algoritmo?

  • 8/18/2019 Unidad 2 Algoritmos

    7/42

     Ejemplos de algoritmos

    son: ¨ Instrucciones para montar una

    bicicleta

    ¨ Hacer una receta de cocina

    Instructivo para usar algún dispositivo.

  • 8/18/2019 Unidad 2 Algoritmos

    8/42

    Características de un algoritmo

    Preciso : Debe indicar el orden de realización en cada

    paso y no puede tener ambiguedad ).

    Definido. Si se sigue un algoritmo dos veces, se debe

    obtener el mismo resultado cada vez.

    Finito: Tiene fin; un número determinado de pasos.

  • 8/18/2019 Unidad 2 Algoritmos

    9/42

    ¿Qué significa

    metodología? Modo de decir o hacer con orden una

    cosa.

    Es un procedimiento –

    una sucesión deoperaciones- para resolver unproblema.

  • 8/18/2019 Unidad 2 Algoritmos

    10/42

     

    Para resolver un problema utilizando un sistema de

    cómputo, debe seguirse una serie de pasos que

    permiten avanzar por etapas bien definidas hacia lasolución y ejecución de la misma.

    Esta serie de fases o pasos deben seguirlas todos los

    programadores.

    Estas etapas son las siguientes:

    Metodología para lasolución de problemas

  • 8/18/2019 Unidad 2 Algoritmos

    11/42

    1. Definición del problema

    2. Análisis de los datos

    3. Diseño de la solución

    4. Codificación

    5. Prueba y depuración

    6. Documentación

    7. Mantenimiento

    Metodología para lasolución de problemas

  • 8/18/2019 Unidad 2 Algoritmos

    12/42

    Definición del problem

    Está dada en si por el enunciado del problema, el cual

    debe ser claro.

    Es importante que conozcamos exactamente “que  se

    desea obtener al final del proceso”, mientras esto no se

    comprenda no puede pasarse a la siguiente etapa.

  • 8/18/2019 Unidad 2 Algoritmos

    13/42

     Una vez que el problema ha sido definido y comprendido,

    deben analizarse los siguientes aspectos:

    Los resultados esperados

    Los datos de entrada disponibles

    Herramientas a nuestro alcance para manipular los datos

    y alcanzar el resultado.

    Análisis de los Datos

  • 8/18/2019 Unidad 2 Algoritmos

    14/42

    Consiste en establecer una serie de preguntasacerca de lo que establece el problema, para poderdeterminar si se cuenta con los elementossuficientes para llevar a cabo la solución del

    mismo, algunas preguntas son:

    ¿Con qué cuento? 

    Cuáles son los datos con los que se va a iniciar elproceso, qué tenemos que proporcionarle a lacomputadora y si los datos con los que cuento sonsuficientes para dar solución al problema.

    Análisis de los Datos

  • 8/18/2019 Unidad 2 Algoritmos

    15/42

    ¿Qué hago con esos datos?

    Una vez que tenemos todos los datos quenecesitamos, debemos determinar que hacer conellos, es decir que fórmula, cálculos, que proceso otransformación deben seguir los datos paraconvertirse en resultados.

    ¿Qué se espera obtener?

    Que información deseamos obtener con el procesode datos y de que forma presentarla; en caso de lainformación obtenida no sea la deseada replantearnuevamente un análisis en los puntos anteriores.

    Análisis de los Datos

  • 8/18/2019 Unidad 2 Algoritmos

    16/42

    Es recomendable que nos pongamos en el lugar dela computadora y analicemos que es lo quenecesitamos que nos ordenen y en que secuencia

    para producir los resultados esperados.

    Análisis de los Datos

  • 8/18/2019 Unidad 2 Algoritmos

    17/42

    Tomar en cuenta las características de un buen

    algoritmo:

    Preciso : Debe indicar el orden de realización en cada paso y no puedetener ambiguedad ).

    Definido. Si se sigue un algoritmo dos veces, se debe obtener el mismoresultado cada vez.

    Finito: Tiene fin; un número determinado de pasos.

    Diseño del algoritmo

  • 8/18/2019 Unidad 2 Algoritmos

    18/42

      Solo se establece la metodología para alcanzar lasolución en forma conceptual, es decir; sinalcanzar la implementación en el sistema decómputo.

    Diseño del algoritmo

  • 8/18/2019 Unidad 2 Algoritmos

    19/42

    Codificación

    Consiste en escribir en un lenguaje de

    programación  la representación del algoritmo

    desarrollada en etapas anteriores.

    Esto se refiere a la obtención de un programa

    definitivo que pueda ser comprensible para la

    máquina.

  • 8/18/2019 Unidad 2 Algoritmos

    20/42

    Prueba y depuración

    Una vez que se ha obtenido el programa ejecutable, este

    es sometido a prueba a fin de determinar si resuelve o no

    el problema planteado en forma satisfactoria

  • 8/18/2019 Unidad 2 Algoritmos

    21/42

    Es el proceso de encontrar los errores del programa y

    corregir o eliminar dichos errores.

    Se inicia la prueba de un programa introduciendo 

    datos válidos, inválidos y observando como reacciona

    en cada ocasión.

    El proceso de depuración consiste en localizar los

    errores y corregirlos en caso de que estos existan

    Prueba y Depuración

  • 8/18/2019 Unidad 2 Algoritmos

    22/42

    Debe crearse un manual o guía que sirva como ayuda

    para usar un programa, o facilitar futuras

    modificaciones.

    La documentación debe presentarse en tres formas:

    INTERNA

    EXTERNA y

     AL USUARIO FINAL

    Documentación

  • 8/18/2019 Unidad 2 Algoritmos

    23/42

    Mantenimiento

    Se refiere a las actualizaciones que deban aplicarse al

    programa cuando las circunstancias así lo requieran.

    Este programa deberá ser susceptible de ser modificado

    para adecuarlo a nuevas condiciones de operación.

  • 8/18/2019 Unidad 2 Algoritmos

    24/42

    Definición de Lenguajes Algorítmicos

  • 8/18/2019 Unidad 2 Algoritmos

    25/42

    Es una serie de símbolos y reglas que se utilizan para

    describir de manera explícita un proceso, que

    servirán de apoyo para describir las soluciones que aquí

    se plantean.

    Definición

    de Lenguajes Algorítmicos

  • 8/18/2019 Unidad 2 Algoritmos

    26/42

    Teniendo en cuenta la forma en que describen el

    proceso, existen dos tipos de lenguajes algorítmicos:

    Gráficos: Es la representación gráfica de lasoperaciones que realiza un algoritmo (diagrama de flujo).

    No Gráficos: Representa en forma descriptiva las

    operaciones que debe realizar un algoritmo (pseudo

    código).

    Tipos

    de Lenguajes algorítmicos

  • 8/18/2019 Unidad 2 Algoritmos

    27/42

    Elementos y reglas de la representación

    gráfica y manuscrita de los algoritmos

  • 8/18/2019 Unidad 2 Algoritmos

    28/42

    *Es la representación gráfica de un algoritmo. También

    se puede decir que es la representación detallada en

    forma gráfica de cómo deben realizarse los pasos paraproducir resultados.

    •Es es una representación pictórica de los pasos en un

    proceso, útil para determinar cómo funciona realmente el

    proceso para producir un resultado.

    ¿Qué es ?

    Diagramas de Flujo

  • 8/18/2019 Unidad 2 Algoritmos

    29/42

    ¿Cuándo se utiliza?

    Cuando se necesita ver cómo funciona realmente un

    proceso completo.

    Este esfuerzo con frecuencia revela problemas

    potenciales tales como cuellos de botella en el sistema,

    pasos innecesarios y círculos de duplicación de trabajo.

    Diagramas de Flujo

    Di d Fl j

  • 8/18/2019 Unidad 2 Algoritmos

    30/42

    Algunas aplicaciones comunes son:

    •Definición de proyectos:

    •Identificación de las causas principales:

    •Diseño de Soluciones:

    • Aplicación de soluciones:

    •Control (Retener las Ganancias):

    Diagramas de Flujo

  • 8/18/2019 Unidad 2 Algoritmos

    31/42

    * Debe de indicar claramente dónde inicia y dónde termina el

    diagrama.

    * Cualquier camino del diagrama debe de llevarte siempre a la

    terminal de fin.

    * No usar lenguaje de programación dentro de los símbolos.

    * Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o

    de izquierda a derecha.

    * Los símbolos se unen con líneas, las cuales tienen en la punta una

    flecha que indica la dirección que fluye la información procesos, se

    deben de utilizar solamente líneas de flujo horizontal o verticales

    (nunca diagonales).

    Reglaspara la creación de Diagramas de Flujo

  • 8/18/2019 Unidad 2 Algoritmos

    32/42

    Si b l í

  • 8/18/2019 Unidad 2 Algoritmos

    33/42

    Simbología

    utilizada en diagramas de flujo

    Los símbolos básicos utilizados en los diagramas de

    flujo son:

    Si b l í

  • 8/18/2019 Unidad 2 Algoritmos

    34/42

      Inicio o fin del programa

    Proceso: Pasos, procesos o líneas de instrucción de programa de computo

    Operaciones de entrada y salida

    Decisión: Toma de decisiones y Ramificación

    Conector misma página: Conector para unir el flujo a otra parte del diagrama

    Cinta magnética

    Disco magnético

    Simbología

    utilizada en diagramas de flujo

    Si b l í

  • 8/18/2019 Unidad 2 Algoritmos

    35/42

      Conector a otra página

    Líneas de flujo

    Anotación

    Display, para mostrar datos

    Imprimir: Envía datos a la impresora

    Simbología

    utilizada en diagramas de flujo

    Di E t t d

  • 8/18/2019 Unidad 2 Algoritmos

    36/42

    Las estructuras de control son:

    1.- Estructuras secuenciales

    1.1 La declaración de variables

    1.2 asignación1.3 instrucción Leer    e instrucción Escr ib i r    .

    2.- Estructuras condicionales (de decisión)2.1 Simples

    2.2 Dobles (alternativas)

    2.3 Múltiples

    3.- Estructuras de repetición

    3.1 Mientras

    3.2 Repetir

    3.3 Para

    Diagrama Estructurado

    Di E t t d

  • 8/18/2019 Unidad 2 Algoritmos

    37/42

     1.- Estructuras secuenciales 

    Son aquellas que se ejecutan una después de otra. Se tienen trestipos de instrucciones secuenciales:

    •La declaración de variables,

    •asignación,

    • instrucción Leer    e instrucción Escr ib ir    .

    Diagrama Estructurado

  • 8/18/2019 Unidad 2 Algoritmos

    38/42

    Di E t t d

  • 8/18/2019 Unidad 2 Algoritmos

    39/42

    Asignación

     Asignar un valor a una variable equivale a decir que seguarda dicho valor en la posición de memoria reservado para

    la variable en mención. Por lo tanto, para poder  realizar una asignación es necesario

    primero haber declarado una variable, con lo cual se reservaun espacio de memoria suficiente para guardar un dato deltipo especificado.

    Una expresión de asignación tiene la forma: Variable = expresión

    Donde la expresión puede estar formada por un valor, por unconjunto de valores y operadores o por una función.

    Diagrama Estructurado

    Di E t t d

    http://www.monografias.com/trabajos35/el-poder/el-poder.shtmlhttp://www.monografias.com/trabajos35/el-poder/el-poder.shtml

  • 8/18/2019 Unidad 2 Algoritmos

    40/42

    Ejemplos:

    Edad = 10 Estatura = 1.80

    Resultado = 2*3

    Una asignación tiene tres partes:

    La variable siempre va a la izquierda del igual, mientras que la

    expresión siempre estará a la derecha.

    Ejemplos:

    X = 10

    Y = X * 2 + 8

    En este ejemplo, la variable Y contendrá el valor 28.

    Una variable El signo igual valor que seasigna a lavariable

    X  =  5 

    Diagrama Estructurado

    Di E t t d

  • 8/18/2019 Unidad 2 Algoritmos

    41/42

    Instrucción Leer

    La instrucción LEER se utiliza para enviar información desdeun dispositivo de entrada de datos hacia la memoria. En la

    memoria los datos son ubicados mediante el identificador(nombre de variable) utilizado como complemento de lainstrucción LEER.

    Ejemplo:

    Leer a, b

    Diagrama Estructurado

    http://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtmlhttp://www.monografias.com/trabajos16/memorias/memorias.shtml

  • 8/18/2019 Unidad 2 Algoritmos

    42/42