martes, 13 de marzo de 2012

ALGORITMOS Y DIAGRAMAS CON REPETICIONES


1. TIPOS DE ITERACIÓN
Existen tres tipos principales de sentencias de repetición:
• Bucle MIENTRAS…
• Bucle REPETIR… MIENTRAS
• Bucle PARA
A continuación se describe cada una de ellas:

1.1         BUCLE MIENTRAS

El bucle mientras permite ejecutar un bloque de instrucciones mientras que una expresión lógica dada se cumpla, es decir, mientras su evaluación dé como resultado verdadero.
La expresión lógica se denomina condición y siempre se evalúa antes de ejecutar el bloque de instrucciones. Si la condición NO se cumple, el bloque NO se ejecuta. Si la condición SÍ se cumple, el bloque SÍ se ejecuta, después de lo cual la instrucción vuelve a empezar, es decir, la condición se vuelve a evaluar.
En el caso en que la condición se evalúe la primera vez como falsa, el bloque de instrucciones no será ejecutado, lo cual quiere decir que el número de repeticiones o iteraciones de este bloque será cero. Si la condición siempre evalúa como verdadera, la instrucción se ejecutará indefinidamente, es decir, un número infinito de veces.

La forma general del bucle mientras es la siguiente:
DIAGRAMA DE FLUJO PSEUDOCODIGO
mientras <condición> hacer
<bloque instrucciones>
fin_mientras

Donde, <condición> es la expresión lógica que se evalúa para determinar la ejecución o no del bloque de instrucciones, y <bloque instrucciones> es el conjunto de instrucciones que se ejecuta si la condición evalúa a Verdadero.

Ejemplos.
Ejemplo 1. Dado un número natural n se desea calcular la suma de los números naturales desde 1 hasta n.

ANALISIS DEL PROBLEMA:
Variables Conocidas: Un número natural.
Variables Desconocidas: Un número natural.
Condiciones El número buscado es la suma de los naturales empezando en uno hasta el número dado.

ESPECIFICACIÓN:
Entradas n Enteros, n ≥ 0 (n es el número dado).
Salidas
suma Enteros, suma ≥ 0
suma es la sumatoria de los primeros n números naturales.

DISEÑO:
Primera Aproximación:
Inicio
Paso 1. Leer el número.
Paso 2. Recorrer los números desde cero hasta el número dado e irlos sumando.
Paso 3. Imprimir la suma
Fin

Refinamiento:
1.    n: entero /* se define la variable para el número */
2.    suma: entero /* se define la variable para la suma */
3.    i: entero /* se define la variable para recorrer los números entre 0 y n */
4.    escribir ( “Escriba el numero: ” )
5.    leer (n) /* lee el primer número */
6.    suma = 0 /* inicia la suma en cero */
7.    i :=1 /* empieza la variable que recorre los números en 1 */
8.    mientras (i <= n) hacer
9.    suma = suma + i /* en cada iteración suma el número i */
10. i = i + 1 /* para tomar el siguiente número en la próxima iteración */
11. fin_mientras
12. escribir (“La suma es: ”, suma)

Diagrama de Flujo:
1.2         BUCLE REPETIR… MIENTRAS

El bucle REPETIR… MIENTRAS es similar al bucle mientras, la diferencia radica en el momento de evaluación de la condición.
En el bucle REPETIR… MIENTRAS la condición se evalúa después de ejecutar el bloque de instrucciones, por lo tanto, el bloque se ejecuta por lo menos una vez. Este bloque se ejecuta nuevamente si la condición evalúa como verdadero, y no se ejecuta más si se evalúa como falso.
La forma general del bucle REPETIR… MIENTRAS es la siguiente:

repetir
<bloque instrucciones>
mientras <condición>
Donde, <bloque instrucciones> es el conjunto de instrucciones que se ejecuta y
<condición> es la expresión lógica que determina si el bloque se ejecuta. Si la <condición> se
evalúa como verdadero el bloque es ejecutado de nuevo y si es evaluada como falso no es
ejecutado. Después de ejecutar el bloque de acciones se evalúa la <condición>.

Ejemplos
Ejemplo 1. El problema de calcular la suma de los números naturales desde 1 hasta n (enunciado anteriormente), se puede solucionar usando el bucle REPETIR… MIENTRAS.
A continuación se describe el algoritmo solución:

