Entrada/saída de dados

  1. Saída de dados
  2. Entrada de dados
  3. Limpando a tela

A entrada de dados, na programação, é basicamente tudo aquilo que entra de fora pra dentro, ou seja, informações que vem do meio externo para o programa. Por exemplo, quando você digita uma tecla no teclado ou passa o mouse em algum elemento qualquer na tela, você está enviando dados do meio externo para o computador, e esses dados são passados para o programa. Por isso, está ocorrendo uma entrada de dados.

Já a saída de dados é o que vai do programa para fora. Uma impressão de um arquivo é uma saída de dados. A exibição de um texto ou uma imagem na tela é saída de dados. Até mesmo a escrita de um arquivo é uma saída de dados, porque o ponto de vista é do programa para fora e não do computador para fora.

Saída de dados

Como você viu no tutorial do Portugol Studio, o comando escreva() é usado para imprimir alguma coisa na tela. Porém, você viu apenas um uso básico do comando, onde foi usado um texto comum. Agora, você vai se aprofundar mais no comando.

Primeiramente, você pode usar \n para pular uma linha e \t para dar um tab no texto. Altere o exemplo anterior ou crie um novo exemplo colocando o código abaixo:

escreva("Primeira linha\nSegunda linha\n")

Você verá cada texto em sua linha, conforme o esperado. Porém, vamos imaginar que a gente tivesse linhas grandes. Da forma que está, estamos passando apenas um argumento para o nosso comando. Não seria melhor separar nosso texto em várias linhas, separando os textos por vírgulas? Dessa forma, cada linha seria um argumento para o nosso comando. Isso pode ser feito assim:

escreva(
    "Primeira linha\n",
    "Segunda linha\n"
)

Para ver o efeito do \t, insira-o antes da palavra linha e confira o resultado.

Podemos também escrever variáveis no comando:

inteiro pontos = 10
escreva("Você fez ", pontos, " pontos!\n")

Basicamente, uma variável é uma informação que fica armazenada na memória. Pode ser um número, um texto, dentre outras coisas. No código acima, a variável pontos foi declarada e inicializada com o valor 10. Depois, usamos o comando escreva() para imprimi-la na tela. Note que a palavra pontos aparece duas vezes nesse comando. Na primeira vez, ele faz referência à variável pontos que foi declarada. Na segunda, ela imprime a palavra pontos literalmente. Variáveis serão cobertas em detalhes em outro tutorial. Por enquanto, você precisa apenas de uma noção básica desse conceito, que foi dada.

Entrada de dados

A entrada de dados é feita com o comando leia(). Assim como o comando escreva(), ele também aceita vários argumentos:

inteiro x, y, idade
escreva("Digite a sua idade\n")
leia(idade)
escreva("Digite as suas coordenadas\n")
leia(x, y)
escreva("Coordenadas:\n", x, " e ", y, "\n", "Idade:\n", idade, "\n")

Perceba que eu declarei algumas variáveis (três inteiros), mas não atribuí nenhum valor a elas. Eu permiti que o usuário definisse o valor delas pelo comando leia(). Esse comando só aceita variáveis como argumentos. O que o usuário digitar ele vai armazenar nas variáveis.

O que o nosso algoritmo faz é bem simples:

  • Solicita que o usuário digite uma idade.
  • Lê a idade que o usuário digitou com o comando leia().
  • Solicita duas coordenadas e lê as duas de uma vez só com o comando leia() (é possível ler múltiplas variáveis de uma vez, separando as variáveis por vírgula).
  • Usa o comando escreva() para imprimir o valor das variáveis.

O que acontece se for digitado um valor que não é inteiro? Acontece um erro:

Erro ao digitar valor não inteiro

Isso acontece porque o programa exige que o valor que seja passado para o comando leia() esteja dentro do conjunto de valores aceitos pelo tipo da variável que vai receber o que for digitado.

Ficou confuso? Basicamente, o que estou dizendo é que se você usar o leia() em um inteiro, você precisa passar um valor inteiro. Se você passar um texto, vai dar erro, porque um texto não é um valor inteiro. E nas linguagens de programação? É assim também? Geralmente, não. Até C++, que é uma linguagem com tipagem forte, tem um comportamento diferente.

Limpando a tela

Para limpar a tela do console, use o comando limpa(). Faça um teste: coloque esse comando antes do comando que mostra as variáveis do exemplo da idade e das coordenadas da seção anterior.