Dúvidas sobre Algoritmos (Visualg)

Home Fóruns Programação Básica Dúvidas sobre Algoritmos (Visualg)

Visualizando 5 respostas da discussão
  • Autor
    Posts
    • #60920

      Olá, a todos !
      Sei que estou “no Lugar errado”, mas não pude encontrar o Link sobre Algoritmos (Visualg) e por isso estou aqui. Gostaria de pedir a Ajuda de vocês com essas 02 DÚVIDAS:

      1- Como fazer para “forçar uma Resposta Numérica” em um Formato Específico ? Por exemplo:
      Eu digitei o seguinte comando no Visualg:

      Escreva (“Informe o Ano Atual com 04 Dígitos: “)
      Leia (Ano_atual)

      Obs: Eu queria criar uma Repetição, caso seja Informado o Ano com apenas 2 Dígitos.

      2- Também no Visualg, ao fazer o Cálculo da Área de um Círculo usando a Fórmula – Area = (Pi * R ^2), eu NÃO PRECISEI informar o Valor de PI. Alguém sabem me dizer o motivo ?

      Agradeço a todos, desde já. Muito obrigado !

    • #60940

      Bom dia, William. Posso lhe responder a segunda. Pi é uma das constantes matemáticas que já estão inseridas na biblioteca básica do VisualG (como 3,14159265358979).
      Pode testar com escreva(Pi) e você vê que ele já lhe informa.

    • #61123

      William, pra vc criar uma repetição no seu programa, vai precisar das estruturas de controle de repetição. Provavelmente quando chegar nessa aula, vc vai conseguir fazer o que deseja. A estrutura adequada para esse problema, pelo que eu acho, é o enquanto.

      • #61126

        Salve, José !
        Hummmmmm, entendo. Mas como ficaria a expressão?

        Enquanto (Ano_atual = 4) faca.

        Seria isso?

    • #61142

      programa
      {

      funcao inicio()
      {
      // Variáveis inteiras
      inteiro ano_atual, ano_nasc, idade
      ano_atual = 2021

      // Saída e entrada de dados
      escreva(“Em que ano você nasceu? “)
      leia(ano_nasc)

      // Estrutura de repetição
      enquanto (ano_nasc < 1900 ou ano_nasc > ano_atual) {
      escreva(“Ano inválido! Tente novamente: “)
      leia(ano_nasc)
      }

      idade = ano_atual – ano_nasc
      escreva(“Você tem ” + idade + ” anos de idade!”)
      }
      }

      Fiz esse pequeno exemplo para mostrar como seria mais ou menos, Basicamente, temos aí a entrada de dados onde será informado o ano de nascimento. Quando o usuário digitar o ano_nasc, ele vai ser avaliado no bloco enquanto. Caso ano_nasc seja menor que 1900 ou maior que ano_atual, o bloco do enquanto vai ser executado repetidas vezes, até que vc digite um ano válido(um ano entre 1900 e 2021). Teste e veja se entende a lógica.

      Por que escolhi um ano entre 1900 e 2021? 1900 pois caso fosse menos, a idade seria de mais de 120 anos, então 1900 foi o mínimo. Já 2021 pq é o ano atual, então teria que ser o valor máximo.

      Espero ter ajudado, qualquer coisa é só chamar!

      • #61181

        Boa noite, José !
        Ah, ok, essa sua ideia foi muito boa. No entanto, o que eu gostaria era que quando o Usuário digitasse o Ano com apenas “02 Dígitos”, por exemplo, 94, o programa desse uma mensagem de Erro, pedindo para que ele Digitasse o Ano com 04 Dígitos, entendeu?

    • #61190
      Michel Souza
      Participante

      Olá Willian, aqui no Estudonauta você não vai encontrar links para questões de Algoritmos(VisualG), isso é no Curso em Vídeo (são empresas diferentes).
      Bom respondendo sua 1º dúvida, eu criei um exemplo, espero que ajude a sanar suas dúvidas e que seja isso que procura. Qualquer melhora será bem vinda.

      Algoritmo “Cálculo_Idade”
      //Descrição: Programa para Calcular a idade, fazendo repetição caso o ano digitado seja diferente de 4 dígitos
      //Autor(a): Michel J. S
      Var
      //declara o ano atual como caractere
      ano_atual: Caractere
      //declara o nascimento e a idade como inteiro
      ano_nasc, idade: Inteiro

      Inicio
      //Pedir para digitar o ano atual
      EscrevaL (“—————————————–“)
      Escreva(“Informe o ano atual (4 Dígitos (YYYY)): “)
      Leia(ano_atual)
      //Condição ano_atual diferente de 4 números
      Se (compr(ano_atual) <> 4) entao //verifica o comprimento do ano atual
      //Repete estrutura ate ano_atual = 4
      Repita
      EscrevaL (“ERRO, Informe o Ano Atual com 4 DÍGITOS”)
      EscrevaL()
      EscrevaL (“————————————-“)
      Escreva(“Informe o ano atual (4 Dígitos (YYYY)): “)
      Leia(ano_atual)
      ate (compr(ano_atual) = 4)) //caso a condição seja verdadeira termina a repetição
      FimSe //termina a estrutura de repetição
      //Pedir para digitar o ano de nascimento
      Escreva(“Digite o ano de nascimento: “)
      Leia(ano_nasc)
      //Converter um valor (caractere) para inteiro, para que possa ser feito o calculo da idade
      idade <- Caracpnum(ano_atual) – ano_nasc
      //Mostrar o Resultado na tela
      EscrevaL(“Sua idade em “, ano_atual, ” é de “, idade, ” anos”)
      Fimalgoritmo

    • #61598
      Tutora Mayla
      Mestre

      Willian, as respostas de seus colegas foram muito boas, gostaria de adicionar uma ideia para a verificação do ano.
      Além de ser possível verificar o comprimento utilizando uma variável do tipo caractere, é possível apenas verificar se o número na variável do tipo inteiro é menor que 100, já que só será um número de 2 dígitos se for menor que 100. E para saber se o número é um ano válido pode usar a condição sugerida pelo aluno José.
      Pesquise sobre o bloco repita ate(do while) do VisualG. Na aula M03A10 o professor Guanabara ensina o faca enquanto que é o equivalente no PortugolStudio, veja essa aula e tente imaginar como isso ajudaria no seu problema.

      Seria algo como esse pseudocódigo

      
      faca 
          digite ano com 4 dígitos
          se ano < 100
              diga erro 
      enquanto ano < 100
      

      Esse bloco se é apenas para imprimir uma mensagem de erro, o laço é para que o valor só seja aceito quando cumprir a exigência.
      Quanto a sua dúvida sobre Pi imagino que tenha sido respondida pelo aluno Neilson. Mas se ainda houver dúvida basta falar que tento explicar de outra forma.

      Gostaria de ressaltar que a tutoria do Estudonauta é para duvidas referentes ao Estudonauta, não tiramos dúvidas sobre o Curso em Video.

      Espero ter ajudado, quaisquer outras dúvidas basta entrar em contato. Bons estudos!

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