1.    n: entero /* se define la variable para el número */
2.    suma: entero /* se define la variable para la suma */
3.    i: entero /* se define la variable para recorrer los números entre 0 y n */
4.    escribir ( “Introduzca el número: ” )
5.    leer (n) /* lee el primer número */
6.    suma :=0 /* inicia la suma en cero */
7.    i =1 /* empieza la variable que recorre los números en 1 */
8.    haga
9.    suma := suma + i /* en cada iteración suma el número i */
10. i = i + 1 /* incrementa i en 1 para tomar el siguiente número en la próxima iteración */
11. mientras (i <= n)
12. escribir ( “La suma es: ”, suma )

Diagrama de Flujo:


1.3 BUCLE PARA
El bucle para ejecuta un bloque de instrucciones un número determinado de veces.
Este número de veces está determinado por una variable controladora que toma valores desde un valor inicial hasta un valor final.
En cada bucle después de ejecutar el bloque de instrucciones, la variable controladora es incrementada en un valor llamado incremento automáticamente y en el momento en que la variable sobrepasa el límite superior el bucle termina.
De la definición de bucle para se puede inferir que el bloque de instrucciones no se ejecuta si el límite inferior es mayor al límite superior.

La forma general del bucle para es la siguiente:
para (<variable> = <Voo> hasta <Vf> con incremento = inc =1)
hacer
<bloque instrucciones>
fin_para
Donde:
<variable> es la variable controladora del bucle, <Vo> es el valor inicial que toma la variable controladora.
<Vf> es el último valor que toma la variable controladora; cuando el valor de la variable contadora supere este valor, el bucle termina.
<bloque instrucciones> es el conjunto de instrucciones que se ejecuta en cada iteración, mientras la variable controldora no sobrepase el <lim_sup>.
Casos:
• Cuando <Vo> es menor que <Vf> ocurre lo siguiente (si <inc> = 1):
1. La variable contadora se inicializa con <Vo>
2. Se ejecuta <bloque de instrucciones>
3. Se incrementa automáticamente en 1 la variable contadora del bucle.
4. Si el valor de contador del bucle es menor o igual que <Vf> se vuelve de nuevo al paso 2. De otro modo se abandona el bucle.
• Es importante observar que el valor final de la variable contadora supera a <Vf> para que pueda finalizar el bucle
• Cuando <Vo> es mayor que <Vf> el bucle termina sin ejecutarse nunca el <bloque de instrucciones>., excepto si el incremento <inc> es negativo. Tenga en cuenta que no se genera error al correr el programa

Ejemplo:
para (x=5 hasta 4 con inc = 1)
hacer
Esta línea de código nunca se ejecuta.
• Pero:
para (x=5 hasta 4 con inc = -1)
hacer
para variable = Vo,
hasta Vf con inc = 1
ENTRADA
SALIDA
¿?????
Se ejecuta el bucle perfectamente.
• Tanto <Vo> como <Vf> pueden ser expresiones como en el siguiente ejemplo:
para(j=x+1 hasta 2*y)
hacer
En este caso se calculan primero los valores de las expresiones (x+1) y (2*y) empleando para esto los valores actuales de x y y para utilizarlos como <Vo> y <Vf> respectivamente.

Ejemplos.
Ejemplo 1. El problema de calcular la suma de los números naturales desde 1 hasta n (enunciado anteriormente), se puede solucionar usando el bucle para, a continuación se muestra el algoritmo solución:

1.    n: entero /* se define la variable para un número entero*/
2.    suma: entero /* se define la variable para la suma*/
3.    i: entero /* se define la variable la variable contadora */
4.    escribir(“ingrese el número:”)
5.    leer n /* lee el primer número */
6.    suma = 0
7.    para(i =1 hasta n)hacer
8.    suma =suma + i
9.    fin_para
10. escribir (“La suma es:”, suma)
Nótese que se requieren menos instrucciones que en las anteriores estructuras dado que el incremento de i se hace automáticamente en la instrucción 7 al repetir el bucle.
Diagrama de flujo:



Ejemplo 2. Calcular las primeras tres filas de la tabla de multiplicar de un número dado.

ANALISIS DEL PROBLEMA:
Variables Conocidas Un número.
Variables Desconocidas Tres números.
Condiciones
Los números buscados son el resultado de multiplicar un número conocido, por los números entre uno y tres.

