M03A07: Exercício 037 – Declaração de variável

Home Fóruns Programação Básica M03A07: Exercício 037 – Declaração de variável

Visualizando 9 respostas da discussão
  • Autor
    Posts
    • #104603
      Marlei GS
      Participante

      Olá,

      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,
      MarleiGS

      programa
      {
      	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 = ""
    • #104664
      Tutora Jessica
      Moderador

      Ola 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.

    • #108381
      Marcos Missone
      Participante

      Bom 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 ")
      	}
      }
    • #108437
      Tutora Jessica
      Moderador

      Ola 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 = ""
    • #108659
      Marcos Missone
      Participante

      Muito Obrigado. Pela atenção.
      Cpts

    • #112396

      Oi, 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 = 0

      enquanto(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.”)

      }
      }

    • #112427
      Tutora Jessica
      Moderador

      Ola 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.

    • #112470
      Tutora Jessica
      Moderador

      Por nada Miguel, bons estudos 🖖

    • #142671
      Renata Coelho
      Participante

      Portugol 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”)
      }
      }

    • #142707
      Tutora Vera
      Mestre

      Renata, onde está a declaração da variável nome? Pode sinalizar no seu código?

Visualizando 9 respostas da discussão
  • Você deve fazer login para responder a este tópico.