22
Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Embed Size (px)

Citation preview

Page 1: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Lógica de Programação

Prof. Msc. Raul ParadedaAula 4

Entrada/Saída

Page 2: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Sumário

Entrada/Saída; Depuração.

Page 3: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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).

Page 4: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/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.

Page 5: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/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.

Page 6: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Entrada

Var n1,n2,S:inteiro;

inicio

n1<-8;

n2<-2;

s<-n1+n2;

fim

Var n1,n2,S:inteiro;

inicio

leia(n1);

leia(n2);

s<-n1+n2;

fim

Var n1,n2,S:inteiro;

inicio

leia(n1,n2);

s<-n1+n2;

fim

Page 7: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Entrada - Exercícios

1. Crie programas que peçam 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.

Page 8: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.

Page 9: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Saída

inicio

escreva(“Texto que será impresso na tela”);

fim

Entre aspas o texto!

Page 10: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Saída

var variável1:real;

inicio

variável1 <- 4.3;

escreva(variável1);

fim

Sem aspas se for variável!

Page 11: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Saída

var numero:inteiro;

inicio

numero <- 15;

escreva(“O valor é:”,numero);

fim

Separar texto de variável com vírgula!

Page 12: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Saída

var numero:inteiro;

inicio

escreva(“Informar um valor”);

leia(numero);

escreva(“O ”,numero,” foi digitado!”);

fim

Page 13: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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

Page 14: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.

Page 15: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.

Page 16: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.

Page 17: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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);

Page 18: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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!

Page 19: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

Depuração

NÃO HOUVE A TROCA DE VALORES!

Alguém sabe o porquê e como resolver?

Page 20: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.

Page 21: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.

Page 22: Lógica de Programação Prof. Msc. Raul Paradeda Aula 4 Entrada/Saída

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.