ejercicios de modularidad en c

Páginas: 7 (1536 palabras) Publicado: 30 de mayo de 2014
"Análisis Estructurado o Programación Modular"
EJERCICIOS PROPUESTOS
Objetivos:


Aplicar el análisis estructurado en el diseño de la solución de problemas.

EJEMPLO DE APLICACIÓN DE ANALISIS ESTRUCTURADO
Revisar la solución del siguiente ejemplo y probarlo con un juego de datos.

ENUNCIADO:
Diseñar una solución modular que permita calcular el número combinatorio, dada la fórmula quese explica
a continuación:
NUMEROS COMBINATORIOS
Los números combinatorios o binomiales se definen por la fórmula

Equivalen al número de combinaciones sin repetición de n elementos tomados de r en r. El término n! se
lee “el factorial de n”, y se calcula así: n! = 1 * 2 * 3 * 4 * … * n - 1 * n.
El número combinatorio son los distintos grupos que se pueden formar con r elementos de unconjunto de n
elementos.

Por ejemplo, Cuántos pares distintos (NO importando el lugar) pueden conformarse con las letras A, B y C;
O ¿Cuál es el número de combinaciones que se puede formar con n elementos tomando k de entre ellos?

Por lógica: AB, BA (repetido), AC, CA (repetido), BC, CB (repetido) = 3 formas; y, aplicando la fórmula se
tiene:

n!

3!

3*2*1

3*2*1

6---------------- = ------------------ = ----------------- = -------------------- = --------- = 3
r!(n-r)!

2!(3-2)!

2!(1)!

2*1*(1)

2

1

SOLUCION
I. Planteamiento General del Problema
Entrada de datos




Salida de datos

 Número de combinaciones
posibles

Cantidad de
elementos
Tamaño de la muestra

II Diagrama Top-Down
Listado de Cosas que hacer:
1. Leer y validar dosdatos enteros
2. Calcular el factorial de cada término en la fórmula (n, r, y n-r)
3. Calcular el número combinatorio
4. Imprimir el número de combinaciones posibles o número combinatorio
Se diseñará un módulo para leer cada dato entero, otro para calcular el factorial de un número, y el
principal que invoca los anteriores, y además, calcula e imprime el número combinatorio:
Diagrama Top-Downprincipal

leer

factorial

Se utilizarán tres módulos: principal, leer y factorial
Aplicación de la Metodología para resolver problemas
MODULO LEER
¿Qué hace?
Lee y valida un dato entero.
Entrada de datos



Un número entero

Salida de datos

 Devuelve un entero positivo o
cero

¿Cómo lo hace?
Variables de Salida: No hay, devuelve el valor contenido en la variable dato2

Variables de Entrada:
Nombre Tipo
Descripción
dato
entero Representa el número entero que debe ser positivo o cero
Parámetros: No hay, la función no tiene parámetros.
Constantes Simbólicas: No existen.
Restricciones:

dato >=0

Proceso:
Leer dato
Mientras dato < 0
Variables de Proceso:

Desplegar: “Error: debe ser positivo o cero. Intente de nuevo.”
Leer dato

No hayDiseño de Solución: Sub-flujograma:
leer ( )
“Digite el
número
entero:”

dato

MIENTRAS
dato= 2?
Si:
Repetir
f=f*i

Desde i =2 hasta n, 1

Retorna f
Definición de Variables de Proceso (Locales: utilizadas sólo en la función)
Nombre
i

Tipo
Entero

f

Entero

Descripción
Contador que almacena valores desde 2 hasta el
parámetro recibido en la función
Contiene el valordel factorial del parámetro
recibido.

4

Diseño de Solución:  Subflujograma Factorial

factorial (n)

f =1
No

n >=2

Si

i = 2, n, 1
f=f*i

Retornar f

Módulo principal
¿Qué hace?
1. Recibir cantidad de elementos y tamaño de la muestra
2. Recibir:
factorial de la cantidad de elementos
factorial del tamaño de la muestra
factorial de la resta [cantidad de elementosmenos tamaño de muestra]
3. Calcular e imprimir el número combinatorio

Entrada de datos




Recibe Cantidad de
elementos
Recibe Tamaño de la
muestra

Salida de datos

 Número
posibles

de

combinaciones

5

¿Cómo lo hace?
Definición de Variables de Salida
Nombre
com

Tipo
Entero

Descripción
Contiene la variable que almacena el factorial resultante

Definición...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • ejercicios c++
  • Ejercicios de c++
  • Ejercicios En C++
  • Ejercicios De C#
  • Ejercicios C++
  • ejercicio C
  • Ejercicios c++
  • Ejercicios c++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS