Introdução à lógica É possível trocar uma lâmpada obedecendo a sequência de ações abaixo? 1)Pegar uma escada; 2)Posicionar a escada embaixo da lâmpada; 3)Buscar uma lâmpada nova; 4)Colocar a lâmpada nova; 5)Retirar a lâmpada velha; 6)Subir na escada. Introdução à lógica 1)Pegar uma escada; 2)Posicionar a escada embaixo da lâmpada; 3)Buscar uma lâmpada nova; 4)Subir na escada; 5)Retirar a lâmpada velha; 6)Colocar a lâmpada nova. Introdução à lógica André e quatro amigos praticam esportes diferentes. Com base nas dicas determine o nome e sobrenome de cada homem e o esporte que pratica. a) João pratica pesca. Um sobrenome é Sr. Soares. b) O Sr. Saraiva não pratica ciclismo, ele pratica golfe. c) Nem Davi Silva nem o Sr. Rocha praticam natação. d) O esporte de Pedro (cujo sobrenome não é Bernardes) é canoagem. e) Nem o Sr. Bernardes nem Mauro praticam natação. Nome André João Davi Pedro Mauro Sobrenome Soares Bernardes Silva Rocha Saraiva Esporte Natação Pesca Ciclismo Canoagem Golfe Exercício 1 Respostas Exercício 1 Nome Emissora Função Sérgio Globo Câmera Paulo TVE Cenógrafo Flávio SBT Diretor Carolina Motorista Cor Partida Chegada Mauro Marrom 5º 5º Nara Cinza 3º 1º Laura Vermelho 1º 4º Bruno Branco 4º 3º Paula Azul 2º 2º Algoritmo Compreender o problema Identificar os dados de entrada Identificar os dados de saída Determinar o que é preciso para transformar dados de entrada em dados de saída: • • • • usar a estratégia do dividir-para-conquistar observar regras e limitações identificar todas as ações a realizar eliminar ambiguidades Construir o algoritmo Testar o algoritmo Executar o algoritmo Dividir-para-conquistar É conhecido por método descendente (top-down method) ou método de refinamento passo-a-passo Consiste em dividir um problema em partes menores (ou subproblemas) de modo a que seja mais fácil a sua resolução. Exemplo: Fazer suco de laranja? • • • • • Lavar laranja; Partir laranja ao meio; Espremer laranja; Filtrar o suco; Servir o suco. Passo-a-passo, significa que cada passo é completado antes que o próximo comece. Exemplo: é impossível “ver novela” antes de executar por inteiro o passo anterior de “ligar a TV” Características dos Algoritmos Um algoritmo tem cinco características importantes: • Finitude: deve sempre terminar após um número finito de passos. • Definição: cada passo de um algoritmo deve ser precisamente definido. As ações devem ser definidas rigorosamente e sem ambiguidades. • Entradas: deve ter zero ou mais entradas, isto é informações que são lhe são fornecidas antes do algoritmo iniciar. • Saídas: deve ter uma ou mais saídas, isto é quantidades que tem uma relação específica com as entradas. • Efetividade: deve ser efetivo. Isto significa que todas as operações devem ser suficientemente básicas de modo que possam ser em princípio executadas com precisão em um tempo finito por um humano usando papel e lápis. Tipos de Dados 1. Dados Numéricos: Tipos Inteiros: nos positivos e negativos. exemplos: 35 0 -12 Tipos Reais: nos positivos, negativos e fracionários. exemplos: 9 -12 4.6 -89.726 2. Dados Caracteres : São sequências contendo letras, números e símbolos especiais. Deve ser indicado entre aspas (“”). Também chamado de alfanumérico, literal, string ou cadeia. exemplos: “Rua Alfa, 52” “Fone: 211-3456” Tipos de Dados 3. Dados Lógicos: Pode representar apenas dois valores: verdadeiro e falso. Também chamado de booleano. Deve ser indicado entre pontos. exemplos: .Falso. .F. .N. .Verdadeiro. .V. .S. Tipos de Dados Exercício: Identifique os tipos de dados presentes na frase abaixo: Ela tem 8 filhos, pesa 48,3 kg, seu exame de gravidez deu positivo e pintou numa placa: “Precisa-se de Babás. Urgente!” Variáveis • É um dado que será armazenado no computador e que assumirá valores diferentes à medida que for utilizado e manipulado. • Regras de representação • O primeiro caractere do nome de uma variável não poderá ser, em hipótese alguma, um número; sempre deverá ser uma letra; • O nome de uma variável não poderá possuir espaços em branco; • O nome de uma variável não poderá ser uma palavra reservada (uma instrução ou comando); • Não poderão ser utilizados outros caracteres a não ser letras, números e sublinhado (underscore). Variáveis • Exemplo: NOMEALUNO (Pedro, Afonso, Ana) NOTAALUNO (7,23 10 2,8) Deve ser identificado por um nome e pelo seu tipo. Exemplo: NOMEALUNO : caractere NOTAALUNO : real Constantes • • • • Área da Circunferência = 3.14159 * Raio ^ 2 Kelvin = Celcius + 273 Celcius / 5 = (Fahrenheit – 32) / 9 (Kelvin – 273) / 5 = (Fahrenheit – 32) / 9 Operadores Matemáticos Operador Operação Prioridade + Manutenção de sinal 1 Inversão de sinal 1 ^ ou ** Exponenciação 2 Div Divisão inteira 3 Mod Resto da divisão 3 / Divisão 3 * Multiplicação 3 + Adição 4 Subtração 4 ( ) Prioridade 1 sqrt Raiz Quadrada 2 Tipo Unário Unário Binário Binário Binário Binário Binário Binário Binário Resultado Positivo Negativo Real Inteiro Inteiro Real Inteiro ou Real Inteiro ou Real Inteiro ou Real Binário Real Expressões Aritméticas • AREA <- ( BASE * ALTURA ) / 2 • X = { 43 . [ 55 : ( 30 + 2 ) ] } • X <- ( 43 * ( 55 / ( 30 + 2 ) ) ) • X <- 2 * 5 + 4 • X <- 2 * ( 5 + 4 ) Expressões Aritméticas ax 2 bx c • a*x^2+b*x+c x' b 2a • X1 <- ( - b + sqrt (delta) ) / 2 * a Exercício 2 Respostas Exercício 2 1a) 2 ^ x +1 / 2 - y b) z <- (1 + x) * (2 + y ^ 2) + 5 c) delta <- b ^ 2 - 4 * a * c d) (8 / x + 6 / y ) * (3 ^ x / 2) e) (1 / 2 - 5 ) + 2 ^ 3 * (5 + 3 / 2) f) x <- 5 + sqrt(10) + (1 / 2) ^ 3 g) (sqrt(125) + 2 * 1 / 5) + 5 ^ 3 + (1/2*(5 / 2 + 8 + 1 / 3)) ^ 2 2– a) I i) L b) L j) S 3 – a, f, g, l, n c) S k) S d) R l) I e) R f) I g) S h) S Algoritmos Simples – Soma de dois números Início A B X <- A + B X Fim programa SOMA_NUMEROS // Efetua a soma de dois valores e mostra o resultado Var X: inteiro A: inteiro B: inteiro inicio leia A leia B X <- A + B escreva X fim Algoritmos Simples – Cálculo da área de um círculo Início R A <- 3.14159 * R ^ 2 A Fim programa AREA_CIRCULO // Calcula a area de uma circunferencia Var A: real R: real inicio leia R A <- 3.114159 * R ^ 2 escreva A fim