Está en la página 1de 4

SEUDOCODIGO %Procedimiento 1: Lee la cantidad de votos obtenidos en cada municipio por los cuatro candidatos Procedimiento LeerVotosPorCandiPorMpio (E/S=Real:

votos[ ] [ ]; E=Entero: filas, columnas) Variables Entero:i,j Inicio Para (i1, filas,1) escribir('Votacin del municipio',i) Para (j1, columnas,1) escribir ('Ingrese la votacin del candidato ',j) leer votos(i,j) Fin_para Fin_para Fin_procedimiento %Procedimiento 2: Imprime una matriz que indica los votos obtenidos en cada municipio por cada candidato Procedimiento ImprimirVotosPorCandiPorMpio(E=Real: votos[ ] [ ]; Entero: filas, columnas) Variables Entero: i, j Inicio Para (i1, filas,1) Para (j1, columnas,1) escribir (votos(i,j)) escribir(' ') fin_para escribir ('\n') fin_para Fin_Procedimiento % Procedimiento 3: Calcula el total de votos obtenidos por cada candidato y el porcentaje del total de los votos emitidos, Devolver la cantidad de votos que recibi cada candidato Procedimiento CalcularVotosPorCandiYPorcentajeDelTotal(E=Real: votos[ ] [ ]; Entero: filas, columnas S= Real: TotalVotosCandiyporce [ ] [ ]) Constante Entero: filasTP3 Variables Entero: i , j, k, TotalVotos, TotalVotosCandiyporce(filasTP,columnas) Inicio TotalVotos0 Para (i1, columnas,1) Para (j1,filas ,1) TotalVotosTotalVotos + votos(j,i); TotalVotosCandiyporce (1,i) TotalVotosCandiyporce (1,i)+votos(j,i); TotalVotosCandiyporce (2,i) i fin_para fin_para Para (k1, columnas, 1) TotalVotosCandiyporce (3,k) (TotalVotosCandiyporce (1,k)*100)/TotalVotos; Fin_para

Obs: La matriz TotalVotosCandiyporce contiene en su primera fila los votos por candidatos, la segunda fila contiene el numero que corresponde cada candidato y la tercera fila contiene el porcentaje del total de votos de cada candidato Fin_Procedimiento %Funcin 1: calcule el candidato ms votado Entero Funcin CalcularMasVotado(Real: TotalVotosCandiyporce [ ][ ], filasTP,columnas) Variables Entero: i Inicio MasVotado -1 Para (i1, columnas,1) si TotalVotosCandiyporce (1,i)>MasVotado MasVotado TotalVotosCandiyporce (1,i); CandiMasVotadoi; Fin_si Fin_para Devolver(CandiMasVotado) Fin_funcion %Procedimiento 4: indique el municipio donde ms se voto Procedimiento CalcularMpioMasVotado (E=Real: votos[ ] [ ]; Entero: filas, columnas S=Entero:Mpio) Variables Entero:i,j, VotacionMpio(filas), MpioMasVotado Inicio MpioMasVotado0 Para (i1, filas,1) Para (j1, columnas,1) VotacionMpio(i) VotacionMpio(i)+ votos(i,j); fin_para fin_para Para (i1,filas,1) Si MpioMasVotado<VotacionMpio(i) MpioMasVotadoVotacionMpio(i); Mpioi; fin_si fin_para Fin_Procedimiento %Procedimiento 5: indique que un candidato, si recibi ms del 50 de los votos, es el ganador. Si ningn candidato recibi ms del 50 de los votos, el procedimiento debe imprimir los dos candidatos ms votados, que sern los que pasen a la segunda ronda de las elecciones. Procedimiento GanadorSegunElPorcentajeDeVotos (E= Real: TotalVotosCandiyporce [ ] [ ]; Entero:filasTP, columnas; E=Ganador) Variables Entero:i,j, ganador Real:auxiliar,auxiliar1 Inicio Ganador0

Para (i1,columnas,1) Si TotalVotosCandiyporce (3,i)>= 50 Ganadori; Fin_si Fin_si Si Ganador = 0 Para (i1,columnas-1,1) Para( ji+1,columnas,1) si TotalVotosCandiyporce (3,i)< TotalVotosCandiyporce (3,j); auxiliar TotalVotosCandiyporce (3,i); TotalVotosCandiyporce (3,i) TotalVotosCandiyporce (3,j); TotalVotosCandiyporce (3,j) auxiliar; auxiliar1 TotalVotosCandiyporce (2,i); TotalVotosCandiyporce (2,i) TotalVotosCandiyporce (2,j); TotalVotosCandiyporce (2,j) auxiliar1; Fin_si Fin_para Fin_para Para (i1,2,1) escribir('el Candidato', TotalVotosCandiyporce (2,i) , 'pasa a una segunda ronda de elecciones') fin_para Fin_ si Fin_Procedimiento

%Algoritmo Principal: donde se leen los datos entrada y se muestran los resultados de los subprogramas desarrollados en los anteriores literales. ALGORITMO: ELECCIONDEGOBERNACION Constante: Entero: filas5; columnas4;filasTP3 Variables Entero:i,j, VOTOS [filas, columnas], CandiMasVotado,Ganador Inicio escribir ('ELECCIONES DE GOBERNACION DEL ESTADO XXXX \n') escribir ('Este estado tiene 5 municipios y los candidatos fueron 4') LeerVotosPorCandiPorMpio(VOTOS,filas,columnas); ImprimirVotosPorCandiPorMpio(VOTOS,filas,columnas) CalcularVotosPorCandiYPorcentajeDelTotal(VOTOS,filas,columnas, TotalVotosCandiyporce) para (i1,columnas,1) escribir ('El candidato ' i ' obtuvo ' TotalVotosCandiyporce (1,i)') fin_para CandiMasVotado=CalcularMasVotado(TotalVotosCandiyporce,filasTP,columnas); escribir (' El candidato que obtuvo ms votos fue',CandiMasVotado)

CalcularMpioMasVotado(VOTOS,filas,columnas,Mpio) escribir ('El municipio que ms voto fue: ',Mpio) GanadorSegunElPorcentajeDeVotos(TotalVotosCandiyporce,filasTP,columnas,Ganador); si Ganador ~= 0 escribir ('El ganador es el candidato',Ganador) fin-si Fin