Ir ao conteúdo
  • Cadastre-se
VjpAmi

Gostaria de saber se a resolução desse algoritmo está correto

Recommended Posts

Desenvolva um algoritmo que leia o nome, o sexo, e a idade de 100 pessoas. Ao final, mostre quantas pessoas são do sexo masculino e quantas do sexo feminino. Quantas pessoas são menores de 18 anos e quantas são maiores ou iguais a 18 anos.

 

Bom, meu algoritmo ficou desse jeito:

Algoritmo "Dados"
Variáveis 
nome, idade, sexo:inteiro
sexofem, sexomasc:inteiro
maiordeidade, menordeidade:inteiro
inicio
ler (nome)
ler (sexo)
Se sexo=Feminino
Então
sexofem<-sexofem+1
Senão
sexomasc<-sexomasc+1
ler (idade)
Se idade>18
Então 
maiordeidade<-maiordeidade+1
Senão
menordeidade<-menordeidade+1
Fimse
Mostre sexofem
Mostre sexomasc
Mostre maiordeidade
Mostre menordeidade
Fimalgoritmo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Está correto se:
as variáveis numéricas criadas sempre iniciam com zero (não-nulos),
o igual "=" equivale a equivalente "==" ou a "<-",
e se nome é inteiro, portanto a resposta aceita é binária, e não uma matriz/vetor de caracteres.
O pseudocódigo é algo relativo, eu usaria esta nomenclatura:
 

Você errou ao faltar com o FimSe antes de ler a idade

//Considerando esta linha como comentário
Arquivo "Algoritmo Dados"
//Variáveis Globais
nome, sexo:texto //Array de chars, string, char[], etc.
idade, sexofem, sexomasc, maiordeidade, menordeidade:inteiro sem sinal //unsigned int
idade = 0, sexofem = 0, sexomasc = 0, maiordeidade = 0, menordeidade = 0
inicio //Função
ler (nome)
ler (sexo)
Se (sexo == "Feminino") ou (sexo == "F") ou...
Então
sexofem = sexofem + 1
Senão
sexomasc = sexomasc + 1
FimSe
ler (idade)
Se (idade >= 18)
Então 
maiordeidade = maiordeidade + 1
Senão
menordeidade = menordeidade + 1
FimSe
Mostre sexofem
Mostre sexomasc
Mostre maiordeidade
Mostre menordeidade
Fimalgoritmo

E para acrescentar a contagem de até 100 pessoas apenas, deve colocar
contagem:inteiro sem sinal
ficaria:

 

//Considerando esta linha como comentário
Arquivo "Algoritmo Dados"
//Variáveis Globais
nome, sexo:texto //Array de chars, string, char[], etc.
idade, sexofem, sexomasc, maiordeidade, menordeidade, contagem:inteiro sem sinal //unsigned int
idade = 0, sexofem = 0, sexomasc = 0, maiordeidade = 0, menordeidade = 0, contagem = 0

inicio //Função
Se (contagem < 100) //Menor do que 100, porque chegou no 100, não queremos que chegue em 101
Então
ler (nome)
ler (sexo)

Se (sexo == "Feminino") ou (sexo == "F") ou...
Então
sexofem = sexofem + 1
Senão
sexomasc = sexomasc + 1
FimSe

ler (idade)

Se (idade >= 18)
Então 
maiordeidade = maiordeidade + 1
Senão
menordeidade = menordeidade + 1
FimSe

contagem = contagem + 1
Senão
Mostre: "Alcançada a contagem de " %contagem% " pessoas. Resultado:"
Mostre sexofem
Mostre sexomasc
Mostre maiordeidade
Mostre menordeidade
FimSe

Fimalgoritmo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×