informeproyecto2
DESCRIPTION
informeTRANSCRIPT
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 1/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
PROYECTO – LAB – 131
Elecciones Municipales de la ciudad de La Paz
Considerando que se aproximan las elecciones Municipales de nuestro país, se requiere
controlar la información de este proceso utilizando estructuras, para esta tarea se pide resolver
los siguientes problemas:
! inscripción de los electores, que generar" un login # pass$ord para la votación
virtual del elector %! inscripción de los partidos políticos # sus postulantesC! &epositar en una mesa el voto de los electores' (La votación es virtual!
&! Emisión de resultados como ser: n)mero de votos por Partido(textual # en graficoestadístico!E! Mostrar a partido ganador
1. Análisis
Lista Mesas.
Lista Partidos Políticos.
ListaNro.
Mesa
Persona:Nombre,Apellido,fechaNac, Ci,logo, paswoord
Si voto
o no?
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 2/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
Como se puede observar en la gura arriba, en primera instancia crearemos
una clase Persona!ob"eto# $ otro clase PartidoPolitico!ob"eto# $ luego unaclase %istaMesas!con informaci&n en cada nodo un %istaPersonas!con
informaci&n en cada nodo Persona!'b"eto# $ votoSioNo?# $ nroMesa# $ luego
otra clase %istaPartidosPoliticos!con informaci&n en cada nodo un
PartidoPolitico $ nro(otos#.
Posteriormente daremos soluci&n al planteamiento del enunciado del
problema, considerando los puntos a resolver )ue se detalla el ob"etivo, a
continuaci&n.
2. Obeti!os.*l ob"etivo de +ste pro$ecto: Con la proimidad de las elecciones Municipales
en nuestro pa-s, se re)uiere controlar la informaci&n, para esta tarea
consideraremos los siguientes puntos:
nscripci&n de los electores para la votaci&n virtual del elector. nscripci&n de los partidos pol-ticos $ sus candidatos. /eali0aci&n de la votaci&n !%a votaci&n es virtual#.
*misi&n de los resultados. Mostrar al o a los partido!s# ganador!es#.
3. "ia#ra$a de clases
PartidoPolitico:
1
NombreCandidat
oNro.
(otos
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 3/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
%.
C&di#o en 'a!a.
public class Persona { private String Nombre,Paterno,Materno,FechaNacimiento,CI,Login,Password; public Persona()
{ Nombre ="";Paterno =""; Materno = ""; FechaNacimiento = "";CI=""; Login=""; Password=CI;
public void !eerPersona()
{ Sstem#out#$rint!n("Intr#% &nombre'a$at'amat'echan'ci*");Leer dat=new Leer();Nombre =dat#datoStr(); Paterno=dat#datoStr();Materno = dat#datoStr(); FechaNacimiento = dat#datoStr();CI=dat#datoStr();
Login=Paterno#char+t()-""-Materno#char+t()-""-Nombre#char+t()-N.mFecha( this#FechaNacimiento);
Password=CI;
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 4/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
public void mostrarPersona(){Sstem#out#$rint!n(" ' Nombre +$e!!ido% "-Nombre-" "-Paterno-"
"-Materno);Sstem#out#$rint!n(" ' Fecha de Nacimiento% "-FechaNacimiento);Sstem#out#$rint!n(" ' C#I#% "-this#CI);
Sstem#out
#$rint!n(" ' Login% "-this#Login-"/n"); private String N.mFecha(String Fecha)
{ String a.0="";for(int i=; i1Fecha#!ength(); i--)
if(Fecha#char+t(i)2=3344Fecha#char+t(i)1=353)a.0=a.0-Fecha#char+t(i);
return a.0; public void CambiarPassword(){
Sstem#out#$rint("Password +ntig.o% ");Leer da=new Leer();String antig.o = da#datoStr();if(antig.o#com$are6o(this#Password)==){
Sstem#out#$rint("Password N.e7o% ");Leer da8=new Leer();String n.e7o=da8#datoStr();Sstem#out#$rint("Conirmar% ");Leer d9=new Leer();String 7er=d9#datoStr();if(n.e7o#com$are6o(7er)==){
this#Password=n.e7o;Sstem#out#$rint!n("Listo#:");
else{Sstem#out#$rint!n("Fa!!o");
else{
Sstem#out
#$rint!n("Password In7a!ido"); public String getLogin()
{ return Login; public String getPaswoord(){ return Password;
public class NodoPersona {int inoContro!;Persona inoPersona;NodoPersona sig;NodoPersona(){
sig= null; inoContro!=;inoPersona= new Persona();
int getinoContro!(){
return(inoContro!);Persona getinorPersona(){
return(inoPersona);NodoPersona getsig(){
return(sig);
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 5/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
void asiginoContro!(int it){
inoContro!= it;void asiginorPersona(Persona 0){
inoPersona= 0;void asigsig(NodoPersona 0){
sig= 0;
public class ListaInscripcionP {NodoPersona $; public ListaInscri$cionP(){ $= null; boolean es7acia(){ boolean 0= $==null true % false;return (0);
NodoPersona get$(){ return($);
void adi$rimero (Persona it){
NodoPersona 0 = new NodoPersona();0#asiginorPersona(it);if(es7acia()){ 0#asigsig(0); else
{ 0#asigsig(get$());NodoPersona <=$osicion(contar()-);<#asigsig(0);$= 0;
int contar(){int c= ;if(:es7acia()){ NodoPersona <= get$();do
{ c--;<= <#getsig();
while(<:=$);return(c);
NodoPersona $osicion(int $os){int i;NodoPersona <= get$();for(i=;i1=$os'8;i--){
<= <#getsig();
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 6/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
return(<);
void adi.!timo(Persona it){
NodoPersona 0 = new NodoPersona();0#asiginorPersona(it);if(es7acia()){ adi$rimero(it); else
{ NodoPersona <=$osicion(contar()-);0#asigsig(<#getsig());<#asigsig(0);
void !eerListaIP(){
Sstem#out#$rint!n("%2 ''' Lista Inscri$cion%###");int i=,>=; while(i==)
{ Sstem#out#$rint!n(>-"% Persona#");Persona it= new Persona();it#!eerPersona();adi.!timo(it);Leer dat8= new Leer();Sstem#out#$rint!n("?igite $ara contin.ar% ");i= dat8#datoInt();>--;
void mostrarListaIP(){ Sstem#out#$rint!n("%2 ''' Lista Inscri$cion '''");
NodoPersona <= get$();
int c= contar();int i;for(i=; i1c; i--){
Sstem#out#$rint!n(i--"#' Persona");Persona it= new Persona();it= <#getinorPersona();it#mostrarPersona();<= <#getsig();
int b.sca$os(String @){ int $os=,c,sw= ;
NodoPersona <= get$();
c= contar(); while((c2) 44 (sw==)){
Persona it= new Persona();it= <#getinorPersona();$os--;if(it#getLogin()#com$are6o(@)==){ sw= ; <= <#getsig();c'';
if(sw==)
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 7/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
{ $os= ;return($os);
public boolean 7eriicaPaswoord(String @){ boolean sw=false;
NodoPersona <= get$();int c= contar(); int i;for(i=; i1c; i--){
Persona it= new Persona();it= <#getinorPersona();if(it#getPaswoord()#com$are6o(@)==){ sw=true; <= <#getsig();
return sw;
public void .s.arioAmiteBoto(String $as, ListaInscri$cionPatidosP !$$){
NodoPersona <= get$();
int c= contar(); int i;for(i=; i1c; i--){
Persona it=new Persona();it=<#getinorPersona();if(it#getPaswoord()#com$are6o($as)==){
if(<#getinoContro!()==){ Sstem#out#$rint!n("Intr# sig!a de $artido
$o!itico%###"); Leer da=new Leer();String sg!=da#datoStr();!$$#ac.m.!aBotosIPP(sg!);<#asiginoContro!();
else{ Sstem#out#$rint!n("a emitio s. 7oto####:::::");
<= <#getsig();
public class NodoMesa {int nroMesa;ListaInscri$cionP !istaSI;NodoMesa sig; public NodoMesa(){
sig= null;!istaSI= new ListaInscri$cionP();
public int getNroMesa(){
return(nroMesa); public ListaInscri$cionP getListaSI(){
return(!istaSI);NodoMesa getsig(){
return(sig);
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 8/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
public void asigNroMesa(int it){
nroMesa= it; public void asigListaSI(ListaInscri$cionP 0){
!istaSI= 0; public void asigsig(NodoMesa 0){
sig= 0;
public class ListaMesas {NodoMesa $; public ListaMesas(){ $= null; public boolean es7acia(){ boolean 0= $==null true % false;return (0);
public NodoMesa get$(){ return($); public void adi$rimero (int it, ListaInscri$cionP !ista){ NodoMesa 0 = new NodoMesa(); 0#asigNroMesa(it); 0#asigListaSI(!ista); 0#asigsig(get$()); $= 0; public int contar(){
int c= ;NodoMesa <= get$();
while(<:=null){ c--;<= <#getsig();return(c);
public NodoMesa $osicion(int $os){
int i;NodoMesa <= get$();for(i=;i1=$os'8;i--){
<= <#getsig();return(<);
public void adi.!timo(int it, ListaInscri$cionP !ista){ NodoMesa 0 = new NodoMesa();0#asigNroMesa(it);0#asigListaSI(!ista);if(es7acia()){ adi$rimero(it, !ista); else
{ NodoMesa <=$osicion(contar()-);<#asigsig(0);
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 9/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
public void leeM (){int i=,it=; while(i==)
{Sstem#out#$rint!n("%%%%%%%%%% ''' Mesa% & "-it-" *
''' %%%%%%%%%%");ListaInscri$cionP @= new ListaInscri$cionP();@#!eerListaIP();adi.!timo(it, @);Leer dat8= new Leer();Sstem#out#$rint!n("?igite $ara contin.ar otra !ista% ");i= dat8#datoInt();it--;
public void
mostrarM (){NodoMesa <= get$();int it; while(<:=null){
ListaInscri$cionP @= new ListaInscri$cionP();it= <#getNroMesa();@= <#getListaSI();Sstem#out#$rint!n("%%%%%%%%%% ''' Mesa% & "-it-" *
''' %%%%%%%%%%");@#mostrarListaIP();<= <#getsig();
public void prosesoDeEleccion(ListaInscri$cionPatidosP !$$){
int in=; while(in==){
Sstem#out#$rint!n("Intr# $aswoord de .s.ario%####");Leer da=new Leer();String $aso=da#datoStr();NodoMesa <= get$(); while(<:=null){
ListaInscri$cionP @= new ListaInscri$cionP();@= <#getListaSI();
if(@#7eriicaPaswoord($aso)){
@#.s.arioAmiteBoto($aso, !$$);
<= <#getsig();Sstem#out#$rint!n("Intr# $ara contin.ar");Leer da8=new Leer();int i=da8#datoInt();in=i;
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 10/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
public class PartidoPolitico { private String nombreCandidato, a$e!!idoCandidato, nombrePartidoP; private String sig!a; public PartidoPo!itico(){ nombreCandidato=""; a$e!!idoCandidato="";
nombrePartidoP=""; sig!a=""; public void !eerPartidoP(){ Sstem#out#$rint!n("% &nomCandidato'a$e!!idoCand'nombrePartidoP'
sig!a*");Leer dat=new Leer();nombreCandidato=dat#datoStr(); a$e!!idoCandidato=dat#datoStr();nombrePartidoP=dat#datoStr(); sig!a=dat#datoStr();
public void mosrtrarPartidoP(){ Sstem#out#$rint!n("' ?atos candidato% "-nombreCandidato-"
"-a$e!!idoCandidato);Sstem#out#$rint!n("' nombrePartidoP% "-nombrePartidoP);Sstem#out#$rint!n("' sig!a% "-sig!a);
public String getSig!a(){
return sig!a; public boolean 7eriicaSig!a(String si){
return(getSig!a()#com$are6o(si)==);
public class NodoPartidoP {int nroBoto;PartidoPo!itico ino;NodoPartidoP sig;
NodoPartidoP(){sig= null;nroBoto=;ino= new PartidoPo!itico();
int getnroBoto(){
return(nroBoto);PartidoPo!itico getino(){
return(ino);NodoPartidoP getsig(){
return(sig);void asignroBoto(int it){
nroBoto= it;
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 11/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
void asigino(PartidoPo!itico 0){
ino= 0;void asigsig(NodoPartidoP 0){
sig= 0; public class ListaInscripcionPatidosP {
NodoPartidoP $; public ListaInscri$cionPatidosP(){ $= null; boolean es7acia(){ boolean 0= $==null true % false;return (0);NodoPartidoP get$(){ return($);void adi$rimero (PartidoPo!itico it)
{ NodoPartidoP 0 = new NodoPartidoP();0#asigino(it);if(es7acia()){ 0#asigsig(0); else
{ 0#asigsig(get$());NodoPartidoP <=$osicion(contar()-);<#asigsig(0);$= 0;
int contar(){
int c= ;
if(:es7acia()){ NodoPartidoP <= get$();do
{ c--;<= <#getsig(); while(<:=$);return(c);
NodoPartidoP $osicion(int $os){
int i;NodoPartidoP <= get$();for(i=;i1=$os'8;i--){
<= <#getsig();return(<);
void adi.!timo(PartidoPo!itico it){ NodoPartidoP 0 = new NodoPartidoP();
0#asigino(it);if(es7acia()){ adi$rimero(it); else
{ NodoPartidoP <=$osicion(contar()-);
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 12/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
0#asigsig(<#getsig());<#asigsig(0);
void !eerListaIPP(){
Sstem#out
#$rint!n("%2 ''' Lista Inscri$cion PartidoPo!itico%###");int i=,>=; while(i==){ Sstem#out#$rint!n(>-"% Candidato Patido Po!itico#");
PartidoPo!itico it= new PartidoPo!itico();it#!eerPartidoP();adi.!timo(it);Leer dat8= new Leer();Sstem#out#$rint!n("?igite $ara contin.ar% ");i= dat8#datoInt();>--;
void mostrarListaIPP(){ Sstem#out#$rint!n("%2 '' Lista Inscri$cion $artido $o!itico '''");
NodoPartidoP <= get$();int c= contar();int i;for(i=; i1c; i--){
Sstem#out#$rint!n(i--"#' Candidato");PartidoPo!itico it= new PartidoPo!itico();it= <#getino();it#mosrtrarPartidoP();<= <#getsig();
public void ac.m.!aBotosIPP(String sg!){ NodoPartidoP <= get$();
int c= contar();int i;for(i=; i1c; i--){
PartidoPo!itico it= new PartidoPo!itico();it= <#getino();if(it#getSig!a()#e<.a!s(sg!)){ int t=<#getnroBoto()-;
<#asignroBoto(t);<= <#getsig();
public int b.sca$os(String @){
int $os=,c,sw= ;NodoPartidoP <= get$();c= contar(); while((c2) 44 (sw==)){
PartidoPo!itico it= new PartidoPo!itico();it= <#getino();$os--;
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 13/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
if(it#getSig!a()#com$are6o(@)==){ sw= ; <= <#getsig();c'';
if(sw==){ $os= ;return($os);
public void resultadosDeEleccion(){
Sstem#out#$rint!n("%2 ''' Lista Des.!tados de A!eccion '''");NodoPartidoP <= get$();int c= contar();int i;for(i=; i1c; i--){
Sstem#out#$rint!n(i--"#' Candidato");PartidoPo!itico it= new PartidoPo!itico();int t=<#getnroBoto();it= <#getino();Sstem#out#$rint!n("Nro de 7otos% "-t);it#mosrtrarPartidoP();<= <#getsig();
public int maor(){
int ma='55555;NodoPartidoP <= get$();int c= contar();int i;for(i=; i1c; i--){
int t=<#getnroBoto();if(t2ma){ ma=t; <= <#getsig();
return ma;
public void candidatoGanador (){
Sstem#out#$rint!n("%2 ''' Partido $o!itico ganador '''");NodoPartidoP <= get$();int c= contar();int ma=maor();
int i;for(i=; i1c; i--){PartidoPo!itico it= new PartidoPo!itico();int t=<#getnroBoto();it= <#getino();if(t==ma){
it#mosrtrarPartidoP();Sstem#out#$rint!n("Nro de 7otos% "-t);
<= <#getsig();
7/17/2019 informeProyecto2
http://slidepdf.com/reader/full/informeproyecto2 14/14
Universidad mayor de san AndrésFacultad de Ciencias Puras y NaturalesCarrera de informáticaLab-131
(. concl)siones.*n el C&digo en "ava se puede observar $ )uedar demostrado el ob"etivo )ue
era de: controlar la informaci&n sobre las elecciones municipales, pues se
obtuvo los resultados )ue consideramos en la armaci&n del ob"etivo.
*. Biblio#ra+ía.• 2esarrollo de pro$ectos inform3ticos !'scar 4elmonte, Carlos 5ranell, Maria
*rdo0ain#.