viernes, 15 de marzo de 2019

DIAGRAMAS DE FLUJO - ENTREGA 03

ESTRUCTURAS DE CONTROL REPETITIVAS (PARTE I)

INTRODUCCIÓN.


Veamos un ejemplo para entender como funcionan estas estructuras repetitivas, por ej. "MIENTRAS tú me ignoras, otro me enamora", "HACER la tarea MIENTRAS no termines", y por último, "PARA cada familia afectada por inundaciones se les ayudará económicamente".

Una característica principal de una estructura repetitiva o iterativa (bucle o ciclo) es que tiene que ser finito dentro de la programación y por qué no en la vida real.

Analicemos el primer ejemplo mencionado anteriormente, "MIENTRAS tú me ignoras, otro me enamora", ¿cuál es la condición o expresión lógica? "tú me ignoras", en otras palabras, "MIENTRAS tu me ignoras", si cumple esta condición habrá instrucciones como "otro me enamora", si no cumple la condición saldrá del bucle y ejecutará otras instrucciones.

Estas estructuras repetitivas son usadas cuando queremos ejecutar un cierto número finito de instrucciones dada una condición.
Dentro de la programación es necesario que el bucle sea finito, caso contrario, verán que su programa tiende a colgarse.

No olviden y no me canso de decirlo, en una estructura repetitiva hay una condición o expresión lógica, dependiendo de la estructura que utilicemos (while, do-while, for) que se tiene que evaluar para ser finita y entre las instrucciones que se ejecutan dentro del ciclo tiene que haber un proceso para que en algún momento la condición cambie lógicamente.

TIPOS DE ESTRUCTURAS DE CONTROL REPETITIVA

Entre las estructuras repetitivas tenemos MIENTRAS(while), HACER-MIENTRAS(do-while) y PARA (for).

Un bucle o ciclo (loop) consta de tres partes principales:
  1. Iniciar la variable participante en la condición o expresión lógica.
  2. Definir la condición
  3. Procesar la variable participante en la condición para que sea finita.
Veamos ejemplos de un contador de 1 hasta 10 con las 3 estructuras repetitivas.

Algoritmo EjemploMientras
  i = 1 // Iniciar la variable
Mientras (i <= 10) // La variable participante se define en la condición
Escribir i
i = i + 1 // Incrementar o procesar la variable para que cumpla la condición y sea finita
FinMientras
FinAlgoritmo

------------------------------------------------------------------------------------------------------------------------

Algoritmo EjemploHacerMientras
  i = 1 // Iniciar la variable
Hacer
Escribir i
i = i + 1 /Incrementar o procesar la variable para que cumpla la condición y sea finita
  Mientras (i <= 10) // La variable participante se define en la condición
FinAlgoritmo

------------------------------------------------------------------------------------------------------------------------

Algoritmo EjemploPara
  Para i=1 Hasta 10 Con Paso 1 Hacer // Iniciar la variable, condición y procesar variable
  Escribir i
  Fin Para
FinAlgoritmo



CONCEPTOS FUNDAMENTALES

A la hora de programar de seguro veremos dos conceptos muy fundamentales dentro de las estructuras repetitivas, CONTADORES y ACUMULADORES.

CONTADOR, es una variable que por recomendación no obligatoria podría tener el nombre de cont, c, i, j, k, u otros. Esta variable inicia con un valor numérico que por lo general es 0 ó 1 y que ésta va cambiando de valor ya sea incrementando o decrementando, dependiendo de la condición del bucle para que sea finita, la finalidad es registrar la cantidad de veces que puede ejecutar una instrucción o un conjunto de instrucciones.

Veamos un ejemplo de contar desde 1 hasta 50.

Algoritmo CONTAR
    cont = 1 // Variable cont que se inicializa con el valor numérico 1
    Mientras cont <= 50 Hacer // Indicar en la condición hasta qué número quiere contar
        Escribir cont
        cont = cont + 1 // Variable cont incrementa en 1, esto es necesario para que el bucle sea finito
    Fin Mientras
FinAlgoritmo

ACUMULADOR (TOTALIZADOR), es una variable y siguiendo con las recomendaciones (recuerden que es opcional) podrían asignar como nombre ac, suma, s, total, sumaTotal, u otros. Esta variable inicia con un valor numérico (cero) si en caso se usa para acumular mediante una suma o resta, 1(uno) si el caso fuese para acumular una multiplicación o división, sabiendo que n + 0  = n, n - 0 = n y n * 1 = n, n / 1 = n. La finalidad es registrar la acumulación o total de una operación aritmética que normalmente usa un contador de ciclos.

Veamos un ejemplo de acumular 10 números ingresados por teclado.

Analizando esos 10 números ingresados por teclado es el contador de ciclos, y nuestro acumulador inicia en 0 (ACUMULADOR DE SUMA).

Algoritmo ACUMULAR
    ac = 0 // Variable ac  que se inicializa en 0
    cont = 1 // Hacemos uso del contador de ciclos
    Mientras cont <= 10 Hacer // Contador de ciclos hasta 10
        Leer n // Pedimos por teclado el número que vamos a acumular
        ac = ac + n // Acumulador de Suma, esta variable acumula su anterior valor + n
        cont = cont + 1 // Contador incrementando en 1 para que el bucle sea finito
    Fin Mientras
    Escribir ac
FinAlgoritmo


En las siguientes entregas veremos más ejercicios y mejor explicados con estructuras repetitivas utilizando DFDs.

Si alguien quiere que le ayude con la solución de un algoritmo, pues comente que yo respondo.

No hay comentarios:

Publicar un comentario