220 likes | 411 Views
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.
E N D
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 leia(n1) leia(n2) s<-n1+n2 fimalgoritmo Var n1,n2,s:inteiro inicio leia(n1,n2) s<-n1+n2 fimalgoritmo Var n1,n2,s:inteiro inicio n1<-8 n2<-2 s<-n1+n2 fimalgoritmo
Entrada - Exercícios • Crie programas que solicitem dois números inteiros para o usuário e calcule: • A soma entre os dois números; • A subtração dos valores; • A multiplicação dos valores. • Crie um programa que calcule a divisão entre dois valores reais informados pelo usuário. • 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. • 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 O texto DEVE ficar entre aspas duplas! inicio escreva(“Texto que será impresso na tela”) fimalgoritmo
Saída Sem aspas se for variável! var variável1:real inicio variável1 <- 4.3 escreva(variável1) fimalgoritmo
Saída Separar texto de variável com vírgula! var numero:inteiro inicio numero <- 15 escreva(“O valor é:”,numero) fimalgoritmo
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 • Crie um programa que imprima três frases pré-definidas para o usuário. • Crie um programa que peça dois valores para o usuário e calcule e mostre o resultado: • Da soma entre os dois números; • Da subtração dos valores; • Da multiplicação dos valores. • 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 algoritmoque 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.