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

Algoritmo no Visualg - Laço de repetição


EdmarJr

Pergunta

Boa tarde,

gostaria de uma ajuda com esse problema envolvendo laço de repetição no visualg.

'' Foram coletados sobre salário de número de filhos em uma cidade. Deseja-se saber

- A média do salário da população

- A média do numero de filhos

- o maior salário

- e a percentagem de pessoas com salário até 150

* o final da leitura de dados se com a entrada de um salário negativo ''

Eu fiz o seguinte :

var
sal, ms, maior, perc, mnf :real
nf, c, cs : inteiro
inicio
c <- 1 , cs <-0 // contador do numero de pessoas com salário menor que 150
mnf <- 0 // média de numero de filhos
ms <- 0 // média de salário
maior <- 0 // maior salário
Escreval ("Digite salário ou numero negativo para sair") // para entrar no laço de repetiçao
leia(sal)
enquanto sal > -1 faca
c<-c+1
escreval ("digite numero de filhos")
leia(nf)
escreval ("Digite salário ou num neg. para sair ")
leia (sal)
ms <- ms + sal
mnf <- mnf + nf
se sal > maior então
maior <- sal
fimse
se sal < 150.00 então
cs<- cs+ 1 // contador de pessoas com salário maior que 150
perc <- cs * (100/c)
fimse
fimenquanto
escreval ("Média de salário é: ", ms/c)
escreval ("Média de filhos é: ", mnf/c)
escreval ("maior salário é : ", maior)
escreval ("Perc de pessoas com salario maior que 150 é : ", perc)
fimalgoritmo
Mas quando é digitado um numero negativo para encerrar, esse numero acaba entrando no valor salário e alterando a media de salário. E o primeiro salário ( fora do laço enquanto) não entra na contagem, então caso ele seja o maior salário digitado ele não aparecerá para o usuário e se ele for menor que 150 não entrará no calculo da percentegem. Se alguém puder me da uma dica para resolver isso eu agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Mas quando é digitado um numero negativo para encerrar, esse numero acaba entrando no valor salário e alterando a media de salário.

se sal > maior então
maior <- sal
fimse
se sal < 150.00 então
cs<- cs+ 1 // contador de pessoas com salário maior que 150
perc <- cs * (100/c)
fimse
faltou o teste para verificar se o salario é negativo ou seja menor que zero
abraço
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...