Home › Fóruns › Programação Básica › M03A07: Exercício 037 – Declaração de variável
- Este tópico contém 13 respostas, 7 vozes e foi atualizado pela última vez 1 mês, 2 semanas atrás por
Tutora Jessica.
-
AutorPosts
-
-
9 de novembro de 2022 às 14:37 #104603
Marlei GS
ParticipanteOlá,
Tive dificuldades para realizar o exercício 037 (M03A07: Maior e Menor Valores) e precisei ver neste Fórum como resolver este exercício, porém, encontrei alguma ajuda semelhante no exercício 038, pois minha maior dificuldade está em “declarar variáveis”. Algumas variáveis até entendo que devem ser declaradas, mas no exercício 037 precisei declarar uma variável com nome_novo e nome_velho com vazio (“”). Porque necessitamos declarar uma variável deste modo,
`name_old = “”
name_new = “”`ou seja, name_old ‘recebe’ (=) ‘vazio’ (“”)? Para os números (inteiro), por mim está ok, pois necessitamos iniciar um contagem, mas para nomes (cadeia) não consigo entender.
É possível fazer uma declaração de variável para caractere também?? tipo >> caractere sexo = “” (ver após o código)Segue abaixo meu código.
Obrigado pela ajuda mais uma vez!!!!
Att,
MarleiGSprograma { inclua biblioteca Util --> u funcao inicio() { escreva("Ex 037: Mais velho e mais novo\n\n") inteiro c, n, age, age_maior, age_menor c = 1 age_maior = 0 age_menor = 0 cadeia name, name_old, name_new name_old = "" name_new = "" escreva("Informe a quantidade de pessoas para cadastrar: ") leia(n) enquanto(c <= n) { escreva("\n-----------\n ", c, "ª PESSOA\n-----------\n") escreva("Nome: ") leia(name) escreva("Idade: ") leia(age) se(c == 1) { age_maior = age age_menor = age name_old = name name_new = name } senao { se(age > age_maior) { age_maior = age name_old = name } se(age < age_menor) { age_menor = age name_new = name } } c ++ } escreva("\n------- PROCESSANDO DADOS: RESULTADO -------") u.aguarde(1000) escreva("\nA pessoa mais jovem é ", name_new, " e tem ", age_menor, " anos.\n") escreva("A pessoa mais velha é ", name_old, " e tem ", age_maior, " anos.\n") escreva("===== THE END =====\n") } }
caracter sexo = ""
-
10 de novembro de 2022 às 11:08 #104664
Tutora Jessica
ModeradorOla Marlei,
Nesse caso as variáveis iniciaram em branco pois elas estarão recebendo o valor que o usuário digitar, então ela inicia sem nenhuma informação.
É sempre uma boa prática iniciar suas variáveis no começo do código para evitar possíveis erros. -
8 de janeiro de 2023 às 06:30 #108381
Marcos Missone
ParticipanteBom dia.
Neste codigo os nomes sao representados com a primeira letra e nao o nome completo.
como resolvo este problema.?Muito Obrigado pela tencaao.
programa { //EXERCICIOS 07 - MAIS VELHO E MAIS NOVO //inclua biblioteca Util --> u //inclua biblioteca Texto --> txt funcao inicio() { //VAR inteiro c = 1 inteiro idade inteiro idade2 = 0 inteiro maior = 0 inteiro menor = 0 caracter nome caracter nome_1 = '0' caracter nome_2 = '0' //ITERACAO enquanto(c <= 5){ escreva("\n------------------------------") escreva("\t\n " , c , "a PESSOA ") escreva("\n------------------------------") escreva("\nNOME: ") leia(nome) escreva("IDADE: ") leia(idade) //CONDICOES se(c == 1){ maior = idade menor = idade nome_1= nome nome_2 = nome }senao{ se(idade < menor){ menor = idade nome_1 = nome } se(idade > maior){ maior = idade nome_2 = nome } } c++ } escreva("\n===============RESULTADO================") escreva("\nA pessoa mais jovem e " , nome_1, " que tem " , menor , " anos ") escreva("\nA pessoa mais velha e " ,nome_2 , " que tem " , maior , " anos ") } }
-
9 de janeiro de 2023 às 09:54 #108437
Tutora Jessica
ModeradorOla Marcos,
Você iniciou suas variáveis nome_1 e nome_2 na posição 0(zero), com isso estava pegando somente a primeira letra do nome digitado.
Coloque as variáveis nome, nome_1 e nome_2 como CADEIA e as inicie em branco, dessa forma :cadeia nome cadeia nome_1 = "" cadeia nome_2 = ""
-
12 de janeiro de 2023 às 17:30 #108659
Marcos Missone
ParticipanteMuito Obrigado. Pela atenção.
Cpts -
19 de março de 2023 às 14:32 #112396
Miguel Júnior Zua Mendes Adão
ParticipanteOi, Jéssica! Poderia me ajudar?
Lê a idade certa, mas o nome aparece sempre o quinto.inclua biblioteca Texto –> t
funcao inicio()
{
cadeia nome_jovem = ” “, nome_velho = ” “, nome = ” ”
inteiro idade, c = 1, jov = 0, vel = 0enquanto(c <= 5){
escreva(“\n==================\n”)
escreva(c + “ª PESSOA”)
escreva(“\n==================\n”)
escreva(“NOME: “)
leia(nome_jovem)
escreva(“IDADE: “)
leia(idade)
se (c == 1){
jov = idade
vel = idade
nome_jovem = nome
nome_velho = nome} senao{
se (idade < jov){
jov = idade
nome_jovem = nome}
se ( idade > vel){
vel = idade
nome_velho = nome}
}
t.caixa_alta(nome)
t.caixa_baixa(nome)c++
}
escreva(“=======================RESULTADO=======================”)
escreva(“\nA pessoa mais jovem é o ” + nome_jovem + ” que tem ” + jov + ” anos.”)
escreva(“\nA pessoa mais velha é o ” + nome_velho + ” que tem ” + vel + ” anos.”)}
} -
20 de março de 2023 às 10:14 #112427
Tutora Jessica
ModeradorOla Miguel, no seu leia para nome, você esta lendo nome_jovem , ali deve ler somente a variável nome, a validação de nome_jovem vem depois.. troque somente esse leia para a variável nome que funciona direitinho.
-
20 de março de 2023 às 18:10 #112466
Miguel Júnior Zua Mendes Adão
ParticipanteOk. deu certo. Muito obrigado!
-
-
20 de março de 2023 às 18:48 #112470
Tutora Jessica
ModeradorPor nada Miguel, bons estudos 🖖
-
4 de setembro de 2024 às 14:40 #142671
Renata Coelho
ParticipantePortugol insiste em dar essa msg de erro de declaração de variável, mesmo com a variável já declarada.
programa
{
inclua biblioteca Util –>u
funcao inicio()
{
inteiro c=1, age=0, maior=0, menor=0
cadeia nome, velho = ” “, jovem = ” ”enquanto(c <= 5){
escreva(“…………………..”)
escreva(“\n\t”,c,”ª PESSOA \n”)
escreva(“Nome: “)
leia(nome)
escreva(“Idade: “)
leia(age)
u.aguarde(400)
escreva(“……………….\n”)
escreva(“\n”)se(c==1){
maior = age
velho = nome
menor = age
jovem = nome
}senao{
se(age > maior){
maior = age
velho = nome
}
se(age < menor){
menor = age
jovem = nome
}
}
c++
}escreva(” A pessoa mais jovem”, nome, ” tem “, menor, ” anos. \n”)
escreva(” A pessoa mais velha”, nome, ” tem “, maior, ” anos.”)
escreva(“\n\n”)
}
} -
5 de setembro de 2024 às 09:39 #142707
Tutora Vera
MestreRenata, onde está a declaração da variável nome? Pode sinalizar no seu código?
-
8 de março de 2025 às 15:53 #154945
Isabela Ferreira de Miranda
ParticipanteBoa tarde! Estou tentando resolver o exercício 037 e não encontro o erro. Tem dado 2 erros: (erro de compilação e existem trechos onde a variavel nome pode nao ter sido inicializada). Não estou conseguindo resolver. Pode me ajudar? também queria saber se minha resolução está correta, se possível.
funcao inicio()
{
//variáveis
cadeia nome
inteiro idade
inteiro c = 1
inteiro maior = 0
inteiro menor = 0
//entrada e saída de dados
escreva(“———————–“)
enquanto (c <= 5) { //contador
escreva(“\n”, c, ” ª PESSOA”)//quantas vezes vai repetir
escreva(“\n———————–“)
escreva(“\nNOME: “)
leia(nome)
escreva(“IDADE: “)
leia(idade)
se (c == 1) {
maior = idade
menor = idade
} senao {
se (idade < menor) {
menor = idade
} senao {
maior = idade
}
}
c= c + 1
}
escreva(“\n=========================================”)
escreva(“\nA pessoa mais jovem é “, nome, ” com “, idade)
escreva(“\nA pessoa mais velha é “, nome, ” com “, idade)
escreva(“\n=========================================”)
}}
-
8 de março de 2025 às 16:38 #154948
Isabela Ferreira de Miranda
ParticipanteQual a diferença de usar + e ,?
-
10 de março de 2025 às 10:27 #155017
Tutora Jessica
ModeradorOlá Isabela,
Testei seu código e esta funcionando corretamente, porém ele não esta apresentando o resultado desejado, ele esta pegando informações apenas da pessoa mais velha e apresentando no final do código nos dois resultados pedidos (pessoa mais velha e pessoa mais nova).Erros como esse aparecem no portugol com frequência podendo ser algo da versão que esta usando, erros de inicialização de variável é só você iniciar a variável com algum valor em branco ou número, após isso o código roda normalmente, mas volto a dizer eu testei e não apresentou nenhum erro, estou usando a versão web do portugol studio.
No portugol quando você utiliza a vírgula ele automaticamente converte o valor da variável para uma string e concatena com o valor do texto e essa é a forma mais simples de dar tudo certo no seu código, quando você usa o sinal de + o portugol também concatena o texto com o valor da variável porém pode gerar um erro se a variável não for uma string ou número.
No final não da muita diferença quando falamos de portugol, porém as vezes pode acontecer de dar erro e é só substituir um pelo outro.
Aproveitando trouxe sua dúvida para uma ja existente no fórum do mesmo exercício e módulo que pode lhe ajudar, acima você encontra novas resoluções, dúvidas e explicações.
-
Esta resposta foi modificada 1 mês, 2 semanas atrás por
Tutora Jessica.
-
Esta resposta foi modificada 1 mês, 2 semanas atrás por
Tutora Jessica.
-
Esta resposta foi modificada 1 mês, 2 semanas atrás por
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.