Entrada e saída de dados em algoritmos
Gustavo Queiroz Fernandes
Atualizado em: 06/05/2019
Sumário
Objetivos ... 1
Pré-requisitos ... 1
Recursos e Materiais ... 1
Última Atualização ... 1
1. Comando de atribuição ... 1
2. Comando de entrada de dados ... 2
3. Comando de saída de dados ... 2
4. Um algoritmo para ler e imprimir o seu nome na tela... ... 2
5. Um algoritmo para ler a idade em anos e calcular a idade em dias... ... 3
6. Como simular um algoritmo ... 3
Referências Bibliográficas ... 4
1 Objetivos
Apresentar os comandos de atribuição e de entrada e saída de dados, bem como utilizá-los para escrevermos nossos primeiros algoritmos, mesmo que eles ainda representem a solução de problemas mais simples
Pré-requisitos Aula: ”Conceitos básicos: Exercícios”
Recursos e Materiais Nenhum Última Atualização 06/05/2019
Continuando nossos estudos sobre lógica de programação, depois de revisarmos os conteúdos abordados na aula “Tipos de dados, variáveis e identificadores” e na aula de
“Operadores”, é hora de escrevermos nossos primeiros algoritmos. Para isso, a seguir, aprenderemos o comando de atribuição, utilizado para definirmos valores para as variáveis do nosso programa, e os comandos de entrada e saída de dados, utilizados para transmitirmos informações entre o algoritmo e o usuário, via dispositivos de entrada e saída.
Caso queira saber mais sobre o que são esses dispositivos e aproveitar para conhecer as principais unidades que compõem os computadores, não deixe de conferir também a aula
“Estrutura de um computador digital”.
1. Comando de atribuição
O comando de atribuição nos permite definir um valor para uma variável. Ele é representado por uma seta apontando para a esquerda “” , uma vez que o símbolo de igual “=” já está reservado ao operador relacional, conforme vimos na aula de “Operadores”.
Três exemplos são apresentados para ilustrarem a utilização desse comando e a primeira observação que podemos fazer em relação a ele, é que a variável fica sempre localizada à esquerda, enquanto que o valor atribuído à ela, é colocado à direita da seta. Assim, a forma correta de lermos o comando de atribuição fica “A variável ... recebe o valor ...”, como também indicado em cada um dos exemplos abaixo.
a) lógico: A;
A 5 = 3; //A variável A recebe o valor “Falso”
b) real: y;
y 3.14; //A variável y recebe o valor 3.14 c) inteiro: x;
x 8 + 13 div 2; //A variável x recebe o valor 14
É importante notarmos que o valor enviado para a variável deve respeitar o tipo de dado da mesma e, por isso, 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 linha de comando deve ser indicado com o símbolo de ponto e vírgula “;” e comentários para
2 melhorar a compreensão do pseudocódigo podem ser adicionados ao final de qualquer linha, precedidos de duas barras “//”.
2. 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, como por exemplo, o teclado do computador. Sua utilização 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.
3. 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, geralmente, a tela do computador. Ele é representado pela instrução “escreva (informação)”, sendo que essa informação pode ser tanto valores de variáveis, quanto textos pré definidos, conforme ilustrado nos dois exemplos abaixo.
a) escreva (x); b) escreva (“Hoje é dia”, x, “de maio”);
Todo pedaço de informação contido dentro dos parênteses desse comando é separado por vírgula e, para que o algoritmo seja capaz de diferenciar o que é texto e o que é identificador, no caso de texto, os caracteres devem estar contidos entre aspas duplas.
Para entendermos melhor a utilização de cada um desses comandos, vejamos agora dois exemplos mais detalhados, em que escrevemos algoritmos completos para a solução de problemas, por enquanto, bastante simples.
4. Um algoritmo para ler e imprimir o seu nome na tela...
1 início //Início do algoritmo
2 caracter: nome; //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
3 Um algoritmo para ler e imprimir o seu nome na tela é apresentado acima, com comentários para descrever cada um dos comandos utilizados. Os números à esquerda não são obrigatórios em pseudocódigos e foram adicionados nesses exemplos apenas para que você possa identificar sobre qual linha estamos falando e também para facilitar para nós a simulação do algoritmo, conforme veremos no próximo exemplo.
Todo algoritmo deve ser iniciado com o comando “início” 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
“início” e “fim”, e sempre que iniciarmos estruturas de seleção e de repetição, assunto das próximas aulas.
5. Um algoritmo para ler a idade em anos e calcular a idade em dias...
1 início //Início do algoritmo
2 inteiro: idade_dias, idade_anos; //Declara as variáveis utilizadas 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 idade_anos * 365; //Calcula a idade em dias 6 escreva (“Você tem ”, idade_dias, “dias de vida.”); //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 e calcularmos a idade em dias de um usuário. Como os comandos e a organização do conteúdo são muito similares ao exemplo anterior, vamos focar em utilizá-lo para aprendermos como simular a execução de um pseudocódigo, linha por linha. Essa técnica é útil para que possamos procurar por eventuais erros de lógica dos algoritmos que viermos a desenvolver.
6. Como simular um algoritmo
Tabela 1: 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
Para simularmos a execução de um algoritmo, devemos criar uma tabela contendo uma coluna para as linhas, uma coluna para cada variável do pseudocódigo, e uma coluna para representar o dispositivo de saída (tela), conforme realizado na Tabela 1 para o exemplo que estamos
4 analisando. Em seguida, executamos os comandos escritos em cada linha do algoritmo e verificamos o que acontece com a tela e as com as informações armazenadas nas variáveis.
• A linha 1 apenas marca o início do algoritmo e, 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.
Referências Bibliográficas
A. A. T. Maia, “Fundamentos da Computação – Algoritmos – Programação em Linguagem C”.
Universidade Federal de Minas Gerais, 2013.