Está en la página 1de 7

DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

MODA

Ing. Juan Rafael Sánchez Bravo


Profesor Investigador
DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

Ejercicio 13. Diseñar un algoritmo que dado un conjunto de N elementos cualesquiera, obtenga el elemento de
moda.

1. Análisis del problema

a. Puedo resolver el problema? Sí c. Método de solución


 Se identifican los elementos diferentes
b. Datos de entrada  Se determina la frecuencia del elemento en el
conjunto
N  Número de datos del
 Se determina la frecuencia mayor
conjunto  El elemento que que tenga la frecuencia mayor es
 Tipo numérico entero la moda.
 Tipo Simple d. Variables de salida
X  No se requieren
e. Variables auxiliares
Variables
de salida Xdif
FRECUENCIA
X1

X2
 Frecuencia de
X3 elementos
 Conjunto X de N datos diferentes
X4  Cualquier tipo  Conjunto X de N  Tipo numérico
 Tipo estructurado o datos entero
.  Cualquier tipo  Tipo
compuesto (vectorial)
 Tipo estructurado
estructurado o
. o compuesto compuesto
(vectorial) (vectorial)
.

XN
DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

1. Análisis del problema (continúa)

Fmayor  Almacena frecuencia mayor.


 Tipo numérico entero
 Tipo Simple
i  Índice del elemento X (contador); indica posición del
elemento en la estructura de datos.
 Tipo numérico entero
 Tipo Simple

j  Índice del elemento Xdif (contador); indica posición del


elemento en la estructura de datos.
 Tipo numérico entero
 Tipo Simple

M  Tamaño del conjunto de elementos diferentes.


 Tipo numérico entero
 Tipo Simple

f. Restricciones
N>1
DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

2. Diseño del algoritmo B C D


A

I=0 No
Inicio i 0 EXISTE = FALSO

Si
“Num de datos (N>1):” i  i +1
i i+1 M  M +1

N
Existe = Falso
“X(“; i ; “):” Xdif(M)  X(i)

No
N>1 j 0
X( i ) No
Si I =N

Si
j  j +1
Inicia la lectura de los No Se obtiene la
datos del conjunto I =N
frecuencia
Si No
X(i)=Xdif(j)
j 0
Se seleccionan los
datos diferentes
Si

EXISTE = VERDADERO j  j +1
M=1

No Frecuencia(j)I = 0
Xdif(1)  X(1) j=M

Si 1
A B C D E
DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

2. Diseño del algoritmo

F
1 G

E
SE BUSCA LA
i 0 FRECUENCIA MAYOR SE BUSCA LA MODA

i  i +1 Fmayor= Frecuencia(1)
j 0

X(i) = Xdif(j) No j 0 j j +1

Si
j j +1 No
Frecuencia(j)  Frecuencia(j)+1 Frecuencia(j) = Fmayor

Si
Frecuencia(j) > Fmayor No
i =N No “ la moda es =“; Xdif(j)
Si
Si
No Fmayor Frecuencia(j) No
j =M j =M

Si Si
No
j =M Fin
F
Si
G
DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

3. Verificación del algoritmo


DEPARTAMENTO DE IRRIGACIÓN

P R O G R A M A C I Ó N

4. Codificación del algoritmo

REM INICIO
10 PRINT "NUMERO DE DATOS ? (N>1):"; REM SE OBTIENE LA FRECUENCIA DE CADA DATYO DIFERENTE
INPUT N J=0
IF N < 1 THEN GOTO 10 50 J = J + 1
REM INICIA LA LECTRURA DE LOS DATOS DEL CONJUNTO FRECUENCIA = 0
I=0 I=0
20 I = I + 1 60 I = I + 1
PRINT "X("; I; "):"; IF X(I) = Xdif(J) THEN FRECUENCIA(J) = FRECUENCIA(J) + 1
INPUT X(I) IF I <> N THEN GOTO 60
IF I <> N THEN GOTO 20 IF J <> M THEN GOTO 50
REM SE SELECCIONAN LOS DATOS DIFERENTES REM SE BUSCA LA FRECUENCIA MAYOR
M=1 Fmayor = FRECUENCIA(1)
Xdif(1) = X(1) J=0
I=0 70 J = J + 1
30 I = I + 1 IF FRECUENCIA(J) > Fmayor THEN Fmayor = FRECUENCIA(J)
EXISTE$ = "FALSO" IF J <> M THEN GOTO 70
J=0
40 J = J + 1 REM SE IMPRIME LA MODA
IF X(I) = Xdif(J) THEN EXISTE$ = "VERDADERO" J=0
IF J <> M THEN GOTO 40 80 J = J + 1
IF EXISTE$ = "FALSO" THEN IF FRECUENCIA(J) = Fmayor THEN PRINT "LA MODA ES="; Xdif(J)
M=M+1 IF J <> M THEN GOTO 80
Xdif(M) = X(I) END
END IF
IF I <> N THEN GOTO 30

También podría gustarte