ESPECIFICACIÓN:
Entradas n Enteros ( n es el número dado).
Salidas a1, a2, a3 Enteros, (ai es el i-ésimo múltiplo del número dado).
Condiciones ai = n * i para 1 <=i <=3

DISEÑO:
Primera Aproximación:
Inicio
Paso 1. Leer el número a calcularle la tabla de multiplicar
Paso 2. Para los números entre uno y tres calcular el múltiplo del número
Fin

Refinamiento:

1.    n: entero
2.    a: entero
3.    i: entero
4.    escribir ( “Introduzca el número para calcular su tabla de multiplicar:” )
5.    leer (n)
6.    para i =1 hasta 3 hacer
7.    a =n * i
8.    escribir (n, “*”, i, “=”, a, cambio_linea)
9.    fin_para
10. escribir (“Termino...” )

Diagrama de flujo:


3. TIPO DE VARIABLES ÚTILES PARA LA ITERACIÓN

Cuando se diseñan algoritmos que incluyen estructuras de control repetitivas, existen ciertas variables que cumplen una función específica en cada iteración del bucle, las más comunes son:
• Las variables contadoras
• Las variables acumuladoras
• Las variables bandera (flag, switch)

VARIABLES CONTADORAS
Como su nombre lo indica estas variables se usan fundamentalmente para contar, por lo tanto deben ser de tipo entero. Un ejemplo de este tipo de variables es la variable de control en un bucle para.
Una variable contadora se incrementa (o decrementa) en un valor constante en cada iteración del bucle. Es así como en los algoritmos presentados anteriormente para resolver el problema de calcular la suma de los números naturales desde 1 hasta n, la variable i es una variable contadora.

Ejemplo:
Desarrollar un algoritmo que imprima los números impares en orden descendente que hay entre 1 y 100.

