Lógica de Programação
Prof. Msc. Raul Paradeda
Aula 4
Entrada/Saída
Sumário
 Entrada/Saída;
 Depuração.
Entrada e Saída
 As linguagens de programação estão preparadas
para receberem entradas e apresentarem
saídas.
 Dessa forma, durante a execução de um
programa, um usuário poderá informar valores
de entrada para que sejam processadas pelo
computador, que, por sua vez, retornará o
resultado do processamento (saída).
Entrada e Saída
 Para um problema onde queremos calcular o número
de vértices de um cubo, o usuário fica restrito a esta
figura. E se quisesse calcular os vértices de um
triângulo?
 Ou seja, os valores não devem ser pré-definidos
(definidos pelo programador).
 Teríamos que modificar o algoritmo toda vez que
quiséssemos valores diferentes?
 Por esse motivo, basta que o usuário informe para o
programa quais os valores que este deve processar.
 É o esquema Entrada->Processamento->Saída.
Entrada
 É o meio pelo qual o usuário pode informar para o
programa valores de entrada. Ou seja, não são
valores pré-definidos, e sim definidos pelo usuário.
 É realizado pelo comando:
leia(<variável>);
 A leitura de um valor implica no uso de uma variável,
pois tal valor precisa ser armazenado em algum
espaço na memória:
var variável1:real;
inicio
leia(variável1);
fim.
Entrada
Var n1,n2,S:inteiro;Var n1,n2,S:inteiro;Var n1,n2,S:inteiro;
inicio
inicio
inicio
n1<-8;
leia(n1);
leia(n1,n2);
n2<-2;
leia(n2);
s<-n1+n2;
s<-n1+n2;
s<-n1+n2;
fim
fim
fim
Entrada - Exercícios
1. Crie programas que peçam dois números inteiros
para o usuário e calcule:
1.
2.
3.
A soma entre os dois números;
A subtração dos valores;
A multiplicação dos valores.
2. Crie um programa que calcule a divisão entre dois
valores reais informados pelo usuário.
3. Crie um programa que calcule a soma entre dois
valores inteiros pares e calcule a multiplicação entre
três valores inteiros impares, todos informados pelo
usuário.
4. Crie um programa que subtraia o resultado da soma
e da multiplicação do exercício anterior.
Saída
 Para que o usuário consiga visualizar o resultado
processamento do programa, toda linguagem de
programação fornece mecanismos de apresentação
(saída) dos dados.
 Para realizar a impressão de informações na tela é
utilizado o seguinte comando:
escreva(<valor>);
 O valor escrito na tela do monitor pode ser um texto
(neste caso, o texto é escrito entre aspas duplas “ ”)
ou o conteúdo de uma variável/constante.
 Em Portugol pode-se intercalar texto com variáveis,
separando-os por vírgulas.
Saída
inicio
escreva(“Texto que será impresso na tela”);
fim
Entre aspas o texto!
Saída
var variável1:real;
inicio
variável1 <- 4.3;
escreva(variável1);
fim
Sem aspas se for variável!
Saída
var numero:inteiro;
inicio
numero <- 15;
escreva(“O valor é:”,numero);
fim
Separar texto de variável com vírgula!
Saída
var numero:inteiro;
inicio
escreva(“Informar um valor”);
leia(numero);
escreva(“O ”,numero,” foi digitado!”);
fim
Exemplos reais de algoritmos
 Adaptação do problema do cubo.
var vértices, faces, arestas: inteiro;
Início
escreva(“Entre com o número de faces do objeto: “);
leia(faces);
escreva(“Entre com o número de arestas do objeto: “);
leia(arestas);
vértices <- arestas + 2 – faces;
escreva(“O número de vértices do objeto especificado é:
“, vértices);
fim
Saída - Exercícios
1. Crie um programa que imprima três frases
pré-definidas para o usuário.
2. Crie um programa que peça dois valores para
o usuário e calcule e mostre o resultado:
1.
2.
3.
Da soma entre os dois números;
Da subtração dos valores;
Da multiplicação dos valores.
3. Crie um programa que calcule a taxa de juros
de um determinado valor, ambos informados
pelo usuário. Mostre o valor e a taxa
informado pelo usuário e o resultado obtido
do juros.
Depuração
 Verificar o algoritmo linha por linha a procura
de erros.
 Esse procedimento pode ser feito utilizando o
chamado “teste de mesa”.
 Exemplo: Teste de mesa para o objeto
geométrico cubo.
Depuração
 Primeiramente colocam-se números nas linhas que serão
executadas.
var vértices, faces, arestas: inteiro;
Início
1. escreva(“Entre com o número de faces do objeto: “);
2. leia(faces);
3. escreva(“Entre com o número de arestas do objeto: “);
4. leia(arestas);
5. vértices <- arestas + 2 – faces;
6. escreva(“O número de vértices do objeto especificado é:
“, vértices);
fim.
Depuração

Segundo, fazer um quadro onde as colunas serão as
variáveis do algoritmo, e as linhas serão cada linha
referente ao algoritmo.
1. escreva(“Entre com o número de faces do objeto: “);
2. leia(faces);
3. escreva(“Entre com o número de arestas do objeto: “);
4. leia(arestas);
5. vértices <- arestas + 2 – faces;
6. escreva(“O número de vértices do objeto especificado é: “, vértices);
Exemplos reais de algoritmos
 Intercambiar os valores de duas variáveis.
 Crie um algoritmo que armazene dois números e que
retornem para o usuário uma troca de valores.
 Exemplo:
var a, b: inteiro:
início
1. leia(a, b);
2. a <- b;
3. b <- a;
4. escreva(a, b);
fim.
Exercício: Façam a depuração (teste de mesa) do algoritmo
de intercambiar e vejam se está correto!
Depuração
NÃO HOUVE A TROCA DE VALORES!
Alguém sabe o porquê e como resolver?
Variável
 Como já mencionado, uma única variável pode
manter apenas um valor a cada momento.
 É a mesma coisa que dois corpos não podem
ocupar o mesmo lugar no espaço, um precisa dar
lugar para o outro.
 Ou seja, para que dê certo o nosso exemplo, é
necessário o uso de mais uma variável que possa
armazenar temporariamente o valor de uma das
variáveis que contem valor.
Exercício
 Façam o problema de intercambiar valores, resolvendo o
problema de troca de valores, e façam também o teste
de mesa.
var a, b, aux: inteiro;
início
1. leia(a, b);
2. aux <- a;
3. a <- b;
4. b <- aux;
5. escreva(a, b);
fim.
Exercícios de reforço
1 – Resolva as seguintes expressões lógicas:
não (V e (V ou F))
não (V e não(V ou F))
((F ou V) e F) ou não ((V e F) e (V e F))
2 – Faça um algoritmo que calcule a média de quatro números
introduzidos pelo usuário.
3 – Faça um algoritmo que receba a temperatura em graus
Celsius e apresente-a em graus Fahrenheit, de acordo com a
fórmula
ºF = (1.8 ºC) + 32.
4 – Faça um algoritmo que leia um número de 4 dígitos e escrevao invertido. Por exemplo, se o número lido for 2548, o resultado
será 8452. (Dica: qualquer número pode ser decomposto
mediante sucessivas divisões inteiras e com operações de “resto”.
Por exemplo, 2579 div 1000 = 2, 2579 resto 1000 = 579.