![]() |
Programa "Olá Mundo!" em Portugol |
Compreendendo variáveis, seus tipos e a entrada de dados
No exemplo "Olá Mundo!" comentado na aula anterior (foto acima), mostrei como fazer a saída de dados de uma cadeia de caracteres na tela através do Portugol. Além disso mostrei outros exemplos com saída de dados através da função escreva().
Em todos eles, os parâmetros eram passados diretamente para função dentro dos parenteses () entre "aspas", exceto no caso de dados numéricos. Está lembrado? Falta agora comentar como podemos armazenar dados para posteriormente executar a saída em tela.
Variáveis
Conforme já havíamos comentado nas aulas de fluxograma, em programação, variáveis são elementos que servem para armazenar temporariamente informações que estão sendo processadas. Essas variáveis também podem ser passadas como parâmetros para a função escreva(). Observe esse exemplo:
- programa {
- funcao inicio () {
- cadeia mensagem
- mensagem = "Olá Mundo!"
- escreva(mensagem)
- }
- }
Nele, na linha 3 eu estou usando a instrução cadeia mensagem para criar uma variável do tipo cadeia de caracteres cujo nome será mensagem. Na linha 4 eu estou informando ao programa que a variável mensagem está recebendo o valor "Olá Mundo!" para finalmente na linha 5 instruir o programa a mostrar na tela o conteúdo da variável mensagem.
Para testar isso, acesse o Portugol WebStudio em https://portugol.dev/ e click em NOVO ARQUIVO. Repare que ele mostrará uma estrutura de código previamente pronta já com a instrução programa e a função inicio(). Acrescente o código acima e mande INICIAR A EXECUÇÃO.
![]() |
Usando variáveis no Portugol Studio - Botão Iniciar Execução destacado em vermelho |
Repare que o programa praticamente gerou o mesmo resultado do "Olá Mundo!" da aula passada, só que agora com a utilização de uma variável. Nesse exemplo não vimos muita vantagem no uso de variáveis. Afinal o programa ficou maior e fez a mesma coisa que o anterior. Isso não é muito eficiente, mas vamos modificá-lo mais um pouco.
Entrada de Dados
Dessa vez vamos criar outra variável do tipo cadeia. Como ela é do mesmo tipo que a variável mensagem, eu posso utilizar a mesma linha 3. Essa variável será chamada de nome, mas não vamos atribuir nenhum valor a ela. Vamos fazer com que o usuário possa entrar com dados digitando informações para ela armazenar.
Para isso vamos fazer uso da função leia() que permite a entrada de dados no programa. Essa função utiliza como parâmetro dentro dos parenteses uma variável que será o destino dos dados. Assim, usaremos leia(nome). Eu também vou alterar o conteúdo da variável mensagem na linha 4 para o usuário saber o que eu quero que ele digite.
Assim, no mesmo programa que já estamos usando, faça as seguintes alterações e mande iniciar a execução:
- programa {
- funcao inicio () {
- cadeia mensagem, nome
- mensagem = "Digite seu nome: "
- escreva(mensagem)
- leia(nome)
- }
- }
Repare que o programa ficará com curso piscando na tela ao lado de nome: , esperando que você digite alguma coisa. Experimente digitar o seu nome e pressionar ENTER. Após o ENTER o programa será finalizado.
O que vimos até aqui foi como criar um novo programa no Portugol Webstudio e utilizar variáveis para armazenar o que foi digitado. Porém, não fizemos nada com a informação armazenada. No próximo exemplo vamos trabalhar um pouco mais com isso. Dessa vez utilizando variáveis numéricas.
Altere o seu código de acordo com o exemplo abaixo:
- programa {
- funcao inicio () {
- cadeia mensagem
- inteiro numero
- mensagem = "Digite um número: "
- escreva(mensagem)
- leia(numero)
- escreva("Você digitou: "+numero)
- escreva("\nO quadrado dele é: "+numero*numero)
- }
- }
Repare que nesse exemplo eu não vou mais usar a variável nome. Agora eu estou criando uma nova variável chamada numero que por ser do tipo inteiro, precisa ser criada em outra linha. Eu novamente alterei o conteúdo da variável mensagem para o usuário saber o que eu quero que ele digite.
Estou utilizando novamente a função leia(), agora pedindo para que o dados sejam armazenados na variável numero na instrução leia(numero). Só que desta vez eu quero que o número digitado seja posteriormente mostrado na tela em concatenação com a frase "Você digitou: ", por isso temos a linha 8. Veja que eu posso manipular essa informação processando o seu quadrado, ao multiplicar numero*numero. Também concatenando com uma frase.
Execute o código e teste com o número 2 e veja que ele mostrará que "O quadrado dele é: 4". Repare que há um \n antes da frase "O quadrado dele é: " por isso a informação sai na linha de baixo da anterior.
Erros de execução
Execute novamente o código só que desta vez, ao invés de digitar um número inteiro, escreva o nome do número, por exemplo escreva dois ao invés de digitar 2. Repare na mensagem na parte inferior da tela:
![]() |
Erro de execução no Portugol Studio |
A mensagem que você está vendo é um exemplo de que houve um Erro de Execução no programa, pois o usuário digitou uma cadeia de caracteres ao invés de um número. Felizmente, nesse caso, o Portugol foi capaz de tratar o erro, dar uma mensagem e finalizar o programa. Chamamos isso de tratamento de erro.
Em muitas linguagens caberá ao programador desenvolver mecanismos para tratar os erros e dar a devida saída para o usuário, caso contrário o programa pode travar o sistema, como aquelas telas azuis no Microsoft Windows. Voltaremos a esse assunto nos cursos de linguagem de programação.
Mais um exemplo
Digamos que eu queira fazer novamente aquele programa de cálculo de média final com base na nota de duas provas que vimos em fluxogramas. Eu quero que o usuário entre com as notas das provas, que ele calcule a média e mostre na tela. Por enquanto eu não quero ele com condicionais nem laços de repetição que ainda não vimos em Portugol. Como seria esse meu programa?
Pelo que vimos das aulas de fluxograma e de Portugol até agora, eu vou precisar criar variáveis para para armazenar as entradas das notas do usuário. Se as notas serão numéricas com decimais, então deverão ser do tipo real que já comentamos.
Depois de criar as variáveis e devo mostrar uma mensagem com a função escreva() pedindo para o usuário digitar uma das notas. A entrada dessa nota fará uso da função leia() que usa como parâmetro uma variável. Após digitar uma nota eu devo solicitar ao usuário a digitação de outra nota. Depois de digitar a segunda nota eu posso processar a média e mostrá-la tela.
Modifique então o seu programa de acordo com esse código:
- programa {
- funcao inicio () {
- real nota1,nota2
- escreva("Digite a nota1: ")
- leia(nota1)
- escreva("Digite a nota2: ")
- leia(nota2)
- escreva("A média final: "+(nota1+nota2)/2)
- }
- }
Repare que na linha 8 eu estou concatenando a cadeia de caracteres com a fórmula para o cálculo da média que já vimos nas aulas de fluxograma. Teste o seu programa rodando o código algumas vezes com diferentes notas. Lembre-se de digitar decimais com pontos e não virgulas.
Ao final, se tudo deu certo, dessa vez eu vou querer salvar esse código para reutilizá-lo na aula seguinte. Para isso é conveniente que ele tenha um nome que pode ser inserido clicando-se no botão RENOMEAR ABA, situado ao lado de onde está escrito SEM TÍTULO:
![]() |
Botão renomear destacado em vermelho |
![]() |
Renomeando o título para "média" |
Tendo renomeado o título clique no botão SALVAR ARQUIVO. Seu programa será baixado para a pasta DOWNLOADS do computador como um arquivo chamado media.por
![]() |
Botão Salvar Arquivo do Portugol Studio destacado em vermelho |
Referências
MANZANO, J. A. N. G. Portugol Studio: Programação de Computadores em Português. São Paulo: Propes Vivens, 2017. 86p
NOSCHANG, LUIZ et all. Portugol Studio: Uma IDE para Iniciantes em Programação. In: XXXIV Congresso da Sociedade Brasileira de Computação - CSBC, 34º, 2014, Brasília, Anais Eletrônicos do Congresso da Sociedade Brasileira de Computação, Brasília, 2014. p. 1287 - 1296. Disponível em: <https://sol.sbc.org.br/index.php/wei/article/view/10954/10824>. Acesso em: 4 ago. 2024.
PORTUGOL WEBSTUDIO. Ajuda. Disponível em: <https://portugol.dev/> Acesso em 05 ago. 2024.
PORTUGOL WEBSTUDIO. Dúvidas e Perguntas. Disponível em: <https://portugol.dev/> Acesso em 05 ago. 2024.