-
Posts
11 -
Cadastrado em
-
Última visita
Reputação
10-
Bruno Condado alterou sua foto pessoal
-
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
@Simon Viegas Obrigado pela ajuda, os teus comentários foram fundamentais para chegar na solução. -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Tem outra forma de resolver? Se tiver compartilha aí. -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
O Problema foi Fácil de resolver, pois se uma Faixa etária retorna vazia então o contador Específico vai estar zerado, e é a partir daí que deve partir SE. Então a solução para o ponto e virgula sem dar erro é: Escreval(" ") Escreva("Menores: ") Se (CM = 0) entao Escreva(" ") Senao Para Cont de 1 ate CM - 1 faca Escreva(Menores[Cont],", ") FimPara Escreva(Menores[CM],". ") FimSe -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Boas achei um caminho para Retirar a Virgula Final e terminar com Ponto Final. Para Fins práticos vou colocar só o código respeitante a uma categoria no Ponto onde é feita a separação. Mas a Solução que arrumei para o caso de a faixa etária estar vazia acabou de criar um problema para o caso de a idade ser zero. Escreval(" ") Escreva("Menores: ") // Escreve a Faixa Menores: Para Cont de 1 ate CM - 1 faca // Ciclo de repetição menos o termo Final Escreva(Menores[Cont],", ") FimPara Se (Menores[Cont] = 0) entao // Para o Caso de a faixa etária estar vazia Escreva(" ") Senao Escreva(Menores[CM],".")// Vai Escrever o último termo Terminando com Ponto Final FimSe Uma ajuda para resolver a Situação em que a idade é igual a zero. Criei ela para no caso de a faixa etária estar vazia não dar erro. Mas aí ele não vai aceitar a idade Zero -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Ok, vou tentar. Depois Coloco aqui como cheguei lá. -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Boas Amigo, Deu certo, estava no caminho certo, eu até tinha tentado fazer assim, mas deu um erro e assumi que seria por conta de Menores[CM]. Assim acabei achando o caminho pelas duas Soluções. Em relação á Virgula no Final, não tem como tirar ela? O algoritmo retorna/ Menores: 2, 4, 6, - E Gostaria que ele retorna-se / Menores: 2, 4, 6. Vou estudar aqui para ver se consigo fazer essa troca. se souberes como fazer dá uma dica aí. Muito Obrigado pela ajuda -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Para Cont <- 1 ate 5 faca // Entrada e contagem de Idades por Faixa etária Topo() Escreva("Digite a Idade do ", Cont,"º Aluno: ") Leia(idades[Cont]) CI <- CI + 1 // Contagem Integral Se (idades[Cont] >= 0) e (idades[Cont] <= 18) entao menores[Cont] <- idades[Cont] // Armazena os menores de idade no Vetor menores CM <- CM + 1 FimSE Essa é parte do código que tentei fazer, seria após a condição se fazer um clico de repetição, criando aí menores[CM]? -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Consegui resolver o problema por um caminho: A Solução Passou por atribuir a todos os valores Vazios o valor de -1 na Faixa de menores (única que aceita o Zero como Idade) Dessa Forma no ciclo de repetição da Faixa de Menores consigo usar o Se para separa a idade Zero dos Espaços Vazios. Nas outras Faixas Só vai validar as opções <> de 0. var idades: vetor [1..5] de Inteiro menores: vetor [1..5] de Inteiro adulto: vetor [1..5] de Inteiro idoso: vetor [1..5] de Inteiro Cont, CI, CM, CA, CID: Inteiro Procedimento Topo() Inicio Escreval("=========================================") Escreval("| F A I X A S E T Á R I A S |") Escreval("=========================================") Escreval("| LÓGICA DE PROGRAMAÇÃO |") Escreval("=========================================") FimProcedimento inicio // Seção de Comandos CI <- 0 CM <- 0 CA <- 0 CID <- 0 Para Cont <- 1 ate 5 faca // Entrada e contagem de Idades por Faixa etária Topo() Escreva("Digite a Idade do ", Cont,"º Aluno: ") Leia(idades[Cont]) CI <- CI + 1 // Contagem Integral Se (idades[Cont] >= 0) e (idades[Cont] <= 18) entao menores[Cont] <- idades[Cont] // Armazena os menores de idade no Vetor menores CM <- CM + 1 Senao menores[Cont] <- -1 FimSE Se (idades[Cont] > 18) e (idades[cont] <= 60) entao adulto[Cont] <- idades[Cont] CA <- CA + 1 FimSE Se (idades[Cont] > 60) entao idoso[Cont] <- idades[Cont] CID <- CID + 1 FimSe LimpaTela FimPara Topo() Escreva("Menores: ") Para Cont <- 1 ate CI faca Se (menores[Cont] <> -1) entao escreva(menores[Cont],", ") FimSe FimPara Escreval(" ") Escreva("Adultos: ") Para Cont <- 1 ate CI faca Se (adulto[Cont] <> 0) entao escreva(adulto[Cont], ", ") FimSE FimPara Escreval(" ") Escreva("Idosos: ") Para Cont <- 1 ate CI faca Se (idoso [Cont] <> 0) entao Escreva(idoso[Cont], ", ") FimSE FimPara fimalgoritmo Para ficar perfeito, só falta a virgula final ser substituída por Ponto. Exemplo: no meu código vai aparecer Menores: 2, 4, 6, e eu gostaria que retorna-se Menores: 2, 4, 6. Se alguém poder ajudar fico grato. Se encontrarem outro caminho de resolução fiquem á vontade para Postar. Depois irei colocar o Código Final com o Exercício Completo. -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado respondeu ao tópico de Bruno Condado em Programação - iniciantes
Ao Fazer o Passo a Passo reparei que ele Cita as primeiras idades da respectiva faixa, imaginando que eu introduzo, 2, 23, 67, 25 e 7 - Ele armazena CM: 2, 0, 0, 0, 7 / CA: 0, 23, 0, 25, 0/ CID: 0, 0, 67, 0, 0. Acumulando CM: 2/ CA: 2/ CID: 1 - aí ele em vez de passar os valores preenchidos passa, Menores: 2, 0, / Adulto: 0, 23, / Idoso: 0, . Acabei fazendo uma alteração Tirando os acumuladores específicos (CM, CA, CID) e usando o acumulador Geral (CI) com essa alteração ele retorna todos os valores, mas tenho o problema das casas vazias. Vou tentar inserir <> de zero, mas vai me levantar um problema na primeira faixa etária. Deixa ver se resulta!!! -
VisualG Estudo de Caso - Faça a Leitura de 60 Idades e Agrupe em três faixas etárias
Bruno Condado postou um tópico em Programação - iniciantes
Boas, estou tentando resolver este problema mas estou tendo problemas para listar as idades nas respetivas faixas etárias, vou passar o Código que já tenho feito. Tentei obter numa questão similar que está num outro tópico mas estou esbarrando no mesmo problema. O problema pede 60 entradas de idades mas para testar estou colocando apenas 5 entradas de Idades. var idades: vetor [1..5] de Inteiro menores: vetor [1..5] de Inteiro adulto: vetor [1..5] de Inteiro idoso: vetor [1..5] de Inteiro Cont, CI, CM, CA, CID: Inteiro Procedimento Topo() Inicio Escreval("=========================================") Escreval("| E S T U D O DE C A S O |") Escreval("=========================================") Escreval("| LÓGICA DE PROGRAMAÇÃO |") Escreval("=========================================") FimProcedimento inicio // Seção de Comandos Para Cont <- 1 ate 5 faca // Entrada e contagem de Idades por Faixa etária Topo() Escreva("Digite a Idade do ", Cont,"º Aluno: ") Leia(idades[Cont]) CI <- CI + 1 // Contagem Integral Se (idades[Cont] >= 0) e (idades[Cont] <= 18) entao menores[Cont] <- idades[Cont] // Armazena os menores de idade no Vetor menores CM <- CM + 1 FimSE Se (idades[Cont] > 18) e (idades[cont] <= 60) entao adulto[Cont] <- idades[Cont] CA <- CA + 1 FimSE Se (idades[Cont] > 60) entao idoso[Cont] <- idades[Cont] CID <- CID + 1 FimSe LimpaTela FimPara Topo() Escreva("Menores: ") Para Cont <- 1 ate CM faca escreva(menores[Cont],", ") FimPara Escreval(" ") Escreva("Adultos: ") Para Cont <- 1 ate CA faca escreva(adulto[Cont], ", ") FimPara Escreval(" ") Escreva("Idosos: ") Para Cont <- 1 ate CID faca Escreva(idoso[Cont], ", ") FimPara fimalgoritmo Essencialmente tenho um grande problema, se introduzir todas as idades numa faixa etária, o programa retorna os valores corretamente na respectiva faixa etária. Caso introduza idades de diferentes faixas etárias, ele já bagunça tudo, retorna entradas vazias e omite as entradas corretas. Olhando o Escopo, as informações estão sendo armazenadas nos locais corretos e os contadores acumulam os valores devidos, então não sei onde esteja o erro. A Versão que estou a usar o VisalG é a 2.0. Tentei sem sucesso usar Se <> 0 e repetir o Se por idade nos ciclos (Para) das faixas etárias mas o problema repete-se. Tem ainda a questão da virgula final que gostaria de substituir por um Ponto final que também não encontrei solução. Quem poder ajudar desde já agradeço. -
VisualG Erro em algoritmo de vetor no VisualG
Bruno Condado respondeu ao tópico de Wicos em Programação - iniciantes
Boas, Estou tentando Resolver o mesmo Problema e acabei esbarrando no problema de na hora de apresentar os Resultados das Faixas aparecer posições zeradas, o meu código até se assemelha com a solução apresentada. Vejam como está: algoritmo "Estudo de Caso" // Função : // Autor : // Data : 03/04/2021 // Seção de Declarações var idades: vetor [1..5] de Inteiro menores: vetor [1..5] de Inteiro adulto: vetor [1..5] de Inteiro idoso: vetor [1..5] de Inteiro Cont, CI, CM, CA, CID: Inteiro inicio // Seção de Comandos Para Cont <- 1 ate 5 faca Escreval("===========================") Escreval("| E S T U D O DE C A S O |") Escreval("===========================") Escreval("|LÓGICA DE PROGRAMAÇÃO|") Escreval("===========================") Escreva("Digite a Idade do ", cont,"º Aluno: ") Leia(idades[Cont]) CI <- CI + 1 // Contagem Integral Se (idades[Cont] >= 0) e (idades[Cont] <= 18) entao menores[Cont] <- idades[Cont]// Armazena os menores de idade no Vetor menores CM <- CM + 1 FimSE Se (idades[Cont] > 18) e (idades[Cont] <= 60) entao adulto[Cont] <- idades[cont] CA <- CA + 1 FimSE SE(idades[Cont] > 60) entao idoso[Cont] <- idades[cont] CID<-CID+1 FimSE LimpaTela FimPara Escreva("Menores: ") Para Cont <- 1 ate CM faca escreva(menores[cont],", ") FimPara Escreval(" ") Escreva("Adultos: ") Para Cont <- 1 ate CA faca escreva(adulto[cont], ", ") FimPara Escreval (" ") Escreva ("Idoso: ") Para Cont <- 1 ate CID faca Escreva(idoso[Cont], ", ") FimPara fimalgoritmo
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