Atribuição, entrada e saída de dados em algoritmos

Objetivos:
Apresentar os comandos de atribuição, entrada e saída de dados, bem como utiliza-los para que possamos escrever e simular nossos primeiros algoritmos.
Recursos e materiais:
Última atualização:
18/05/2020
Aulas do capítulo:

Continuando nosso caminho dentro da programação, chegou a hora de estudarmos a lógica de programação necessária para que o programa de computador seja capaz de interagir com o usuário, recebendo, processando e enviando informações para o mundo externo. Nessa aula, conheceremos o que são comandos de atribuição, entrada e saída de dados em algoritmos para então escrevermos nossos primeiros pseudocódigos.

Comando de atribuição

Conforme o nome sugere, o comando de atribuição nos permite atribuir dados para cada uma das variáveis do algoritmo. Vejamos os exemplos abaixo para que possamos compreendê-lo.

a)
lógico: A;
A \leftarrow 5 = 3;     //A variável A recebe o valor “Falso”
b)
real: y;
y \leftarrow 3.14;     //A variável y recebe o valor 3.14
c)
inteiro: x;
x \leftarrow 8 + 13 div 2;     //A variável x recebe o valor 14

Você deve se lembrar que o símbolo de “=” já está reservado para a operação lógica de igualdade que ficamos conhecendo em nossa aula de operadores para algoritmos. Por isso, o comando de atribuição é representado por uma seta apontando para a esquerda, “\leftarrow “, partindo do dado em direção à variável que receberá a informação. A forma correta de lermos esse comando fica então: “A variável … recebe o valor …”.

É importante notarmos que o valor enviado para a variável deve respeitar o tipo de dado da mesma. Dessa forma, antes de utilizarmos o comando de atribuição, devemos garantir que a variável foi devidamente declarada em nosso algoritmo.

Além disso, o término de cada instrução deve ser indicado com o símbolo de ponto e vírgula “;” e comentários para melhorar a compreensão do pseudocódigo podem ser adicionados ao final de qualquer linha de comando, precedidos de duas barras “//”.

Comando de entrada de dados

O comando de entrada de dados tem como objetivo enviar para uma variável, um valor informado pelo usuário através de dispositivos de entrada. Caso você não saiba o que são esses dispositivos, acesse agora a aula sobre a arquitetura de um computador digital para ficar por dentro do assunto.

A utilização do comando de entrada de dados acontece através da instrução “leia (identificador)” e é ilustrada nos dois casos a seguir.

a)
inteiro: x;
leia (x);
b)
real: y;
caracter: z;
leia (y,z);

No primeiro exemplo, o usuário deverá fornecer um valor inteiro que será atribuído à variável x. Já no segundo exemplo, duas informações deverão ser enviadas pelo usuário, a primeira delas, do tipo real, enviada para a variável y, enquanto que a segunda é do tipo caracter, atribuída à variável z.

Comando de saída de dados

O último comando que veremos nessa aula é o comando de saída de dados, utilizado para enviarmos uma determinada informação para o usuário via dispositivos de saída. Novamente, recomendamos que acesse nossa aula sobre a estrutura de um computador digital caso ainda não conheça esses dispositivos.

O comando de saída de dados é representado pela instrução “escreva (informação)”. Essa informação pode estar tanto contida em variáveis quanto em formato de texto, conforme podemos observar nos dois exemplos abaixo.

a)
escreva (x);
b)
escreva (“Hoje é dia”, x, “de maio”);

Os caracteres que representam informação no formato de texto devem estar contidos entre aspas duplas para que o algoritmo seja capaz de diferenciá-los dos identificadores de variáveis. Além disso, devemos separar as informações por vírgulas “,” sempre que desejarmos alternar entre texto e variável.

Para entendermos melhor a utilização de cada um desses comandos, vejamos agora um exemplo de um algoritmo completo, que lê e imprime o nome do usuário na tela do computador.

Nosso primeiro algoritmo

Problema para ler e imprimir um nome
1
inicio;
//Início do algoritmo
2
    caracter: nome[1…10];
//Declara a variável nome como caracter
3
    escreva (“digite o seu nome: “);
//Exibe a mensagem na tela para o usuário
4
    leia (nome);
//Armazena o nome digitado na variável nome
5
    escreva (“o seu nome é: “, nome);
//Exibe a mensagem e o nome digitado
6
fim.
//Fim do algoritmo

