Ir ao conteúdo

Ajuda com o visualg


Posts recomendados

Postado

alguém por favor poderia me ajudar a terminar este exerício, nao sei o que está dando errado nele, é com estrutura de repetição, quando eu coloco que o sexo do aluno é "F" ele não roda mais, continua perguntando o sexo até que coloque "M"

1. FAQ leia os seguintes dados de um grupo de 30 alunos: o sexo, ano de

ingresso e ano de conclusão de um aluno. Exiba:

• tempo (em anos) que cada aluno levou para concluir o curso;

• a média aritmética do tempo (em anos) para conclusão do curso;

• as porcentagens de alunos do sexo feminino e masculino.

Fazer a validação dos dados (colocar a leitura numa estrutura de repetição

que será interrompida quando os valores válidos forem fornecidos):

• sexo - permitir somente “F” ou “M”;

• ano de ingresso - permitir somente >=2005;

• ano de conclusão - permitir somente >=2011.

var
sexo:caracter
anoi,anoc,i,homem,mulher:inteiro
tempo,media,percf,percm,mediacontador,total:real
inicio
// Seção de Comandos
MEDIACONTADOR<-0
TOTAL<-0
MULHER<-0
HOMEM<-0
PARA I DE 1 ATE 5 FACA
ESCREVAL("DESCREVA O SEXO DO ALUNO COM 'M' PARA MASCULINO OU 'F' PARA FEMININO")
LEIA (SEXO)
SE (SEXO="F")então
MULHER<-MULHER+1
SENAO
SE (SEXO="M")então
HOMEM<-HOMEM+1
ESCREVAL ("QUAL O ANO DE INGRESSO AO CURSO?: ")
LEIA(ANOI)
ESCREVAL("QUAL O ANO DE CONCLUSAO DO CURSO?: ")
LEIA(ANOC)
SE (SEXO="F")OU(SEXO="M")E(ANOI>=2005)E (ANOC>=2011)então
TOTAL<-TOTAL+1
TEMPO<-ANOC-ANOI
MEDIACONTADOR<-MEDIACONTADOR+TEMPO
MEDIA<-MEDIACONTADOR/TOTAL
PERCF<-(MULHER*100)/TOTAL
PERCM<-(HOMEM*100)/TOTAL
ESCREVAL("ALUNO LEVOU ",TEMPO," ANOS. PARA CONCLUIR O CURSO")
FIMSE
FIMSE
FIMSE
FIMPARA
ESCREVAL("MEDIA ARITMÉTICA ",MEDIA," ANOS. A PORCENTAGEM DE ALUNO DO SEXO 'M' ",PERCM, " E A FEMININA É", PERCF)
fimalgoritmo

Postado

mudei seu SE pelo CASO


algoritmo "semnome"
// Função :
// Autor :
// Data : 25/5/2011
// Seção de Declarações

var
sexo:caracter
anoi,anoc,i,homem,mulher:inteiro
tempo,media,percf,percm,mediacontador,total:real
inicio
// Seção de Comandos
MEDIACONTADOR<-0
TOTAL<-0
MULHER<-0
HOMEM<-0
PARA I DE 1 ATE 5 FACA
ESCREVAL("DESCREVA O SEXO DO ALUNO COM 'M' PARA MASCULINO OU 'F' PARA FEMININO")
LEIA (SEXO)

caso (SEXO ="F")então
MULHER<-MULHER+1

caso (SEXO="M")então
HOMEM<-HOMEM+1
ESCREVAL ("QUAL O ANO DE INGRESSO AO CURSO?: ")
LEIA(ANOI)
ESCREVAL("QUAL O ANO DE CONCLUSAO DO CURSO?: ")
LEIA(ANOC)
SE (SEXO="F")OU(SEXO="M")E(ANOI>=2005)E (ANOC>=2011)então
TOTAL<-TOTAL+1
TEMPO<-ANOC-ANOI
MEDIACONTADOR<-MEDIACONTADOR+TEMPO
MEDIA<-MEDIACONTADOR/TOTAL
PERCF<-(MULHER*100)/TOTAL
PERCM<-(HOMEM*100)/TOTAL
ESCREVAL("ALUNO LEVOU ",TEMPO," ANOS. PARA CONCLUIR O CURSO")
FIMSE


FIMPARA
ESCREVAL("MEDIA ARITMÉTICA ",MEDIA, " ANOS. ")
ESCREVAL ( "A PORCENTAGEM DE ALUNO DO SEXO MASCULINO É DE: ",PERCM)
ESCREVAL ("E A DO SEXO FEMININA É DE: ", PERCF)
fimalgoritmo

Postado

não estou conseguindo concluir este algoritmo de estrutura de repetião, alguem poderia me ajudar? não sei o que eu tenho que fazer para validar somente o que foi pedido, e também a contagem dos Homens e das Mulheres não está funcionando

