Ir ao conteúdo
  • Cadastre-se

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


Posts recomendados

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

 

Link para o comentário
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

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...