FATERN Curso de Sistemas Para Internet Algoritmos e Técnicas de

Propaganda
Algoritmos e Técnicas de
Programação
Prof. Msc. Raul Paradeda
Aula 04
Comandos de Entrada/Saída
Sumário
 Entrada/Saída;
 Depuração.
Entrada e Saída
 As linguagens de programação estão preparadas
para receberem dados de entradas e
apresentarem dados de saída.
 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)
fimalgoritmo
Entrada
Var
n1,n2,s:inteiro
inicio
n1<-8
n2<-2
s<-n1+n2
fimalgoritmo
Var
n1,n2,s:inteiro
inicio
leia(n1)
leia(n2)
s<-n1+n2
fimalgoritmo
Var
n1,n2,s:inteiro
inicio
leia(n1,n2)
s<-n1+n2
fimalgoritmo
Entrada - Exercícios
1. Crie programas que solicitem dois números inteiros para o
usuário e calcule:
1. A soma entre os dois números;
2. A subtração dos valores;
3. 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”)
fimalgoritmo
O texto DEVE ficar entre aspas duplas!
Saída
var variável1:real
inicio
variável1 <- 4.3
escreva(variável1)
fimalgoritmo
Sem aspas se for variável!
Saída
var numero:inteiro
inicio
numero <- 15
escreva(“O valor é:”,numero)
fimalgoritmo
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!”)
fimalgoritmo
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)
fimalgoritmo
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. Da soma entre os dois números;
2. Da subtração dos valores;
3. 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)
fimalgoritmo
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)
fimalgoritmo
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)
fimalgoritmo
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 escreva-o
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.
Download