Ir para conteúdo
Fórum Script Brasil
  • 0

Exercicio de logica de programaçao java


Aamon

Pergunta

não to conseguindo criar este simples programinha.

Elabore um programa que leia em seqüência os votos (0 a 3). O programa deve finalizar com voto negativo. No final deve-se imprimir:

--> total de votos

--> total e percentual de votos para cada candidato

--> total e percentual de votos para voto nulo

--> total e percentual de votos para voto em branco

--> candidato vencedor

meu email: aamon.wolfsnake@gmail.com

Editado por Aamon
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Eu sou novo por aqui e só li uma apostila de VisuALG, que não é uma linguagem exatamente mas da para usar para logica de programação como Portugol.

Eu fiz um script de ontem para hoje com o seu problema.

algoritmo "semnome"

var

candidatos: vetor [1..n]de literal

//Altere n aqui em cima e em baixo

_votos: vetor [1..n,1..2] de real

k,branco,pessoa,vt,voto,nulo,n:inteiro

ligado,loop1:logico

//ligado é a variável que fecha o programa quando entra um dado negativo

maior:real

vencedor:literal

inicio

n <- x

//Altere x e coloque com o valor de n aqui! Não altere "N"!

//entrada dos candidatos

escreval ("Preparação: escreva os canditados em ordem, apertando ENTER para confirmar...")

para k de 1 ate n faca

leia (candidatos [k])

k <- k+1

fimpara

//fim da entrada dos canditados. Identificações presentes no vetor candidatos [1..n]

// Entrada dos votos

ligado <- verdadeiro

pessoa <- 0

vt <- 0

branco <- 0

nulo <- 0

maior <- 0

loop1 <- verdadeiro

enquanto ligado = verdadeiro faca

pessoa <-pessoa+1

k<-1

enquanto k <= n faca

loop1 <- verdadeiro

escreval ("########################################################")

escreval ("########################################################")

escreval (" ")

escreval ("Candidato: ",candidatos [k])

enquanto loop1 = verdadeiro faca

escreval ("Para votar no candidato ",candidatos[k],", digite um número de 0 (nulo) a 3")

escreval ("Ou digite 4, para votar em branco...")

leia (voto)

//se (voto <> 0 e voto <> 1 e voto<>2 e voto<>3 e voto>0) então

se voto>4 então

loop1 <- verdadeiro

senao

loop1 <- falso

fimse

fimenquanto

//A opção de 4 foi colocada devido ao VisuAlg declarar as variáveis previamente

se voto=0 então

nulo <- nulo+1

fimse

se voto=4 então

branco <- branco+1

voto<-0

fimse

se voto<0 então

ligado <- falso

voto <- 0

k <- n+1

senao

vt <- vt + voto

_votos[k,1]<- _votos[k,1]+voto

k <- k+1

fimse

fimenquanto

fimenquanto

//fim da entrada dos votos. Os votos estão presentes no vetor _votos [1..n,1..2]

//Calculo dos votos

escreval (" ")

escreval ("########################################################")

escreval ("########################################################")

escreval (" ")

escreval ("Fim da votação!")

escreval ("O total de votos foi ",n*pessoa,".")

//o número de pessoas vezes o número de candidatos

escreval ("Abaixo segue a lista de candidatos, mostrando seu total de votos e percentual ao lado.")

k<-1

// calculo do percentual

para k de 1 ate n faca

_votos[k,2]<- _votos[k,1]/vt

escreval ("Candidato: ",candidatos[k],". Votos totais: ",_votos[k,1],". Porcentagem: ",_votos[k,2]*100,"%.")

escreval (" ")

se maior<_votos[k,1] então

maior<-_votos[k,1]

vencedor<-candidatos[k]

fimse

fimpara

//branco e nulo

escreval ("O número de votos em branco foi ",branco,".")

escreval ("O número de votos nulos foi ",nulo,".")

escreval ("O candidato vencedor foi ",vencedor,", com ",maior," votos e um porcentual de ",maior/vt*100,"%.")

fimalgoritmo

Eu sou novo em programação, tenho só 14 anos e fiz o mais rápido que pude. Por isso pode não estar muito bom. Por ser no Visualg, o programa apresenta certas limitações, como o fato de ter que escrever 4 para anular (pois o Visualg declara as variaveis previamente).

Outro problema encontrado foi o de anular. Matematicamente, anular é o mesmo que votar em branco. E não existe anular quando temos que votar em cada candidato uma vez. Nesse caso, o problema é decorrente das suas limitações impostas.

Não sei se vai ajudar, até porque não é Java, mas em logica pode te dar uma ideia. Eu também aprendi sobre vetores e matrizes ontem, por isso pode ter coisa errada no script. De qualquer forma, tentei ajudar. Se tiver qualquer dúvida é só falar.

---------

Edit: eu teste aqui e está tudo certo. Você deve computar o número de candidatos no script.

Para isso, altere o valor de n como pedido la no começo do código. Sempre que um número negativo for computador como voto, ele será anulado e a votação se encerrará. Eu achei esse modo estranho, mas com o visualg seria mais dificil tirar esse método. Até porque, foi um pedido seu. =)

Editado por FelipeAragao
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...