ALGORITMOS AULA 3 Objetivos • • • • Apresentação das estruturas básicas; Definição de tipos de dados; Seqüência de ações; Operações – Atribuições; – Entrada e Saída; • Blocos de instruções; • Testes de mesa. Manipulação de dados • É uma das principais funções do computador; • É preciso que se trabalhe com diferentes tipos de dados; • Tipos de dados –Conjunto de objetos que tem o mesmo comportamento diante das operações; Manipulação de dados • Exemplo: – Seres humanos – Todas as pessoas se comportam de forma similar: • Comem; • Dorme; • “Estudam”; • Bebem. Pessoas = [Fernando, Maria, José, Pedro, ...] Manipulação de dados • Atenção! –Nem todo conjunto de objetos é um tipo... –Percebam: • Conjunto = {1, ‘a’, José, Fusca} Dados Primitivos • Dados inteiros – Conjunto de números inteiros, excluindo valores fracionados (reais); • Dados reais – Conjunto de números inteiros, incluindo valores francionados; • Dados caractere/literal – Delimitados por aspas (“ ”) e incluem todo o alfabeto e números. Limitações • O computador é “limitado”, pois não podem manipular todos os tipos de dados existentes; • Para reforçar: – Apenas um grupo muito restrito! – Números inteiros, números reais, letras e objetos lógicos. Objetos lógicos • Talvez seja o menos conhecido! • São oriundos da lógica matemática (lembram?) • Baseia-se em: – Verdadeiro ou Falso – 1 ou 0 – Também pode ser obtido através de uma proposição Exemplos • • • • • Cachorros são mamíferos Cachorros são aves Homens pensam (????????????) 5>3 7=3 – Quais são (V)erdadeiras e quais são (F)alsas Exemplos • • • • • Cachorros são mamíferos (V) Cachorros são aves (F) Homens pensam (V) 5 > 3 (V) 7 = 3 (F) – Quais são (V)erdadeiras e quais são (F)alsas Operandos, operadores e outras coisas • Operandos – São as proposições, por exemplo. • Operadores – Definem a operação. • Exemplo – Fernando e Fernanda foram à festa! • Fernando, Fernanda operandos • “e” operador Operadores • Existem vários operadores, mas estudaremos apenas: –E similar à operação de MULTIPLICAÇÃO –OU similar à operação de SOMA –NÃO negação (inverso, contra) Tabela verdade (E) E 1 0 1 0 Tabela verdade (E) E 1 0 1 1 0 0 0 0 Tabela verdade (OU) OU 1 1 0 0 Tabela verdade (E) OU 1 0 1 1 1 0 1 0 Tabela verdade (NÃO) NÃO 1 0 0 1 Precedência Precedência Descrição 1º Parênteses 2º Não 3º E, OU Exercício proposto • Qual o resultado das seguintes expressões lógicas? –V e (V ou F) –V e não (V ou F) –(F ou V) e não (F) –(V e F) ou (F e V) e não (F) Constantes e variáveis • São recomendados quando se faz necessário a utilização de elementos individualmente; – Quando viajamos de carro, utilizamos um veículo específico que pertence ao TIPO carro. – Exemplo: Viajamos em um ASTRA. Esse carro pertence ao TIPO carro, mas não é o TIPO carro. Constantes e variáveis • Variáveis: – São repositórios de elementos pertencentes aos TIPOS. • Constantes: – São repositórios de elementos pertencentes aos TIPOS onde seu valor é definido no início do programa e não é mais alterado. Declaração de variáveis • É feita segundo a notação: –Variáveis: • Variáveis <identificador1> ... : <tipo>; • Todo algoritmo necessita de variáveis. Atribuição • É o ATO de colocar um valor em uma variável. • A ATRIBUIÇÃO é feita da seguinte maneira: – <identificador da variável> := <valor da variável> • Exemplos: – Altura := 1.80; – Filhos := 3; – Netos := filhos * 2 – 3; Bloco de instruções • São sempre executadas em sequência –<declaração de variáveis> –Início –<instruções> –Fim Calcular o número de vértices de um cubo • Sabendo que a relação entre vértices, arestas e faces de um objeto geométrico é dada pela fórmula: vértices + faces = arestas + 2, calcule o número de vértices de um cubo. (sabe-se que um cubo tem 6 faces e 12 arestas). Médias de notas • Fazer um ALGORITMO que leia três notas e mostre a média (normal) entre elas. Entrada • Meio pelo qual o usuário pode informar dados que serão utilizados pelo programa. • As entradas serão realizadas a partir do comando: – <variável> := leia(); – Exemplo: • Idade := leia(); Saída • Apresentação dos dados processados. • É feita pelo comando: – Imprima (variável); – Exemplo: • Variáveis – Nome : literal; – ... – Imprima (“o meu nome é: ”, Nome); Teste de mesa • Serve para certificar do funcionamento de um ALGORITMO; • É feito por meio de uma TABELA em que, cada linha, são mostrados o conteúdo das variáveis • Comentários auxiliam no entendimento. Teste de mesa para objeto geométrico Linha Vértices Faces Arestas Comentário 1 ? ? ? Variáveis indefinidas Teste de mesa para objeto geométrico Linha Vértices Faces Arestas Comentário 1 ? ? ? Variáveis indefinidas 2 ? 6 ? Faces lidas Teste de mesa para objeto geométrico Linha Vértices Faces Arestas Comentário 1 ? ? ? Variáveis indefinidas 2 ? 6 ? Faces lidas 3 ? 6 12 Arestas lidas Teste de mesa para objeto geométrico Linha Vértices Faces Arestas Comentário 1 ? ? ? Variáveis indefinidas 2 ? 6 ? Faces lidas 3 ? 6 12 Arestas lidas 4 8 6 12 Cálculo de vértices Teste de mesa para objeto geométrico Linha Vértices Faces Arestas Comentário 1 ? ? ? Variáveis indefinidas 2 ? 6 ? Faces lidas 3 ? 6 12 Arestas lidas 4 8 6 12 Cálculo de vértices 5 8 6 12 Saída solicitada Intercambiar valores • Faça um ALGORITMO que armazene dois números em duas variáveis e que troque os valores das variáveis. Vamos fazer o teste de mesa? Linha 1 2 3 4 A B