Nesse exemplo, adicionamos comentários e numeramos cada uma das linhas do algoritmo. Apesar de não serem obrigatórios, esses elementos facilitam a compreensão e a simulação do pseudocódigo, conforme veremos mais adiante.

Todo algoritmo deve ser iniciado com o comando “inicio” na linha 1 e finalizado com o comando “fim” na última linha. Além disso, de forma a melhorar a visualização e localização de qualquer informação dentro de pseudocódigos mais longos, é uma boa prática indentarmos (deslocarmos para a direita) o conteúdo do algoritmo entre esses comandos de “inicio” e “fim”.

Mais um exemplo de atribuição, entrada e saída de dados

Problema do cálculo da idade em dias
1
inicio;
//Início do algoritmo
2
    inteiro: idade_dias, idade_anos;
//Declara as variáveis
3
    escreva (“Informe a sua idade em anos: “);
//Exibe a mensagem na tela
4
    leia (idade_anos);
//Armazena a idade em anos
5
    idade_dias \leftarrow idade_anos*365;
//Calcula a idade em dias
6
    escreva (“Você viveu”, idade_dias, “dias.”);
//Exibe a mensagem na tela
7
fim.
//Fim do algoritmo

Um outro exemplo de algoritmo é apresentado acima, dessa vez, para lermos a idade em anos de um usuário e calcularmos a idade em dias. A informação do usuário é enviada à variável idade_anos. O valor contido nessa variável é multiplicado por 365 e o resultado atribuído à variável idade_dias. Ao final, uma mensagem é impressa na tela do computador informando o resultado.

Vamos aproveitar esse exemplo para aprendermos a simular a execução de um pseudocódigo. Essa técnica é útil para que possamos procurar por eventuais erros de lógica dentro dos algoritmos que viermos a desenvolver.

Como simular um algoritmo

Para simularmos a execução de um algoritmo, devemos criar uma tabela parecida com a Tabela 1 abaixo. A primeira coluna indica a sequência de execução do algotimo, linha por linha. As outras colunas mostram cada uma das variáveis do pseudocódigo e a tela do computador.

Simulando a execução do algoritmo para cálculo da idade em dias de um usuário
Linha idade_dias idade_anos Tela
1 Início do algoritmo
2
3 Informe a sua idade em anos:
4 10 Informe a sua idade em anos: 10<ENTER>
5 3650 10 Informe a sua idade em anos: 10
6 3650 10
Informe a sua idade em anos: 10
Você tem 3650 dias de vida
7 Fim do algoritmo

Vejamos como essa Tabela é preenchida ao simularmos a execução de cada uma das instruções do nosso exemplo para calcular a idade em dias do usuário.

  • A linha 1 apenas marca o início do algoritmo. Por isso, as variáveis ainda não existem e nenhuma informação está apresentada na tela.
  • Na linha 2, são reservadas duas células de memória para armazenar valores inteiros, a primeira delas chamada de idade_dias, e a segunda de idade_anos. Como nenhum valor é atribuído às variáveis, esses espaços de memória continuam vazios.
  • Em seguida, na linha 3, a mensagem “Informe sua idade em anos:” é apresentada no dispositivo de saída.
  • Na linha 4, o usuário digita a sua idade e pressiona a tecla <ENTER>, atribuindo a informação inserida para a variável idade_anos. Para a simulação que estamos realizando, consideramos que o usuário informou ter 10 anos.
  • Já na linha 5, os cálculos de conversão da idade em anos para a idade em dias são realizados e o resultado é armazenado na variável idade_dias.
  • Na linha 6, o valor dessa variável é apresentado no dispositivo de saída.
  • Por fim, na linha 7, o algoritmo é finalizado.

Os comandos de atribuição, entrada e saída de dados serão muito úteis à partir das próximas aulas, quando aprendermos a escrever estruturas de seleção e repetição. Elas nos permitirão desenvolver algoritmos mais complexos e resolver uma gama maior de problemas. Ao mesmo tempo, com o aumento da complexidade, precisaremos simular nossos pseudocódigos para garantirmos que a lógica programada não contém erros.

Você não vai querer ficar de fora quando esses e outros materiais forem lançados, não é verdade? Então, acesse agora esse link e faça parte da nossa comunidade! Muito crescimento e um mundo de novidades e inovação te espera!

Referências bibliográficas

A. A. T. Maia, “Fundamentos da Computação – Algoritmos – Programação em Linguagem C”. Universidade Federal de Minas Gerais, 2013.

Deixe um comentário

%d blogueiros gostam disto: