Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Me. Cristiany Moscoso Programação de Computadores Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Programação de Computadores Prof. Cristiany Moscoso Prof. Me. Cristiany Moscoso O que é Lógica? A palavra lógica está normalmente relacionada com o modo de pensar de um indivíduo em termos de racionalidade e coerência. Prof. Me. Cristiany Moscoso O que é Lógica? • ”Podemos relacionar a lógica com a “correção do pensamento”, pois uma de suas preocupações é determinar quais operações são válidas e quais não são, fazendo análises das formas e leis do pensamento. Como filosofia, ela procura saber por que pensamos assim e não de outro jeito. Com arte ou técnica, ela nos ensina a usar corretamente as leis do pensamento.” Lógica de Programação – André Luiz Villar Forbellone Prof. Me. Cristiany Moscoso O que é Lógica? • Todo cachorro é um mamífero. • Todo mamífero é um animal. • Portanto, todo cachorro é um animal. Prof. Me. Cristiany Moscoso O que é Lógica? • O exemplo anterior representa um argumento composto por duas premissas e uma conclusão. Todo cachorro é um mamífero. Todo mamífero é um animal. Portanto, todo cachorro é um animal • Está sendo estabelecida uma relação que pode ser válida ou não, aliás, este é um dos objetivos da lógica - estudar técnicas de formalização, dedução e análise com o intuito de verificar a validade de argumentos. Prof. Me. Cristiany Moscoso Lógica de Programação Técnica de encadear pensamentos para atingir determinado objetivo. Necessária para desenvolver programas e sistemas, pois permite definir a sequência lógica para a solução de um problema. Prof. Me. Cristiany Moscoso Sequencia Lógica Estes pensamentos podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa; Passos executados até se atingir um objetivo ou solução de um problema. Prof. Me. Cristiany Moscoso Sequencia Lógica Prof. Me. Cristiany Moscoso O que são Instruções? • “Conjunto das formalidades e informações necessárias para elucidar uma causa e pô-la em estado de ser julgada.” • “palavra ou expressão única que representa uma Operação.” Dicionário Michaelis Prof. Me. Cristiany Moscoso Atenção! • Uma ordem isolada não permite realizar o processo completo, é necessário um conjunto de instruções colocadas em ordem sequencial lógica; • Claro que essas instruções têm que ser executadas em uma ordem coerente; • Uma instrução tomada isoladamente não faz sentido; para atingirmos o resultado desejado, é preciso colocar em prática o conjunto de todas as instruções, na ordem correta. Prof. Me. Cristiany Moscoso Sequência Lógica Tarefa: “fazer omelete” Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”,... “pôr frigideira no fogo” ... Prof. Me. Cristiany Moscoso Sequência Lógica • As instruções isoladas não são suficiente para cumprir a tarefa “fazer omelete” “quebrar ovos” “bater ovos” “pôr sal” Prof. Me. Cristiany Moscoso Sequência Lógica • Quanto à sequência lógica: • Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, não iremos cumprir a tarefa “fazer omelete” Prof. Me. Cristiany Moscoso O que são Instruções? • Cada um dos passos, cada uma das ações a tomar (obedecendo a sequência lógica) para ir resolvendo o problema, ou para ir executando a tarefa; • Em informática, é a informação que indica a um computador uma operação elementar a executar Ex.: “somar”, “subtrair”, “comparar se é maior”, etc • Uma só instrução não resolve problemas • Executar um conjunto de instruções • Executar em uma sequência lógica Prof. Me. Cristiany Moscoso O que são Instruções? INSTRUÇÃO: CONTENDO BEBÊ O que vem a mente de vocês? Prof. Me. Cristiany Moscoso SIM x NÃO Prof. Me. Cristiany Moscoso O que são Instruções? INSTRUÇÃO: SECANDO O BEBÊ O que vem a mente de vocês? Prof. Me. Cristiany Moscoso SIM x NÃO Prof. Me. Cristiany Moscoso O que é o Algoritmo? “Um conjunto finito de regras que provê uma sequência de operações para resolver um tipo de problema específico” (KNUTH) “Sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema” (TREMBLAY) Prof. Me. Cristiany Moscoso O que é o Algoritmo? • “Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, as regras formais para a obtenção do resultado ou da solução do problema” • (AURÉLIO) Prof. Me. Cristiany Moscoso Algoritmos • Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. Calcule a soma de dois números Prof. Me. Cristiany Moscoso Algoritmos • Os passos devem ser especificados com clareza e exatidão e devem ser realizados em cada uma das fases do processo a ser automatizado, bem como a sequência em que estas fases devem ser realizadas. • A especificação da sequência ordenada de passos que deve ser seguida para a realização de uma tarefa, garantindo a sua repetitividade, dá-se o nome de algoritmo. Prof. Me. Cristiany Moscoso Algoritmo • Serve como modelo para programas, pois sua linguagem é intermediária à linguagem humana e às linguagens de programação, sendo então, uma boa ferramenta na validação da lógica de tarefas a serem automatizadas. Prof. Me. Cristiany Moscoso Algoritmos • Características: • Todo algoritmo deve apresentar algumas características básicas: - Ter um início; - Ter um fim; - Não dar margem à dupla interpretação (não ter duplo sentido); - Ter a capacidade de receber dado(s) de entrada do mundo exterior; - Poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo; • Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito). Prof. Me. Cristiany Moscoso Algoritmos Prof. Me. Cristiany Moscoso Formas de Representar um Algoritmo • Descrição narrativa: o algoritmo é descrito, passo a passo, e todas as tarefas a devem ser executados na língua mãe, no nosso caso em português. os algoritmos são expressos diretamente em linguagem natural. Prof. Me. Cristiany Moscoso Formas de Representar um Algoritmo • Fluxograma A representação através de símbolos gráficos que mostram a sequência de execução é uma das maneiras possíveis de se representar os algoritmos. Esta representação é chamada de fluxograma. Existem símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim e outras funções. Prof. Me. Cristiany Moscoso Formas de Representar um Algoritmo • Fluxograma Prof. Me. Cristiany Moscoso Atenção! Prof. Me. Cristiany Moscoso O que são Programas de Computador? • Uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador. O termo pode ser uma referência ao código fonte, escrito em alguma linguagem de programação, ou ao arquivo que contém a forma executável deste código fonte. Prof. Me. Cristiany MoscosoExercício • A imobiliária Belém vende apenas terrenos retangulares. Faça um algoritmo para ler as dimensões de um terreno e depois exibir a área do terreno. • Faça um algoritmo para calcular quantas ferraduras são necessárias para equipar todos os cavalos comprados para um haras. • Calcule a área de uma pizza que possui um raio R (pi=3.14). Prof. Me. Cristiany Moscoso Exercício • Faça um algoritmo que receba o preço de um produto, calcule e mostre o novo preço, sabendo-se que este sofreu um desconto de 10%. • Escreva um algoritmo para ler um valor e escrever o seu sucessor e antecessor. • Escreva um algoritmo para ler o número total de eleitores de um município, o número de votos brancos, nulos e válidos. Calcular e escrever o percentual que cada um representa em relação ao total de eleitores. Prof. Me. Cristiany Moscoso Programação de Computadores Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Métodos de representação de algoritmos • Fluxograma Representação gráfica • Pseudocódigo Representação textual Prof. Me. Cristiany Moscoso Fluxograma • Representação gráfica por meio de símbolos geométricos, da solução algorítmica de um problema. Prof. Me. Cristiany Moscoso Cálculo do dobro de um número lido Prof. Me. Cristiany Moscoso Pseudocódigo • Descrição narrativa utilizando nosso idioma para descrever o algoritmo. • Exemplo: cálculo do dobro de um numero 1. LER o número 2. Multiplicar o número lido por 2 3. ESCREVER o resultado Prof. Me. Cristiany Moscoso Então ... • Escrever algoritmos e, por fim, programar, consiste em dividir qualquer problema em vários passos menores, usando uma ou mais formas de representação. • Esses passos que compõem o algoritmo são denominados de comandos. Prof. Me. Cristiany Moscoso Fases • ENTRADA: São os dados de entrada do algoritmo; • PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final; • SAÍDA: São os dados já processados; ENTRADA PROCESSAMENTO SAÍDA Prof. Me. Cristiany Moscoso Fases ENTRADA PROCESSAMENTO SAÍDA A, B C=A+B C Prof. Me. Cristiany Moscoso Algoritmo SOMAR 2 NÚMEROS • Início Receba primeiro número; Receba segundo número; Somar primeiro numero com segundo número; Mostre o resultado da soma; • Fim • Início LER A; LER B; C=A+B; ESCREVA C; • Fim ENTRADA PROCESSAMENTO SAÍDA Prof. Me. Cristiany Moscoso Dados e Tipos de Dados Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso • O Banco Psi – Banco Mercantil tem um “Programa especial para universitários”. • Nesse programa o estudante universitário pode abrir uma conta corrente, sem precisar fazer nenhum depósito e ainda recebe cartão de crédito internacional e cheque especial. A representação da informação Prof. Me. Cristiany Moscoso Em todos os setores da sociedade o elemento de maior valor é a informação. Quem detém a informação, detém o poder. A representação da informação Prof. Me. Cristiany Moscoso • Considere que uma estudante preencheu a ficha, ilustrada na Figura anterior. • Observe os campos NOME e ENDEREÇO A representação da informação Prof. Me. Cristiany Moscoso A representação da informação Prof. Me. Cristiany Moscoso • O Campo Cidade teve menos de sua metade utilizada; • BELÉM 5 25 • E ... • BREJO GRANDE DO ARGAGUAIA 25 25 • SANTO ANTONIO DO TAUÁ 21 25 A representação da informação 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Prof. Me. Cristiany Moscoso • Nessas situações diz-se que o campo foi dimensionado para o “pior caso” • Ou seja, apesar de existirem cidades com nomes pequenos, é necessário que o campo tenha sido projetado para receber nomes grandes. A representação da informação S A N T O A N T O N I O D O T A U Á B R E J O G R A N D E D O A R G A G U A I A Prof. Me. Cristiany Moscoso • Analise os campos CPF e SEXO • Eles foram dimensionados corretamente? • Masculino/Feminino • ... na medida certa, pois o tamanho dos dados que preencherão esses campos foi definido previamente. A representação da informação Prof. Me. Cristiany Moscoso • Observe os campos IDADE e SALDO • Eles foram dimensionados corretamente? A representação da informação Prof. Me. Cristiany Moscoso • IDADE • Qual a pior das hipóteses? • Precisamos, no máximo, de três espaços e, portanto, a ficha foi mal elaborada. A representação da informação 1 2 3 4 5 6 7 8 9 10 11 12 13 14 11 9 9 9 1 2 0 Prof. Me. Cristiany Moscoso • Outro caso é o espaço reservado para o valor do Saldo. • Se uma pessoa tiver, por exemplo, R$1.890.000,00 na conta corrente, o espaço disponível não é suficiente para o armazenamento da informação. A representação da informação 1.89 0 0 0 0 0 0 Prof. Me. Cristiany Moscoso • Qual seria a quantidade de espaços ideal? • Como definir o “pior caso”? • Procura-se estabelecer um limite que seja o mais abrangente possível. A representação da informação Prof. Me. Cristiany Moscoso A representação da informação Prof. Me. Cristiany Moscoso Armazenamento de Dados • Estas duas situação foram criadas para evidenciar a necessidade de se reservar espaços para os campos de acordo com o tipo de dados que eles irão guardar. • Com isso, deve ter ficado claro que os dados a serem guardados são de tipos diferentes e, por isso, precisam ser tratados de formas diferentes. A representação da informação Prof. Me. Cristiany Moscoso • Outra situação referente aos dados é a necessidade de armazenamento, principalmente quando o volume de informação é muito grande; Banco “Psi – Banco Mercantil” A representação da informação Prof. Me. Cristiany Moscoso • Como o banco ainda opera com um sistema de arquivamento em “Arquivos de Ferro”, são necessários 100 Arquivos de Ferro para armazenar todas as 30.000 fichas. A representação da informação 100 FICHAS POR GAVETA 300 FICHAS POR ARQUIVO DE FERRO 100 ARQUIVOS DE FERRO PARA AS 30.000 FICHAS Prof. Me. Cristiany Moscoso A representação da informação Prof. Me. Cristiany Moscoso • Armazenamento de Dados • O principal problema relacionado com o arquivamento manual em Fichas de papel é o acesso às fichas no dia a dia. • Imagine a dificuldade para manter todas essas fichas arquivadas em ordem e o excesso de tempo perdido para localizar uma ficha. A representação da informação Prof. Me. Cristiany Moscoso • Desse modo a informatização é apropriada, pois ela elimina todos os incômodos do arquivo manual. • Informatizar é transferir todos os dados das fichas para o computador. • Mas, como o computador armazena dados? A representação da informação Prof. Me. Cristiany Moscoso Armazenamento de DADOS • Veja que para gravar o nome “GABRIELA FERREIRA” no computador e depois recuperar esse nome exatamente como ele foi gravado, é necessário um conhecimento do funcionamento interno do computador.A representação da informação Prof. Me. Cristiany Moscoso Armazenamento de DADOS • Ao gravar dados internamente, o computador utiliza um sistema de codificação conhecido como linguagem de máquina. • Essa linguagem é uma combinação entre o sistema de numeração binário e a álgebra Booleana para representar e processar dados. A representação da informação Prof. Me. Cristiany Moscoso Tipos de Dados - Alfanuméricos • Para armazenar no computador o nome “GABRIELA FERREIRA” são necessários 136 bits. • 8 bits para cada letra (caracter). • 17 bytes (caracteres), no total. Prof. Me. Cristiany Moscoso • Cada byte é representado por 8 pontos magnéticos no disco. • Pontos magnéticos grandes representam o 1. • Pontos magnéticos pequenos representam o 0. Tipos de Dados - Alfanumérico Prof. Me. Cristiany Moscoso • A gravação de “Endereço”, “Cidade”, “UF”, “CPF”, “RG”, “Fone Com” e “Fone Res” seguem esse mesmo princípio. Tipos de Dados - Alfanumérico Prof. Me. Cristiany Moscoso • Dados armazenados que contém letras são chamados de Alfanumérico. • Dados alfanumérico também são conhecidos como: – literal, – string; ou – cadeia de caracteres. Tipos de Dados - Alfanumérico Prof. Me. Cristiany Moscoso • O tamanho máximo de um Alfanumérico é de 256 bytes. Tipos de Dados - Alfanumérico Prof. Me. Cristiany Moscoso Tipos de Dados - Alfanumérico • Veja o limite da cadeia, isso quer dizer que a cadeia de caracteres pode ter qualquer tamanho, dentro desse limite. • Normalmente o último byte contém um caracter especial indicando o final da cadeia. Prof. Me. Cristiany Moscoso A idade deve seguir essa mesma regra? Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Por analogia é possível pensar em gravar a idade de 18 anos assim: – o dígito “1” em um byte; e – o dígito “8” em outro byte. • E se a idade for 102 anos, serão necessários 3 bytes? Tipos de Dados - Número Prof. Me. Cristiany Moscoso Não! São necessários apenas 2 bytes! Vejamos porque! Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Quando a informação é referente somente a números, o formato de gravação é diferente. • É possível economizar espaço nessa gravação convertendo o número decimal para número binário. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Desse modo o número 10210 (base decimal) pode ser gravado como 011001102 (base binária). • O número 1810 pode ser gravado como 0100102. • Conversão entre bases numéricas veremos mais adiante. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Conversão entre Bases Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Portanto, para gravar um número com 3 dígitos (10210) são necessários apenas 8 bits, e não 24 bits, caso fosse feita a conversão dígito a dígito. • Com isso, tem-se uma economia de 16 bits. • No caso da idade 18 anos são necessários apenas 6 bits e não 16 bits. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Com isso é mais prático para o computador tratar números de maneira diferente do tratamento das letras (cadeia de caracteres). • Assim, fica fácil entender que: ao gravar um dado no computador, é necessário definir qual tipo será utilizado para armazenar o dado (Tipo Alfanumérico ou Tipo Numérico). Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Em relação ao tamanho • devido à necessidade de um padrão para armazenamento de números, foi estabelecido que um número inteiro ocupa 2 bytes, ou seja 16 bits. Tanto o número 18 (0000 0000 0001 0010) quanto o número 102 (0000 0000 0110 0110) ocupam 2 bytes. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Com 16 bits é possível armazenar valores entre: –32.768 a 32.767 • Ou seja, em 2 bytes é possível armazenar um número que ocuparia 5 bytes se fosse utilizada a forma do tipo Alfanumérico. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • O tratamento do sinal • define se um número é positivo ou negativo. • Nesse caso, o bit menos significativo (mas à esquerda) é usado para representar o sinal. 18 (0000 0000 0001 0010) quanto o número 102 (0000 0000 0110 0110) Tipos de Dados - Número Prof. Me. Cristiany Moscoso • A terceira característica do tipo numérico é o tratamento de números fracionários. • Como fazer para armazenar o Saldo de 3,50? • Ou seja como fazer para armazenar a fração ,50? Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Existem várias formas para tratar números fracionários na computação, e divido a essa variedade de formas, foi estabelecido um critérios para padronizar o armazenamento desse tipo de número e evitar que cada fabricante de computador utilizasse um tipo incompatível com outro fabricante. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • A forma padrão se baseia na representação por meio da notação científica. • Com, isso qualquer que seja o número fracionário, é possível representá-lo por meio da fórmula Mx10E. M é a Mantissa E é o Expoente. Tipos de Dados - Número Prof. Me. Cristiany Moscoso Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Devido ao deslocamento da vírgula decimal o armazenamento de números fracionários é conhecido como Ponto Flutuante. • Os números fracionários são conhecidos na computação como Números Reais. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • A grande vantagem da representação de qualquer número fracionário por meio da notação científica é que para armazená-lo basta guardar dois inteiros (mantissa e expoente) • Desse modo são necessários 4 bytes para armazenar um número fracionário (Ponto Flutuante ou Real). Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Observe que números extremamente grandes, ou extremamente pequenos, tem o tamanho do expoente com apenas 2 dígitos Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Já no caso de números com muitos dígitos significativos haverá problemas ao tentar armazená-los como inteiros. Tipos de Dados - Número Limite do inteiro: -32.768 a 32.767 Prof. Me. Cristiany Moscoso • Os números fracionários precisam de 4 bytes (32 bits) para armazenamento. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Dessa forma, o tratamento dos dados do Tipo Numérico na computação pode ser dividido em: • Tipo Numérico Inteiro; • Tipo Numérico Fracionário. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • A grande maioria das literaturas referentes a Tipos de Dados adota a nomenclatura de: • Tipo Inteiro, para Tipo Numérico Inteiro; e • Tipo Real, para Tipo Numérico Fracionário. Tipos de Dados - Número Prof. Me. Cristiany Moscoso • Com isso tem-se no total 3 Tipos de Dados: • Tipo Alfanumérico; • Tipo Inteiro; e • Tipo Real. Algumas linguagens de programação apresentam uma grande quantidade de Tipos de Dados, mas somente esses 3 tipos são primitivos, qualquer outro tipo é derivado desses 3. Tipos de Dados - Número Prof. Me. Cristiany Moscoso Constantes, Variáveis e Atribuição Prof. Me. Cristiany Moscoso Prof. Me. CristianyMoscoso O que são Constantes? • “são valores que não se alteram.” • Características – São imutáveis; – Não podem ser alteradas durante uma execução; – Geralmente são representadas em CAIXA ALTA; • Exemplo: – PI=3,14159265 – VALOR_MAX=100 Prof. Me. Cristiany Moscoso O Que São Variáveis? • “são dados que podem mudar de valor.” Prof. Me. Cristiany Moscoso O que são variáveis? Prof. Me. Cristiany Moscoso O que são variáveis? Prof. Me. Cristiany Moscoso O que são variáveis? • Características – Os valores que estão em seu interior podem mudar; • Exemplos: – raio=3.4 – area=PI*raio – Nome=“Gabriela Ferreira” – sexo=“m” Prof. Me. Cristiany Moscoso Manipulação de dados • IDENTIFICAÇÃO Prof. Me. Cristiany Moscoso Manipulação de dados • IDENTIFICAÇÃO Prof. Me. Cristiany Moscoso Manipulação de Dados • ATRIBUIÇÃO Prof. Me. Cristiany Moscoso Manipulação de Dados • DECLARAÇÃO Prof. Me. Cristiany Moscoso Operadores Prof. Me. Cristiany Moscoso Prof. Me. Cristiany Moscoso Operadores • são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. • Tipos de operadores: – Operadores Aritméticos – Operadores Relacionais – Operadores Lógicos Prof. Me. Cristiany Moscoso Operadores Aritméticos • São os utilizados para obter resultados numéricos; Prof. Me. Cristiany Moscoso Operadores Relacionais • Os operadores relacionais são utilizados para comparar String de caracteres e números; • Os valores a serem comparados podem ser caracteres ou variáveis; • Estes operadores sempre retornam valores lógicos (verdadeiro ou falso); Prof. Me. Cristiany Moscoso Exemplo • Tendo duas variáveis: A=7 e B=4 • Os resultados das expressões seriam: Prof. Me. Cristiany Moscoso Operadores Lógicos • Servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso; • E / AND Uma expressão AND (E) é verdadeira se todas as condições forem verdadeiras; • OR/OU Uma expressão OR (OU) é verdadeira se pelo menos uma condição for verdadeira; • NOT Uma expressão NOT (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. Prof. Me. Cristiany Moscoso Observe ... Prof. Me. Cristiany Moscoso Exemplo • Tendo três variáveis: A=5 e B=8 e C=1 • Os resultados das expressões seriam: Prof. Me. Cristiany Moscoso Operações Lógicas São utilizadas quando se torna necessário tomar decisões; Prof. Me. Cristiany Moscoso Algoritmo Divisão de dois números var num1, num2, resultado : real; Início Ler num1; Ler num2; Resultado:=num1/num2; Escreve resultado Fim var num1, num2, resultado : real; Início Ler num1; Ler num2; num2<>0 resultado:=num1/num2; Escreve resultado Fim Prof. Me. Cristiany Moscoso TESTE DE MESA • OBJETIVO: – Aprender a verificar se o algoritmo (ou programa) leva a um resultado esperado através de simulação de valores, utilizando a técnica de TESTE DE MESA Prof. Me. Cristiany Moscoso TESTE DE MESA • Simula a execução de um algoritmo sem utilizar o computador, empregando apenas “papel e caneta” (ou melhor sem utilizar um compilador ou interpretador). Prof. Me. Cristiany Moscoso TESTE DE MESA • Passos para realizar o teste de mesa 1. Identifique as variáveis envolvidas em seu algoritmo; Prof. Me. Cristiany Moscoso TESTE DE MESA • Passos para realizar o teste de mesa 2. Crie uma tabela com linhas e colunas, em que: – Cada coluna representará uma variável a ser “observada”; – As linhas corresponderão às instruções observadas pelo teste de mesa; e – A primeira coluna deverá identificar os números das linhas correspondentes às instruções observadas; Prof. Me. Cristiany Moscoso TESTE DE MESA 3. De cima para baixo, preencha cada uma das linhas da tabela com o número da linha que identifica cada instrução, seguindo dos valores assumidos pelas variáveis do programa após a execução daquela instrução. Prof. Me. Cristiany Moscoso TESTE DE MESA • Para indicar que o valor de uma variável foi lido, envolva-o entre parênteses; • Se o valor foi escrito pela instrução, envolva-o entre chaves; • Para valores indefinidos, isto é, aqueles que ainda não foram determinados até uma dada instrução, utilize a interrogação; Prof. Me. Cristiany Moscoso Exemplo TESTE DE MESA • Escreva um algoritmo para ler dois números (a e b) e apresentar o resultado das 4 operações aritméticas básicas. Prof. Me. Cristiany Moscoso TESTE DE MESA 1. Var a, b, soma, sub, div, prod : real 2. Escreva(“digite o valor de a”) 3. Leia(a) 4. Escreva(“digite o valor de b: “) 5. Leia(b) 6. 7. soma=a + b 8. sub=a - b 9. div=a/b 10. prod=a*b 11. Escreva(“soma = “, soma) 12. Escreva(“subtração= “, sub) 13. Escreva(“divisão= “, div) 14. Escreva(“produto= “, prod) Prof. Me. Cristiany Moscoso TESTE DE MESA linha a b soma sub div prod 3 (12) ? ? ? ? ? 5 (3) ? ? ? ? 7 15 ? ? ? 8 9 ? ? 9 4 ? 10 36 11 {15} 12 {9} 13 {4} 14 {36} Prof. Me. Cristiany Moscoso TESTE DE MESA Prof. Me. Cristiany Moscoso Exemplo 2 - TESTE DE MESA • Escreva um algoritmo para ler dois números (a e b) e trocar os seus valores. Exibir os valores de a e b após a troca. Prof. Me. Cristiany Moscoso TESTE DE MESA 1. a, b: inteiro 2. Escreva(“digite o valor de a: “) 3. Leia(a) 4. Escreva(“digite o valor de b: “) 5. Leia(b) 6. 7. a=b 8. b=a 9. 10. Escreva(“a= “, a) 11. Escreva(“b= “,b) Linhas a b 3 (12) ? 5 (3) 7 3 8 3 10 {3} 11 {3} Prof. Me. Cristiany Moscoso TESTE DE MESA • Nota-se que o resultado/resposta exibido pelo algoritmo/programa é INVÁLIDO, ou seja, não atende ao enunciado. A resposta correta seria 3 e 12 Prof. Me. Cristiany Moscoso TESTE DE MESA 1. a, b, aux: inteiro 2. Escreva(“digite o valor de a: “) 3. Leia(a) 4. Escreva(“digite o valor de b: “) 5. Leia(b) 6. 7. aux= a 8. a=b 9. b=aux 10. 11. Escreva(“a= “, a) 12. Escreva(“b= “,b) Linhas a b aux 3 (12) ? ? 5 (3) ? 7 12 8 3 9 12 10 {3} 11 {12} Prof. Me. Cristiany Moscoso Comandos de Decisão • Os comandos de decisão ou desvio fazem parte das técnicas de programação que conduzem a estruturas de programas que não são totalmente sequenciais. • Soma de dois números: sequencial ou não? • Divisão de dois números: sequencial ou não? Prof. Me. Cristiany Moscoso Comandos de Decisão SOMA DE DOIS NÚMEROS var num1, num2, resultado : real; Início Ler num1; Ler num2; Resultado:=num1+num2; Escreve resultado Fim DIVISÃO DE DOIS NÚMEROS var num1, num2, resultado : real; Início Ler num1; Ler num2; num2<>0 resultado:=num1/num2; Escreve resultado Fim Prof. Me. Cristiany Moscoso SE ENTÃO / IF ... THEN • A estrutura de decisão “SE/IF” normalmente vem acompanhada de um comando, ou seja, se determinada condição for satisfeita pelo comando SE/IF então execute determinado comando. • se média do aluno > 6 • então “aluno aprovado” Prof.Me. Cristiany Moscoso Comandos de decisão SE Divisão de dois números Algoritmo divisao; var num1, num2, resultado: real; Início Ler num1; Ler num2; SE num2<>0 Início resultado=num1/num2; Escrever resultado; fim Fim Prof. Me. Cristiany Moscoso SE ENTÃO SENÃO / IF ... THEN ... ELSE • Bastante parecido como a estrutura “SE”, com apenas uma diferença; • Tendo um acréscimo de quando o resultado for falso, ou seja • Quando for verdadeiro o comando da condição verdade será executado caso contrário o comando da condição falsa será executado; se media do aluno > 6 então escreva(“aluno aprovado”) Senão escreva(“aluno reprovado”) Prof. Me. Cristiany Moscoso Comandos de decisão SE SENÃO Divisão de dois números Algoritmo divisão var num1, num2, resultado: real; Início Ler num1; Ler num2; SE num2<>0 resultado:=num1/num2; Escreva resultado; Senão escreva(“divisão não pode ser realizada”); Fim
Compartilhar