Algoritmo Solución
i: entero
i =99
mientras (i >= 1 hacer
escribir ( i, ‘,’ )
i = i – 2
fin_mientras
En este caso i es una variable contadora, ya que en cada repetición del bucle la variable es decrementada en una cantidad fija, 2 en este caso.

VARIABLES ACUMULADORAS
La función de una variable acumuladora es almacenar valores numéricos que generalmente se suman (o multiplican) en cada iteración, por lo tanto la variable debe ser de tipo entero o real. Por ejemplo, en los diferentes algoritmos presentados para solucionar el problema de calcular la suma de los números naturales desde 1 hasta n, la variable suma es una variable acumuladora.

Ejemplo.
Calcular las suma de los cuadrados de los números entre 1 y 100.

Algoritmo Solución
i: entero
suma: entero
i =1
suma = 0
mientras (i <= 100)hacer
suma:= suma + i * i
i = i + 1
fin_mientras
escribir (“La suma de los cuadrados hasta 100 es:”, suma)

En este caso suma es una variable acumuladora mientras que la variable i es una
variable contadora.

VARIABLES BANDERA (FLAG, SWITCH)
Una variable bandera es utilizada dentro de la condición de un bucle, para determinar cuándo un bucle se sigue iterando o cuando no. De esta manera una variable bandera debe ser de tipo booleano o entero.

Ejemplo.
Realizar un programa que lea una serie de números reales y los sume. El programa debe preguntar al usuario cuando desea ingresar un siguiente dato y si el usuario responde que no desea ingresar más datos el programa debe confirmar la respuesta. Si el usuario desea continuar ingresando datos se debe seguir solicitando datos y si el usuario confirma su deseo de salir, el programa debe mostrar la suma de los datos leídos y terminar.

ESPECIFICACIÓN:

Donde, datos es la colección de n números reales que el usuario ingresa hasta que decide no continuar ingresando datos y suma es la sumatoria de dichos números y pertenece a los reales.

Algoritmo Solución
bandera: entero
dato: real
c: caracter
bandera = 1
suma = 0.0
mientras (bandera = 1) hacer
escribir (“Introduzca un dato:”)
leer (dato)
suma = suma + dato
escribir (“Desea continuar ingresando datos (S/N):”)
leer (c)
si (c = ‘N’ OR c = ‘n’) entonces
bandera = 0
fin_si
fin_mientras
escribir( “La suma es:”, suma)

4. CORRESPONDENCIA ENTRE BUCLES

En la teoría matemática de programación sólo es necesario un tipo de bucle, en esta sección se explican las correspondencias que hacen posible esta afirmación, tomando como bucle referencia el bucle mientras.
Correspondencia entre el bucle mientras y el bucle repetir –mientras La diferencia fundamental entre los bucles mientras y haga-mientras, es que en el segundo se ejecuta por lo menos una vez el <bloque de instrucciones>, mientras que en el primero hay la posibilidad de que no se ejecute alguna vez.

El ejecutar el bloque de acciones una vez antes del bucle mientras permite modelar un bucle haga-mientras, es decir:

haga
<bloque>
mientras (<condición>)
mientras <condición> hacer
<bloque>
fin_mientras

Correspondencia entre el bucle para y el bucle mientras:
Formalmente, un bucle para es una forma abreviada de un bucle mientras, precedido por una asignación y que en cada iteración incrementa una variable. Por lo tanto, el siguiente bucle para:

para <variable> = <Vo> hasta <Vf> hacer
<bloque>
fin _para

Es la abreviación del siguiente bloque de acciones:

<variable> = <Vo>
mientras <variable> <= <Vf> hacer
<bloque>
<variable> = <variable> + 1
fin _mientras

Cuando usar estructuras de controles definidos o indefinidos:
El bucle para se conoce comúnmente como estructura de control definida, ya que los valores iniciales y finales especificados para la variable contadora que controla el bucle determina de manera exacta el número de veces que se ejecuta el bucle.
Para utilizar un bucle para al resolver un algoritmo se debe determinar el número exacto de veces que se va a ejecutar el bucle. En el ejemplo de calcular la suma de los números de 1 hasta n. Se sabe que el bucle se repetirá n veces:
n = ((Vf - Vo)\inc) + 1

Resumen
Las estructuras de control cíclico permiten controlar la ejecución repetida de una secuencia de instrucciones.
El bucle mientras permite ejecutar un bloque de instrucciones mientras que la evaluación de una expresión lógica de cómo resultado verdadero.
El bucle repetir-mientras permite ejecutar un bloque de instrucciones por lo menos
una vez, después evalúa la condición para ejecutar de nuevo el bucle si la condición es verdadera.
El bucle para ejecuta un bloque de instrucciones un número determinado de veces.

DIAGRAMA DE FLUJOS CON DFD


Esta guía ilustrara una de las técnicas para representar “Soluciones” a problemas del Mundo Real en forma visual, es decir; en forma grafica.

Esta técnica mediante graficas de Diagrama de Flujo, ilustra como diseñar los procedimientos o sentencias con coherencia lógica, que representan la solución al problema planteado.

Hasta la presente década, para el desarrollo de cursos, tales como Algoritmos y Estructuras de Datos, no ha existido un Software que permita implementar el Diagrama de Flujo del problema planteado y que en especial permita su Ejecución (Compilación) y ver los resultados dentro del mismo diagrama de flujo, según el objetivo del problema.

Opciones del Software
Procedimientos

1.- Ejecutar DFD
2.- Presentación del Software en Modo Edición:
3.- Opción Archivo: Permite crear nuevo archivo, Guardar, imprimir, salir
4.- Opción Edición: Permite copiar, pegar, insertar, eliminar, otros.
5.- Opción Objeto: Permite ejecutar las opciones mostradas.
En esta opción cubre todas las bondades que brinda el Software en mención. Tales Asignación, Estructuras de control: Mientras<cond> , Para , Decisión, etc.
6.- Opción Ver: Permite aumentar o disminuir el Diagrama, depurar, etc.
7.- Opción Ejecución: Permite ejecutar F9, Pausar
8.- Opción Depuración: Permite ejecutar paso simple F7, evaluar F5
9.- Opción Opciones: Permite usar ángulos en grados, radianes.
10.- Opción Ayuda: Brinda ayuda al lector.
11.-Descripción de algunos botones.
12.- Los botones: Subprograma Anterior y Subprograma Siguiente se activan cuando su diagrama de Flujo tiene Subprogramas.


Aplicaciones usando Diagrama de Flujo

DFD es un software diseñado para construir y analizar algoritmos, se puede crear diagramas de flujo de datos para la representación de algoritmos, de programación estructurada a partir de las herramientas de edición que para éste propósito suministra el programa. Después de haber ingresado el algoritmo representado por el diagrama, podrá ejecutarlo, analizarlo y depurarlo en un entorno interactivo diseñado para éste fin. La interfaz gráfica de DFD, facilita en gran medida el trabajo con diagramas ya que simula la representación estándar de diagramas de flujo en hojas de papel.


Un Diagrama de Flujo de Datos es una descripción gráfica de un procedimiento para la resolución de un problema. Son frecuentemente usados para describir algoritmos y programas de computador. Los diagramas de flujo de datos están compuestos por figuras conectadas con flechas. Para ejecutar un proceso comienza por el INICIO y se siguen las flechas de figura a figura, ejecutándose las acciones indicadas por cada figura; el tipo de figura indica el tipo de paso que representa.


Elementos
Para inicia Primero las aplicaciones, primero se definen los elementos de un Diagrama de Flujo:



Problema #1
Diseñar un Diagrama de Flujo que calcule la suma de 2 números y genere su reporte respectivo. El diagrama debe solicitar el ingreso de 2 números. La suma se calcula SumaNum=a+b

Paso 1.- Ejecutar DFD. Presenta la pantalla principal de Modo Edición.
Paso 2.- Inserte el botón de Entrada/salida para enviar un Mensaje al usuario indicando ‘Bienvenidos’.
Observación: Cuando ingrese caracteres o cadenas, debe usar apostrofe “ ‘ “, al inicio y al final de la cadena. En nuestro caso, ‘Bienvenidos‘ y presione Aceptar.
Paso 3.- Lectura de Datos (Ingreso de Datos): Usar el símbolo de Lectura, inserte después del símbolo que contiene el mensaje de bienvenida.

A este símbolo se debe agregar las variables que usa el algoritmo para calcular la suma de los 2 números.
En nuestro problema se considera 2 variables: a, b. Luego Aceptar.

Paso 4.- Proceso de Datos (Transformación de Datos): inserte después del símbolo que contiene la definición de las variables. Para lo cual debe usar el símbolo de Proceso, aquí debe editar la formula que calcule la suma.
Ahora hacer doble clic y muestra el siguiente formulario indicando que edite la formula SumaNum=a+b para calcular la suma. Debe presionar el botón Aceptar.
Paso 5.- Reporte. Después del símbolo de Proceso inserte el símbolo de Reporte o el símbolo de salida donde se define la variable de salida SumaNum (si desea puede imprimir también los números de entrada.)

Hacer doble clic luego se muestra el formulario, para editar la variable respectiva.
Así finaliza la edición del diagrama de flujo y quedando lista para su ejecución.

Es la parte final donde se vera resultados de la suma de 2 numero, NO en el diagrama sino en diferentes formularios.


Paso E1.- Usar el Símbolo de Ejecución (compilación). El programa envía primero el mensaje, tal como se ilustra en la siguiente figura.
Paso E2.- Ingreso de datos.- Presione Continuar y luego observara el formulario para entrada (ingreso) de datos. Por cada dato que ingrese presione Continuar.
En el primer formulario ingrese 10 y luego continuar, luego aparece el segundo formulario, ingrese 5, finalmente presione Continuar y obtendrá su resultado.


Finalmente el sistema informa que el programa finalizo correctamente.


Problema # 2.- Diseñar un Diagrama de Flujo que permita leer 2 números enteros positivos m y n, luego:
a).- Calcula el producto de m por n si el numero m es mayor que el numero n
b).- Calcula la raíz cuadrada si el numero m es menor que n

