Fundamentos de Informática - Algoritmos y Bucles Iterativos

Embed Size (px)

Citation preview

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    1/12

    4/5/20

    FUNDAMENTOS DE INFORMTICADiagramas de FlujoProfesora Dra. Ing. Qumica Marta Basualdo

    2do. Ingeniera Qumica

    1Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de Flujo

    Algoritmos

    2

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    2/12

    4/5/20

    Diagramas de flujo - Algoritmos3

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Es un conjunto de operaciones y procedimientos que deben seguirse pararesolver un problema.

    El lenguaje algortmico es aquel, por medio del cual, se realiza un anlisispreviodel problema a resolver, para encontrar un mtodo de resolucin.

    El diseo del algoritmo es el ncleo para poder resolver el problema

    planteado. Luego, a partir del algoritmo, es posible elaborar un programa.

    Definicin de Algoritmos

    Problema Diseo del Algoritmo Programa

    Diagramas de flujo - Algoritmos4

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Un diagrama de flujo es una representacin grfica que ilustra lasecuencia de las operaciones que se realizarn para conseguir la solucinde un problema.

    Los diagramas de flujo se dibujan generalmente antes de comenzar aprogramarel cdigo frente a la computadora.

    Desempean un papel vital en la programacin de un problema yfacilitanla comprensin de problemas complicadosy sobre todomuy largos.

    Una vez que se dibuja el diagrama de flujo, llega a ser fcil escribir elprogramaen cualquier lenguaje de programacin.

    Permitenexplicar mejorel programa a otros.

    Por lo tanto, est correcto decir que un diagrama de flujo es una necesidadpara la documentacin mejor de un programa complejo.

    Definicin de Diagramas de Flujo

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    3/12

    4/5/20

    Diagramas de flujo Smbolos5

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de flujo Reglas6

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda aderecha.

    2. Los smbolos se unen conlneas, las cuales tienen en la punta una flecha que indica ladireccin que fluye la informacin procesos, se deben de utilizar solamente lneas deflujo horizontal o verticales(nunca diagonales).

    3. Se debeevitar el cruce de lneas, para lo cual se quisiera separar el flujo del diagrama aun sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuentaque solo se van a utilizar conectores cuando sea estrictamente necesario.

    4. No deben quedar lneas de flujosin conectar.5. Todo textoescrito dentro de un smbolo debe ser legible, preciso, evitando el uso de

    muchas palabras.

    6. Todos los smbolos pueden tenerms de una lnea de entrada, a excepcin del smbolofinal.

    7. Solo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de salida.

    Reglas para crear Diagramas de Flujo

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    4/12

    4/5/20

    Diagramas de flujo Ejemplos7

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Disear un algoritmo que pida 3 nmeros por teclado y calcule la suma y el producto de losnmeros.

    Ejemplo n 1

    Inicio

    a,b,c

    Suma = a + b + cProducto= a * b * c

    SumaProduct

    Fino

    Diagramas de flujo Ejemplos8

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Disee un algoritmo que determine el porcentaje de varones y de mujeres que hay en unsaln de clases.

    Ejemplo n 2

    Inicio

    V,M

    Porc_V = (V/(V+M))*100Porc_M = (M/(V+M))*100

    Porc_VPorc_M

    Fin

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    5/12

    4/5/20

    Diagramas de flujo Ejemplos9

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Disee un algoritmo que pida por teclado una temperatura en C, la convierta a K. Se pideque muestre la temperatura en K.

    Ejemplo n 3

    Inicio

    t_C

    T_K = t_C + 273

    T_K

    Fin

    Diagramas de flujo Ejemplos10

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Disee un algoritmo que exprese la capacidad de un disco duro en megabytes, kilobytes ybytes, conociendo la capacidad del disco en gigabytes. Considere que: 1 kilobyte = 1024bytes, 1 megabyte = 1024 kilobyte, 1 gigabyte = 1024 megabytes.

    Ejemplo n 4

    Inicio

    X_GB

    X_MB = 1024 * X_GBX_KB = 1024 * X_MBX_B = 1024 * X_KB

    X_MB; X_KB;X_B

    Fin

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    6/12

    4/5/20

    Diagramas de flujo Ejemplos11

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    En una playa de estacionamiento cobran $ 2.5 por hora. Disee un algoritmo que determinecuanto debe pagar un cliente por el estacionamiento de su vehculo, conociendo el tiempo deestacionamiento en horas y los minutos.

    Ejemplo n 5

    Diagramas de flujo Ejemplos12

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Disear un algoritmo para cambiar el signo de un nmero, nicamente en caso que seanegativo. .

    Ejemplo n 6

    Inicio

    N

    N = N * ( - 1)

    N

    Fin

    N

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    7/12

    4/5/20

    Diagramas de flujo Ejemplos13

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Disee un algoritmo que lea tres nmeros y determine el nmero mayor.

    Ejemplo n 7

    a>c?

    El mayorN es a

    Inicio

    a,b,c

    Fin

    a>b?

    F V

    b>c?

    V

    El mayorN es b

    El mayorN es c

    V

    F F

    Diagramas de flujo Ejemplos14

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Una tienda ha puesto en oferta la venta al por mayor de cierto producto, cuyo precio originalera de $10, ofreciendo un descuento del 15% por la compra de ms de 3 docenas y 10% encaso contrario. Disee un algoritmo que determine el monto de la compra, el monto deldescuento y el monto a pagar, sabiendo cuantas unidades del producto son vendidas. .

    Ejemplo n 8

    El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificadas de las

    cuales se elimina la nota menor y se promedian las tres notas ms altas. Disee un algoritmoque determine la nota eliminada y el promedio de prcticas de un estudiante.. .

    Ejemplo n 9

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    8/12

    4/5/20

    Diagramas de Flujo

    Estructuras repetitivas

    Bucles

    15

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de flujo - Bucles16

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Hasta ahora slo podemos ejecutar las sentencias solo una vez

    A menudo necesitamos ejecutar una sentencia o grupo de sentencias

    ms de una vez.

    BUCLE: es un segmento de algoritmo que se repite varias veces

    Motivacin

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    9/12

    4/5/20

    Diagramas de flujo - Bucles

    En ocasiones, un programa necesita repetir una serie de accionesdependiendo de diversas condiciones, p.ej:

    - Mientrasse cumpla una condicin

    Cero o ms veces

    - Hastaque NO se cumpla una condicin

    Una o msveces

    - Un nmeroconocido de veces N veces

    17

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Motivacin

    BUCLES NO

    DETERMINISTAS O

    INDETERMINISTAS

    BUCLES DETERMINISTAS

    Diagramas de flujo - Bucles

    Bucles deterministas

    Son aquellos para los cuales el nmero de repeticiones es

    conocido a priori.

    Tambin suelen denominarse ITERATIVOS.

    Uso de la sentencia For (para)

    Ejemplo: Escribir un algoritmo que lea un nmero del teclado, lesume diez veces una unidad y muestre el resultado por pantalla decada una de las sumatorias.

    18

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Tipos de Bucles

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    10/12

    4/5/20

    Diagramas de flujo - Bucles

    Bucles no deterministas o indeterministas

    Son aquellos para los cuales no se conoce a priori el nmero de

    veces que se van a repetir.

    El buclese repite hasta que se alcanza cierta condicin.

    No sabemos cuntas veces es necesario repetir el bucle para que la

    condicin se alcance.

    Tambin suelen denominarse RECURSIVOS.

    Uso de la sentencia While (mientras)

    19

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Tipos de Bucles

    Diagramas de flujo - Bucles20

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de flujo: FOR (NUMERO DE REPETICIONES CONOCIDO)

    Forndice = (VALOR INICIAL : PASO : VALOR FINAL)

    grupo de sentencias

    end

    - El INDICE tomarlos valores de valor inicial hasta valor final

    - El PASO STEP determina la cantidad a incrementar o decrementarcada

    vez que se ejecuta el bucle.

    NOTA: Los valores del ndice los cambia el Forautomticamente. El

    programador nunca debe manipular el valor del ndice.

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    11/12

    4/5/20

    Diagramas de flujo - Bucles21

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de flujo: FOR ASCENDENTE

    I

    INICIALIZAR

    CONDICIN

    INSTRUCCIONES

    INCREMENTO

    F

    SI

    NO

    Diagramas de flujo - Bucles22

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de flujo: While (n repeticiones desconocido)

    While (condicin)

    grupo de sentencias (cuerpo)

    end

    - Se evala la condicin

    - Si el resultado es falso, acaba y sigue con la instruccin siguiente end o

    sea finaliza el bucle.

    - Si el resultado es verdadero, entonces ejecuta el conjunto de instrucciones

    que componen el cuerpo del While

  • 7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos

    12/12

    4/5/20

    Diagramas de flujo - Bucles23

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    Diagramas de flujo: WHILE

    I

    CONDICIN

    INSTRUCCIONES

    F

    SINO

    Diagramas de flujo - Bucles24

    Fundamentos de Informtica Curso 2 02 - UTN - FRRo

    PREGUNTAS?