var
sexo:caracter
anoi,anoc,i,homem,mulher:inteiro
tempo,media,percf,percm,mediacont,total:real
inicio
// Seção de Comandos
MEDIACONT<-0
TOTAL<-0
MULHER<-0
HOMEM<-0
PARA I DE 1 ATE 5 FACA
ESCREVAL("DESCREVA O SEXO DO ALUNO COM 'M' PARA MASCULINO OU 'F' PARA FEMININO")
LEIA (SEXO)
SE (SEXO="F")então
MULHER<-MULHER+1
SENAO
SE (SEXO="M")então
HOMEM<-HOMEM+1
ESCREVAL ("QUAL O ANO DE INGRESSO AO CURSO?: ")
LEIA(ANOI)
ESCREVAL("QUAL O ANO DE CONCLUSAO DO CURSO?: ")
LEIA(ANOC)
SE (SEXO="F")OU(SEXO="M")E(ANOI>=2005)E (ANOC>=2011)então
TOTAL<-TOTAL+1
TEMPO<-ANOC-ANOI
MEDIACONT<-MEDIACONT+TEMPO
MEDIA<-MEDIACONT/TOTAL
PERCF<-(MULHER*100)/TOTAL
PERCM<-(HOMEM*100)/TOTAL
ESCREVAL("ALUNO LEVOU ",TEMPO," ANOS PARA CONCLUIR O CURSO")
FIMSE
FIMSE
FIMSE
FIMPARA
ESCREVAL("MEDIA ARITMÉTICA ",MEDIA," ANOS. A PORCENTAGEM DE ALUNO DO SEXO 'M'",PERCM, " E A FEMININA É", PERCF)
fimalgoritmo

agora deu certo, mas eu nao sei como faço para validar somente quando sexo = "F" ou (sexo="M") e quando ano de ingresso >=2005 ano de conclusão - >=2011. quando não for isso então ele nao deveria contar como válido

Postado

Se possível, para uma melhor compreenção, descreva o enunciado do problema para enchergarmos melhor o objetivo do algoritmo.

Postado
Se possível, para uma melhor compreenção, descreva o enunciado do problema para enchergarmos melhor o objetivo do algoritmo.

1. FAQ leia os seguintes dados de um grupo de 30 alunos: o sexo, ano de

ingresso e ano de conclusão de um aluno. Exiba:

• tempo (em anos) que cada aluno levou para concluir o curso;

• a média aritmética do tempo (em anos) para conclusão do curso;

• as porcentagens de alunos do sexo feminino e masculino.

Fazer a validação dos dados (colocar a leitura numa estrutura de repetição

que será interrompida quando os valores válidos forem fornecidos):

• sexo - permitir somente “F” ou “M”;

• ano de ingresso - permitir somente >=2005;

• ano de conclusão - permitir somente >=2011.

Postado

Tente validar com "REPITA ENQUANTO" :

var
sexo:caracter
anoi,anoc,i,homem,mulher:inteiro
tempo,media,percf,percm,mediacont,total:real
inicio
// Seção de Comandos
MEDIACONT<-0
TOTAL<-0
MULHER<-0
HOMEM<-0
PARA I DE 1 ATE 5 FACA
[COLOR="red"]REPITA[/COLOR]
ESCREVAL("DESCREVA O SEXO DO ALUNO COM 'M' PARA MASCULINO OU 'F' PARA FEMININO")
LEIA (SEXO)
SE (SEXO="F")então
MULHER<-MULHER+1
SENAO
(SEXO="M")
HOMEM<-HOMEM+1
FIMSE
[COLOR="red"]ENQUANTO SEXO != "F" OU SEXO != "M"[/COLOR] (não lembro se diferente é "!=" )
[COLOR="red"]REPITA[/COLOR]
ESCREVAL ("QUAL O ANO DE INGRESSO AO CURSO?: ")
LEIA(ANOI)
ESCREVAL("QUAL O ANO DE CONCLUSAO DO CURSO?: ")
LEIA(ANOC)
[COLOR="red"]ENQUANTO ANOI<2005 E ANOC<2011 [/COLOR]

TOTAL<-TOTAL+1
TEMPO<-ANOC-ANOI
MEDIACONT<-MEDIACONT+TEMPO
MEDIA<-MEDIACONT/TOTAL
PERCF<-(MULHER*100)/TOTAL
PERCM<-(HOMEM*100)/TOTAL
ESCREVAL("ALUNO LEVOU ",TEMPO," ANOS PARA CONCLUIR O CURSO")

FIMPARA

ESCREVAL("MEDIA ARITMÉTICA ",MEDIA," ANOS. A PORCENTAGEM DE ALUNO DO SEXO 'M'",PERCM, " E A FEMININA É", PERCF)
fimalgoritmo

O algoritmo só permite que os anos sejam >= 2005 e >= 2011, por isso ele irá repetir enquanto for < 2005 e < 2011.

Veja tb se ao fornecer "F" ou "M" elas estejam em maiusculas ou minusculas, se você fizer o algoritmmo com maiuscula você tem q fornecer maiuscula (pelo menos em C++ é assim).

Pode ter algum erro de sintaxe que cometi, mas acho que é por aí...boa sorte.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...