Solución
Primero .- Se ilustra la solución mediante un programa Pseudocodigo (imitación de instrucciones maquina):
Inicio
Imprimir(“Lectura de 2 números m y n ”)
Imprimir(“ingrese numero m =”), leer(m)
Imprimir(“ingrese numero n =”), leer(n)
si ( m> n ) entonces
inicio
mult <------m*n
imprimir( “la multiplicación es = ”,mult)
fin
sino
inicio
raiz<------ sqrt(n)
imprimir( “La raíz cuadrada es = ”,raiz:10:4)
fin
Fin

Análisis: para m = 1, n = 2, el programa solo ejecuta el bloque correspondiente a la condición FALSO, pues m>n (1>2). Imprimiendo finalmente: imprimir( “La raíz cuadrada es = ”, raiz:10:4)

Segundo.- Mediante El Diagrama de flujo ( DFD).


Problema # 3.- Diseñar un Diagrama de Flujo que permita a un alumno ingresar su código =001 y su clave = 1010. Luego si los datos son correctamente ingresados el programa permite ingresar 3 practicas calificadas pc1,pc3 y pc3, luego calcula el promedio y muestra el reporte respectivo. Si los datos del alumno son incorrectos, debe emitir un mensaje “Sr. Alumno, Errores en datos” Solución.- La condición a validar es Si ( codigo=001) y (clave = 1010) entonces ‘ Leer 3 practicas y calcular su Promedio’ Sino Imprimir ‘debe emitir un mensaje “Sr. Alumno, Errores en datos”

