Home › Fóruns › Programação Básica › Exercício 63 (Vetores)
Marcado: Ex63
- Este tópico contém 7 respostas, 5 vozes e foi atualizado pela última vez 8 meses, 3 semanas atrás por Tutora Jessica.
-
AutorPosts
-
-
27 de novembro de 2021 às 20:17 #81469João VictorParticipante
Meu programa ficou um pouco diferente do professor no final dos dois percursos, mas deu certo. Está correto?
programa
{
inclua biblioteca Tipos –> tipinclua biblioteca Util –> u
funcao inicio()
{
cadeia nome[6]
inteiro idade[6], soma = 0
real mediapara (inteiro p = 0; p < u.numero_elementos(nome); p++){
escreva(“\nNome da pessoa [” + p + “]:”)
leia(nome[p])
escreva(“\nIdade da pessoa[“+ p + “]: “)
leia(idade[p])
soma = soma + idade[p]
}
escreva(“====== ANALISANDO AS PESSOAS CADASTRADAS ======”)
media = tip.inteiro_para_real(soma) / u.numero_elementos(nome)
escreva(“\nMédia de idade: ” + media + ” anos”)
escreva(“\nPessoas acima da média: “)para (inteiro p = 0; p < u.numero_elementos(nome); p++){
se (idade[p] >= media){
escreva(“\n -> ” + nome[p] + “(” + idade[p] + “)”)
}
}
escreva(“\n———————————————–“)
escreva(“\nMaior idade do grupo: “)
inteiro maiori = 0
cadeia maiorn = ” ”
para (inteiro p = 0; p < u.numero_elementos(nome); p++){
maiori = idade[0]
se (idade[p] >= maiori){
maiori = idade[p]
}
}
escreva(maiori)
escreva(“\nPessoas com a maior idade: “)
para (inteiro p = 0; p < u.numero_elementos(nome); p++){
se (idade[p] >= maiori){
maiorn = nome[p]
escreva(“\n –> ” + maiorn)
}
}
escreva(“\n————————————————–“)}
} -
30 de novembro de 2021 às 21:37 #81718Tutora MaylaMestre
João, o seu código está quase todo certo, parabéns!
O único problema aqui é que a seguinte atribuiçãomaiori = idade[0]
se encontra dentro do laço, dessa forma a cada iteração seu valor vai ser reescrito paraidade[0]
perdendo assim a informação que tinha sido conseguida. O erro aparece ao inserir a pessoa de maior idade no meio, caso seja a primeira ou a ultima funciona, mas caso seja alguma do meio não sairá com a resposta correta.
Para solucionar isto basta colocar tal atribuição para antes dopara
.
Quanto ao código estar diferente do do professor, há várias formas de solucionar o problema, a sua forma está correta também, após esse pequeno acerto.
Parabéns e bons estudos, quaisquer dúvidas basta entrar em contato. -
28 de janeiro de 2023 às 02:48 #109487Tatiana Azer MalufParticipante
Boa noite
Segue exercício para correção:programa { inclua biblioteca Util inclua biblioteca Tipos funcao inicio() { cadeia nome [2] inteiro idade [2], soma = 0, tot = 0, maior = 0 real media = 0 para (inteiro pos = 0; pos < Util.numero_elementos (nome); pos++) { escreva ("Nome: ") leia (nome [pos]) escreva ("Idade de " + nome [pos] + ": ") leia (idade [pos]) } escreva ("\n===== ANALISANDO AS PESSOAS CADASTRADAS =====") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { soma += idade [pos] tot++ } media = Tipos.inteiro_para_real (soma) / tot escreva ("\n\nMédia de idade: " + media + " anos") escreva ("\nPessoas acima da média: ") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { se (idade [pos] > media) { escreva ("\n\t-> " + nome [pos] + " (" + idade [pos] + " anos)") } } escreva ("\n--------------------------------------") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { se (pos == 0) { maior = idade [0] } senao { se (idade [pos] > maior) { maior = idade [pos] } } } escreva ("\nMaior idade do grupo: " + maior + " anos") escreva ("\nPessoas com a maior idade: ") para (inteiro pos = 0; pos < Util.numero_elementos (idade); pos++) { se (idade [pos] == maior) { escreva ("\n\t-> " + nome [pos]) } } escreva ("\n\n") } }
-
30 de janeiro de 2023 às 10:34 #109587Tutora JessicaModerador
Ola Tatiane, alguma dúvida?
-
30 de janeiro de 2023 às 13:38 #109592Tatiana Azer MalufParticipante
Meu código ficou um pouco diferente do professor, está correto assim?
-
30 de janeiro de 2023 às 15:23 #109596Tutora JessicaModerador
Respondi na publicação anterior 🖖
-
4 de março de 2024 às 13:15 #132924Filipe Mamud OliveiraParticipante
Ola Tutoria,
Na resolução do meu exercicio tudo saiu correto mas na hora de mostrar mais de uma pessoa com a maior idade ela mostra somente uma das pessoas, vocês poderiam me ajudar a entender por favor?
programa
{
inclua biblioteca Matematica –> matinclua biblioteca Util –> u
funcao inicio()
{escreva(“———————————————-\n”)
escreva(” { EXERCICIO 063 – Pessoas e Idades } “)
escreva(“\n———————————————-\n”)cadeia nome[6], maiorn = “”
inteiro idade[6], p, maior =0
real midade = 0.0, s = 0.0para (p=0; p<u.numero_elementos(nome); p++) {
faca {
escreva(“Nome da pessoa [“, p, “]: “)
leia(nome[p])
} enquanto (nome[p] == “”)
faca {
escreva(“Idade de “, nome[p], “: “)
leia(idade[p])
s+=idade[p]
se (p==0) {
maior = idade[p]
maiorn = nome[p]
} senao {
se (idade[p] > maior) {
maior = idade[p]
maiorn = nome[p]
}
}} enquanto (idade[p]>= 130 e idade[p] <=0)
}
escreva(“\n———————————————-\n”)
escreva(“\tANALISANDO AS PESSOAS CADASTRADAS”)
escreva(“\n———————————————-\n”)midade = s/ u.numero_elementos(idade)
escreva(“A média de idade é: “, mat.arredondar(midade, 2))
escreva(“\nPessoas acima da média: “)
para (p=0; p<u.numero_elementos(nome); p++) {
se (idade[p]>= midade) {
escreva( “\n–> “, nome[p], ” (“, idade[p], ” anos).”)
u.aguarde(300)
}
}
escreva(“\n———————————————-\n”)
escreva(“Maior idade do grupo: “, maior, ” anos.”)
escreva(“\nPessoa(s) com maior idade no grupo: “)
escreva(“\n–> “, maiorn)
escreva(“\n———————————————-\n”)
}
} -
4 de março de 2024 às 16:19 #132936Tutora JessicaModerador
Ola Filipe, assim como você fez um PARA em média, você também precisa de um PARA em “Pessoas com maior idade no grupo”. Observe os exemplos e explicações acima.
Caso continue om dúvidas só retornar ao fórum que vamos lhe ajudar.
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.