Jump to content
Fórum Script Brasil
  • 0

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


EdmarJr

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...