Implementación del Diagrama de flujo’.


Ejecución:

1.- Ingresar el código y la clave correctamente
2- Ingresar las 3 prácticas calificadas. Pc1=12, Pc2=10 y Pc3=14.

Problema # 4. Diseñar un diagrama de flujo que permita ingresar 3 números enteros a, b y c. luego el programa averiguar si se cumple una de las tres relaciones y relación que se cumple ejecutar su tarea respectiva.
Relación 1.- Si a = b + c, entones calcular el producto de los 3 números
Relación 2.- Si b = a + c entones calcular la resta de los 3 números
Relación 3.- Si c = a + b entones calcular la suma de los 3 números
Si ninguna relación se cumple, emitir un mensaje: ‘ Sr. No existe relación ’

Solución:
Ejecución.-

Lectura de datos: considere la lectura de los números : a = 6, b = 4 y c = 10.
Proceso: La relación que se cumple es la relación 3, entones el resultado será:
m = a + b + c = 20.



Problema # 5. Diseñar un diagrama de flujo que permita ingresar a un usuario código = 100 y clave =200. Silos datos de entrada son correctos, el sistema solicita al usuario que ingrese un numero n y verifica si este numero es par o impar y luego envía el reporte según se el caso. Si el usuario no recuerda sus datos en la primera entrada, decide ingresar sus nuevos datos mediante ncodigo=10 y nclave=12. Si estos son correctos el sistema calcula la suma de sus datos ingresado y emite un reporte, en caso que sean incorrectos el sistema solo envía un mensaje de error.

Solución. Por los datos del problema, el usuario tiene 2 códigos y 2 claves para
validar sus datos de entrada al sistema.

El programa Pseudocódigo es:
Inicio
Imprimir (‘Ingrese código y clave’), leer(código, clave)
Si ((código = 100) y ( clave = 200)) entonces
Inicio
Imprimir(‘Bienvenidos:’), leer(n)
Si (n resto 2 = 0) entonces
Imprimir (‘El numero es par’)
Sino
Imprimir(‘El numero es impar’)
Fin
Sino
Imprimir(‘ingrese nuevos datos :’), leer(ncodigo, nclave)
Si (( ncodigo=10 ) y ( nclave=12 ) ) entonces
Inicio
Suma_codigo=ncodigo+ nclave
Imprimir(Suma_codigo)
Fin
Sino Imprimir(‘Segunda opción, error :’)
Fin

Diseño del Diagrama de Flujo:
Ejecución.- Si sus primeros datos contienen errores, entonces le solicita los segundos datos y a estos los acumula.
Si Ud. ingresa datos de validación diferentes a 100 y 200, obtendrá el mensaje de ingresar segundo tipos de datos y con estos se mostrara la suma acumulada de 10 +12.


3.2 Estructura de Control con número de instrucciones conocidas
Se conoce el número de instrucciones (bucles) a realizar Desde Vc <-- Vi hasta Vf Hacer
Inicio
<Instrucciones>
Fin
Observación:
1.- Ascendente : Se debe cumplir que Vi <= Vf
2.-Descendente: Se debe cumplir que Vf>=Vi
Problema # 1. Diseñar un diagrama de flujo que permita leer el numero de
términos de la serie 1+2+3+4+5+…….+n y luego calcular la suma acumulada.
Solución.
a).- Se define un contador (cont) como variable de control y n el número de términos a ingresar. Para sumar se define la variable Acum que va acumulando los valores según como avance el contador.
b).- La condición de terminación esta controlado por el contador, el cual avanza hasta que se menor o igual a n, dato ingresado por el usuario.
c).- Se debe inicializar el Acumulador en cero. Mediante Programa Pseudocódigo.