desarrollo de algoritmos1

Upload: yobi-lz-vga

Post on 14-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Desarrollo de Algoritmos1

    1/44

    UNIVERSIDAD NACIONALPEDRO RUIZ GALLOFACULTAD DE INGENIERIA CIVIL, SISTEMAS

    Y arquitectura

    Curso:Programacin Bsica

    DESARROLLO DE ALGORITMOS

    Docente: Ing. Mg. Yrma Capuay Capuay

    Lambayeque, ABRIL 2010

  • 7/29/2019 Desarrollo de Algoritmos1

    2/44

    1.1.- Ciclo de Vida

    Proceso que se sigue desde el

    planteamiento de un problema otarea hasta que se tiene una solucininstalada en la computadora y en

    funcionamiento por los usuariosfinales, mientras sea de utilidad.

  • 7/29/2019 Desarrollo de Algoritmos1

    3/44

    Anlisis

    Diseo

    Codificacin

    Problema

    Especificaciones

    Algoritmos

    Programa

  • 7/29/2019 Desarrollo de Algoritmos1

    4/44

    1.1.1.Fase de Anlisis

    Consiste en el examen y descripcindetallada de los siguientes aspectosrelativos al problema:

    Estudios de los datos de entrada Estudios de los datos de salidas o

    resultados

    Relacin entre la salida y la entrada. Descomposicin del problema en

    mdulos

  • 7/29/2019 Desarrollo de Algoritmos1

    5/44

    El resultado de esta fase es lo que sedenomina especificacin del problema.

    Datos deentrada

    Caja negra

    P

    Datos de salida

    Resultados

  • 7/29/2019 Desarrollo de Algoritmos1

    6/44

    Ejemplo:

    Sumar 2 nmero enteros:

    5P

    12

  • 7/29/2019 Desarrollo de Algoritmos1

    7/44

    radioP

    rea delcrculo

  • 7/29/2019 Desarrollo de Algoritmos1

    8/44

    1.1.2.- Fase de Diseo.- Consiste en eldiseo de la solucin al problemaplanteado en forma de algoritmo,

    se debe abordar en formasistemtica.

  • 7/29/2019 Desarrollo de Algoritmos1

    9/44

    El resultado es un algoritmo odescripcin del conjunto de accionesque debern ser realizadas por lacomputadora. Para su representacinse utilizan diferentes notaciones comopseudocdigo, diagrama de flujo,

    etc.

  • 7/29/2019 Desarrollo de Algoritmos1

    10/44

    1.1.3.-Fase de Codificacin.- En estafase se transcribe al algoritmoresultante de la fase anterior a unlenguaje de programacin concreto:En general es una tarea totalmentemecnica. Al resultado se le

    denomina programa.

  • 7/29/2019 Desarrollo de Algoritmos1

    11/44

    1.2.- Desarrollo y Diseo de algoritmos.

    Todo problema se puede describirpor medio de un algoritmo.

    La idea de algoritmo es natural comola vida misma vida, ya que siempreencierra una secuencia de pasos

    exento de ambigedades que llegaa la solucin de un problema.

  • 7/29/2019 Desarrollo de Algoritmos1

    12/44

    Se puede definir de la siguiente forma:

    Es un procedimiento que paso a paso

    solucionara un problema dado. Es la descripcin del conjunto de

    acciones que va a realizarse por

    computadora.

  • 7/29/2019 Desarrollo de Algoritmos1

    13/44

    1.2.1. Pseudocdigo

    Los programas deben ser escritos en unlenguaje que pueda entender lacomputadora. Es natural, por lo tantodescribir los algoritmos en un lenguajeque parezca ms al lenguaje utilizadopara escribir programas decomputadora, es decir un lenguaje de

    pseudoprogramacin, una imitacin delcdigo de las computadoras o como seconoce un pseudocdigo.

  • 7/29/2019 Desarrollo de Algoritmos1

    14/44

    El pseudocdigo es una mezcla delenguaje natural y smbolos, trminos y

    otras caractersticas comnmenteutilizadas en uno o ms lenguajes dealto nivel.

  • 7/29/2019 Desarrollo de Algoritmos1

    15/44

    Caractersticas: Son independientes de los lenguajes de

    programacin.

    Son independientes del modelo decomputadora en uso.

    Se expresan a travs del lenguajenatural.

    Debe ser finito (tener un INICIO y un FIN).

  • 7/29/2019 Desarrollo de Algoritmos1

    16/44

    No ambiguo, conciso y legible (usarvariables representativas)

    Eficaz y eficiente Preciso ( orden de realizar de cada

    paso)

    Definido ( obtener el mismo resultado sise realiza dos veces el mismo algoritmo).

  • 7/29/2019 Desarrollo de Algoritmos1

    17/44

    Uso de maysculas (INICIO; FIN) yestructuras de control.

    Indentacin ( justificar el algoritmo).

  • 7/29/2019 Desarrollo de Algoritmos1

    18/44

    1.2.2.- Estructuras de control

    Nos va a permitir controlar el flujo deejecucin de otras instrucciones:

    1.2.2.1.- Secuencial.- Se ejecutan lasinstrucciones en el mismo orden en que

    aparecen escritas.

  • 7/29/2019 Desarrollo de Algoritmos1

    19/44

    1.2.2.2.- Alternativas.-

    Simple.

    SI < condicin > ENTONCES11; 12; .ln

    FIN_SI

    La condicin es una expresin booleana

  • 7/29/2019 Desarrollo de Algoritmos1

    20/44

    Ejemplo:

    Si nota > 11 ENTONCES

    Escribir aprobadoFIN_SI

  • 7/29/2019 Desarrollo de Algoritmos1

    21/44

    Doble

    SI < condicin > ENTONCES111; 112; .1ln

    SINO121; 122; .12ln

    FIN_SI

  • 7/29/2019 Desarrollo de Algoritmos1

    22/44

    Ejemplo:

    Si nota < 11 ENTONCES

    Escribir aplazadoSINO

    Escribir aprobado

    FIN_SI

  • 7/29/2019 Desarrollo de Algoritmos1

    23/44

    MltipleSEGN SEA < condicin > HACER

    C1; 11; 12; .lnC2; 11; 12; .ln

    . . . .

    . . . .Cn:

    OTROS: 11, 12, .lnFIN_SI

  • 7/29/2019 Desarrollo de Algoritmos1

    24/44

    1.2.2.3.- Repeticiones o bucles

    En todo bucle hay una o varias accioneque han de repetir y una condicin que

    determina el nmero de repeticiones delas mismas.

    El valor de la condicin debe ser

    afectado por las acciones paraasegurar la terminacin del bucle enalgn momento.

  • 7/29/2019 Desarrollo de Algoritmos1

    25/44

    Segn que la evaluacin de lacondicin se realice al comienzo, al finalo dentro del bucle se tiene las siguientessentencias:

    MIENTRAS

    MIENTRAS < condicin > HACER11; 12; .ln

    FIN_MIENTRAS

  • 7/29/2019 Desarrollo de Algoritmos1

    26/44

    Se evala la condicin antes de iniciar elbucle y se repiten sucesivamente las

    instrucciones 11; 12; ln, mientrassiga siendo cierto o V.

  • 7/29/2019 Desarrollo de Algoritmos1

    27/44

    Ejemplo:

    MIENTRAS (A = 0) HACER

    Leer nota

    SI nota > 0 ENTONCES

    Suma Suma + nota

    SINO

    A 1

    FIN_SIFIN_MIENTRAS

  • 7/29/2019 Desarrollo de Algoritmos1

    28/44

    REPETIR

    REPETIR11; 12; .lnHASTA QUE

    Se evala la condicin despus de cada ejecucinde las instrucciones 11; 12; .ln, y se termina el

    bucle si es Verdad.

  • 7/29/2019 Desarrollo de Algoritmos1

    29/44

    Ejemplo:

    REPETIR

    Leer notaHASTA QUE: (nota = 0)

  • 7/29/2019 Desarrollo de Algoritmos1

    30/44

    PARA

    PARA Vc de Vi a Vf con incremento ln HACER11; 12; .ln

    FIN_PARA

    Se repiten las instrucciones 11, 12, . Ln, unnmero fijo de veces tantas como sucesivos

    valores toma la variable de control Vc desdeinicialmente Vi, incrementndose en cadarepeticin en ln, hasta que el valor de vc supere Vf

  • 7/29/2019 Desarrollo de Algoritmos1

    31/44

    Si el incremento es + 1, se obviar elincremento

    PARA Vc de Vi de Vf HACER

    11, 12, ln

    FIN_PARA

  • 7/29/2019 Desarrollo de Algoritmos1

    32/44

    Ejemplo:

    PARA I de 1 a 6 HACERLeer nota

    Suma suma nota

    FIN_PARA

    PARA V = 1 HASTA V=3 DE 1 HACER

    X 4 + 2W x+2

    FIN_PARA

  • 7/29/2019 Desarrollo de Algoritmos1

    33/44

    Ejemplo:

    1.- Escribir un algoritmo que lea 2nmeros y nos diga cual es el mayo o sison iguales.

    INICIO

    Leer A, B

    SI A = B ENTONCES

    Escribir A es el mayor

    SINO

  • 7/29/2019 Desarrollo de Algoritmos1

    34/44

    SI A > B ENTONCES

    Escribir A y B iguales

    SINOEscribir B es el mayorFIN_SI

    FIN_SIFIN

  • 7/29/2019 Desarrollo de Algoritmos1

    35/44

    2.- Construir un algoritmo que lea 2nmeros positivos y diga cual de ellos es

    el mayorINICIO

    REPETIR

    Pedir A, BHASTA QUE ()A>0 AND B>0)

  • 7/29/2019 Desarrollo de Algoritmos1

    36/44

    SI A > B ENTONCES

    May A

    Men B

    SINO

    SI A < B ENTONCES

    May B

    Men A

    SINO

  • 7/29/2019 Desarrollo de Algoritmos1

    37/44

    Escribir los nmeros son iguales

    FIN_SI

    FIN_SI

    Escribir el mayor es: , may

    Escribir el menor es: , men

    FIN

  • 7/29/2019 Desarrollo de Algoritmos1

    38/44

    3.- calcular el rea de un tringulo en funcinde la longitud de sus lados y mostrar el rea siesta es mayor que 20.

    INICIO

    REPETIR

    Pedir a, b, c

    HASTA QUE (a > 0 AND b>0 AND c >0)

    P (a + b + c)

  • 7/29/2019 Desarrollo de Algoritmos1

    39/44

    Area (P*(P a)(P-b)(P - c)^0.5

    SI Area > 20 ENTONCES

    escribir El rea del tringulo es, AreaFIN_ SI

    FIN

  • 7/29/2019 Desarrollo de Algoritmos1

    40/44

    1.2.3.- Elementos auxiliares de unprograma.

    Son variables que utilizan un programa y

    por la funcin que realiza dentro delmismo toman un nombre especial,modelizando su funcionamiento debidoa su frecuente utilizacin

  • 7/29/2019 Desarrollo de Algoritmos1

    41/44

    Son variables que realizan funcionesespecficas dentro de un programa.

    Son 3:

    Contadores Acumuladores

    Interruptores

    NOTA.- Investigar en que consiste,funciones, caractersticas y aplicacionescon 10 ejemplos por cada variable

  • 7/29/2019 Desarrollo de Algoritmos1

    42/44

    Es una variable (campo de memoria)cuyo valor se incrementa o decrementaen una cantidad fija positiva o negativa.

    Se dice que est asociado a un bueleporque muchas veces se usa elcontador para contabilizar las acciones

    internas del buele

  • 7/29/2019 Desarrollo de Algoritmos1

    43/44

    Un contador toma un valor inicial antesde iniciar su funcin incrementndose su

    valor cada vez que se realiza el suceso acontar.

    En la mayora de los casos se inicia

  • 7/29/2019 Desarrollo de Algoritmos1

    44/44