22
Algoritmos e Técnicas de Programação Prof. Msc. Raul Paradeda Aula 04 Comandos de Entrada/Saída

Algoritmos e Técnicas de Programação

  • Upload
    dougal

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Algoritmos e Técnicas de Programação

Algoritmos e Técnicas de Programação

Prof. Msc. Raul ParadedaAula 04

Comandos de Entrada/Saída

Page 2: Algoritmos e Técnicas de Programação

Sumário

Entrada/Saída; Depuração.

Page 3: Algoritmos e Técnicas de Programaçã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).

Page 4: Algoritmos e Técnicas de Programação

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: Algoritmos e Técnicas de Programação

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

Page 6: Algoritmos e Técnicas de Programação

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

Page 7: Algoritmos e Técnicas de Programação

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.

Page 8: Algoritmos e Técnicas de Programação

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: Algoritmos e Técnicas de Programação

Saída

inicio

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

fimalgoritmo

O texto DEVE ficar entre aspas duplas!

Page 10: Algoritmos e Técnicas de Programação

Saída

var variável1:real

inicio

variável1 <- 4.3

escreva(variável1)

fimalgoritmo

Sem aspas se for variável!

Page 11: Algoritmos e Técnicas de Programação

Saída

var numero:inteiro

inicio

numero <- 15

escreva(“O valor é:”,numero)

fimalgoritmo

Separar texto de variável com vírgula!

Page 12: Algoritmos e Técnicas de Programação

Saída

var numero:inteiro

inicio

escreva(“Informar um valor”)

leia(numero)

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

fimalgoritmo

Page 13: Algoritmos e Técnicas de Programação

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

Page 14: Algoritmos e Técnicas de Programação

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: Algoritmos e Técnicas de Programação

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: Algoritmos e Técnicas de Programação

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

Page 17: Algoritmos e Técnicas de Programação

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 – faces6. escreva(“O número de vértices do objeto especificado é: “, vértices)

Page 18: Algoritmos e Técnicas de Programação

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!

Page 19: Algoritmos e Técnicas de Programação

Depuração

NÃO HOUVE A TROCA DE VALORES!

Alguém sabe o porquê e como resolver?

Page 20: Algoritmos e Técnicas de Programação

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: Algoritmos e Técnicas de Programação

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

Page 22: Algoritmos e Técnicas de Programação

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.