Problema com algoritmo

1. Problema com algoritmo

Vinícius Theófilo de Paula
vtpjf

(usa Outra)

Enviado em 14/05/2017 - 16:21h

Boa tarde!

Construí um algorimto para a resolução do problema abaixo no viasualg:

Você esta fazendo uma pesquisa com 50 habitantes de uma pequena vila. Escreva um algoritmo que colete os dados de idade, sexo (M/F) e salário de todos as pessoas que desejam participar da pesquisa (para encerrar a entrada de dados entre na idade o valor igual a zero). Após coletar todos os dados informe:

a. A média de salário do grupo
b. Maior e menor idade do grupo
c. A percentagem do total de mulheres com salário até R$ 300,00
d. . A quantidade de homens

O problema do meu algoritmo é que quando digito a idade igual a zero, ele contabiliza todas as outras funções do laço pela última vez ao invé de simplesmente encerrar o loop. Poderiam me ajudar?
Eis o algoritmo que criei abaixo:

algoritmo "semnome"
// Função :
// Autor :
// Data : 13/05/2017
// Seção de Declarações
var
idade,maioridade, menoridade,conthomem: inteiro
sexo: caracter
salario, mediasalario, somasalario, contsalario, contmulher, contmulher300, porcentmulher: real
inicio
// Seção de Comandos
menoridade <- 10000;
maioridade <- 0;
conthomem <- 0
somasalario <- 0
contsalario <- 0
contmulher <- 0
idade <- 1
enquanto idade <> 0 faca
Escreva ("Digite a idade ")
Leia (idade)
Escreva ("Digite o sexo : M para Masculino e F para feminino: ")
Leia (sexo)
Escreva ("Digite o salário ")
Leia (salario)
se (idade > maioridade) entao
maioridade <- idade
fimse
se (idade < menoridade) entao
menoridade <- idade
fimse
se (sexo = "M") entao
conthomem <- conthomem + 1
senao
se (sexo = "F") entao
contmulher <- contmulher + 1
fimse
se (sexo = "F") E (salario <= 300) entao
contmulher300 <-contmulher300 + 1
fimse
porcentmulher <- (contmulher300 * 100) / contmulher
fimse
contsalario <- contsalario + 1
somasalario <- somasalario + salario
mediasalario <- somasalario / contsalario
fimenquanto
Escreval (" A porcentagem do total de mulheres com salario até 300 reais é de ", porcentmulher, " % ")
Escreval ("A quantidade total de homens é de ", conthomem, " homens")
Escreval ("A maior idade do grupo é ", maioridade, "anos")
Escreval ("A menor idade do grupo é ", menoridade, "anos")
Escreval ("A média de salário do grupo é de ", mediasalario, "reais")
fimalgoritmo



  


2. Re: Problema com algoritmo

Vinicius Araujo Lopes
viniciusalopes

(usa Ubuntu)

Enviado em 16/05/2017 - 01:56h

Opa!
Leia a idade uma vez antes de entrar no laço, e repita a leitura somente no final do laço.
SUGESTÃO: Faça a indentação do código, para facilitar a leitura e compreensão. É uma boa prática!
(...)
idade <- 1
Escreva ("Digite a idade ")
Leia (idade)


enquanto idade <> 0 faca
Escreva ("Digite o sexo : M para Masculino e F para feminino: ")
Leia (sexo)

Escreva ("Digite o salário ")
Leia (salario)

se (idade > maioridade) entao
maioridade <- idade
fimse

se (idade < menoridade) entao
menoridade <- idade
fimse

se (sexo = "M") entao
conthomem <- conthomem + 1
senao
se (sexo = "F") entao
contmulher <- contmulher + 1
fimse

se (sexo = "F") E (salario <= 300) entao
contmulher300 <-contmulher300 + 1
fimse

porcentmulher <- (contmulher300 * 100) / contmulher

fimse

contsalario <- contsalario + 1
somasalario <- somasalario + salario
mediasalario <- somasalario / contsalario

Escreva ("Digite a idade ")
Leia (idade)

fimenquanto
(...)


 __________________________________
/ Apresente soluções! \
| Opiniões não resolvem problemas. |
| |
\ --Viniciusalopes /
---------------------------------
\ ^__^
\ (oo)\_______
(__) )/\/
||----w |
|| ||







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts