Lógica de Programação ALGORITMOS. O QUE É ALGORITMO? Um algoritmo é um conjunto de instruções, dispostas em um sequência lógica, que levam à resolução de um problema. Um algoritmo descreve uma possível solução para um problema. Há várias formas de resolver o mesmo problema; O algoritmo pode não ser satisfatório; Algoritmos – [email protected] CARACTERÍSTICAS DE UM ALGORITMO Finitude: Exatidão ou definição: O algoritmo pode não ter entrada, mas deve ter saída; Efetividade: Todas as etapas devem ser claramente definidas; Entradas e Saídas Determinadas: Número finito de passos; Deve solucionar o problema que se propõe; Eficiência: Tempo, esforço e recursos necessários; Algoritmos – [email protected] ALGORITMO VS SOFTWARE/SITE Software: Conjunto de instruções descritas de forma lógica; Linguagem de programação; Algoritmo: Lógica para programação de software; Um algoritmo escrito em uma linguagem de programação se chama código fonte; fonte; Algoritmos – [email protected] EXEMPLO DE ALGORITMO Trocar pilhas do controle remoto: Pegar pilhas novas; Abrir o controle; Retirar as pilhas usadas; Colocar pilhas novas; Fechar o controle; Testar o controle; Jogar pilhas velhas no lixo adequado; Algoritmos – [email protected] EXEMPLO DE ALGORITMO EM PSEUDOCÓDIGO //Algoritmo que descreve os passos para troca de pilha do controle remoto Algoritmo trocaPilha Nome do algoritmo Início - inicio do algoritmo Início Pegar pilhas novas; Identação Abrir o controle; Fim - fim do algoritmo Retirar as pilhas usadas; Colocar pilhas novas; //tirar embalagem ; - fim de linha Fechar o controle; // comentário Testar o controle; Jogar pilhas velhas no lixo adequado; NomeDosElementosSem Fim EspacosNemAcentosComPri meiraLetraMaicuscula. Algoritmos – [email protected] VAMOS TREINAR? Utilizando o caderno: 1) Crie um algoritmo em pseudocódigo para trocar o pneu do carro; 2) Crie um algoritmo em pseudocódigo para fazer chá em saquinho; 3) Melhore o algoritmo de troca de pilhas do controle remoto; Algoritmos – [email protected] NOMENCLATURA NOS ALGORITMOS Somente: Letras, números e underline ( _ ); Nunca: Nunca iniciar com número; Nunca iniciar com caracteres especiais; Nunca utilizar espaços; Nunca utilizar acentos Caracteres especiais tem funções especiais; Ç é o c com acento. Atenção: Letras maiúscula e minúsculas; “Case sensitive” Na segunda palavra iniciar com maiúscula destaForma ou utilizar o underline desta_forma para facilitar a leitura Não se pode ter duas variáveis com mesmo nome. Algoritmos – [email protected] NOMENCLATURAS VÁLIDAS E INVÁLIDAS Nomenclaturas válidas Nomenclaturas inválidas calcular_IMC calcular IMC saque 1saque FECHAR_CONTA #FECHAR_CONTA endereco endereço mesFerias mêsFérias dataNascimento data-Nascimento RG R.G. Algoritmos – [email protected] VARIÁVEIS As variáveis são as responsáveis por armazenar informações durante o processamento dos algoritmos. Como seu nome sugere, variáveis podem ter seu valor alterado a cada execução do algoritmo ou mesmo durante uma única execução de acordo com o processamento do algoritmo. Algoritmos – [email protected] REGRAS PARA VARIÁVEIS As variáveis tem um TIPO seja ele explicito (digitado) ou implícito (varia conforme o valor atribuído); Variáveis obrigatoriamente devem seguir as regres de nomenclatura; Algoritmos – [email protected] TIPO DE DADOS NUMÉRICOS N – Número Naturais Inteiros positivos. Z – Números Inteiros Inteiros positivos e Negativos. Q – Números Racionais Números reais finitos 33,7. R – Números Irracionais Números reais infinitos (PI). Dizimas periódicas infinitas. Algoritmos – [email protected] TIPO DE DADOS LÓGICOS O tipo de dado lógico é composto apenas por: Verdadeiro; Falso; Porém estes também pode ser negados; Não verdadeiro Não falso; Algoritmos – [email protected] TIPO DE DADOS TEXTO Caractere Representa uma unidade de qualquer símbolo presente no teclado do computador. A,b *8%@4+ String É um conjunto de caracteres. Nós entendemos por String uma palavra, fase, texto ou qualquer conjunto de caracteres que possua mais que um caractere. Algoritmos – [email protected] TIPO DE DADOS (VARIÁVEIS) Numéricos Inteiros Possuí subdivisões; Reais Possuí subdivisões; Lógicos Caracteres Texto Algoritmos – [email protected] INICIALIZAÇÃO DE VARIÁVEL - VALORES PADRÕES texto nome = “”; inteiro havaiana = 0; real salario = 0.0; logico campoVazio = false; O sinal = lê-se recebe. Legenda: Tipo da variável Nome da variável Valor da variável Terminador de linha Algoritmos – [email protected] ATRIBUIÇÃO DE VALOR texto nome = “IFPR”; inteiro havaiana = 23; real salario = 643,75; logico campoVazio = false; O sinal = lê-se recebe. Legenda: Tipo da variável Nome da variável Valor da variável Terminador de linha Algoritmos – [email protected] OPERADORES ARITMÉTICOS Precedência Operador Descrição 1 ^ Potenciação 2 * Multiplicação 2 / Divisão 3 + Adição 3 - Subtração Vamos resolver a equação abaixo: 8-2^2/2*2+4 Algoritmos – [email protected] OPERADORES RELACIONAIS Operador Descrição == Igual != ou <> Diferente < Menor <= Menor igual > Maior >= Maior igual Algoritmos – [email protected] TESTE DE MESA O teste de mesa é utilizado para controlar as atribuições de valores às variáveis. Com o teste de mesa é possível resolver o algoritmo no caderno e verificar se o resultado de sua lógica atende o esperado. Mesmo a lógica estando correta é possível que o algoritmo não atenda o esperado. Lógica: Uma pessoa pode ser presa quando sua idade for maior que 18 anos. Resultado inesperado: O sistema mostra que temos pessoas presas com idade maior ou igual a 650 anos. Brasil ainda não havia sido colonizado; Ninguém vive tanto assim; Algoritmos – [email protected] ALGORITMO CALCULAR MÉDIA – TESTE DE MESA Vamos fazer o teste de mesa para o algoritmo abaixo: Linha nota1 nota2 nota3 nota4 media 1calcularNota 2Inicio 3real nota1,nota2,nota3,nota4,media; 4nota1=80; 5nota2=41.5; 6nota3=60; 7nota4=42.5; 8nota3=20; 9media = (nota1+nota2+nota3+nota4) / 4; 10Imprima(“Sua media foi” media); 11Fim / é o sinal para divisão. 1 2 3 4 5 6 7 8 9 10 11 ALGORITMO CALCULAR MÉDIA – TESTE DE MESA Vamos fazer o teste de mesa para o algoritmo abaixo: Linha nota1 nota2 nota3 nota4 media 1 1calcular 2Inicio 3texto nota1,nota2,nota3,nota4,media; 4nota1=2; 5nota2=2; 6nota3=60; 7nota4=2; 8nota3=“olá”; 9media = nota1+nota2+nota3+nota4; 10Imprima(“Sua media foi” media); 11Fim 2 3 4 5 6 7 8 9 10 11 AGORA É COM VOCÊ! 1) Crie um algoritmo para calcular a média de consumo de combustível de um veículo. O algoritmo deve conter: Km Inicial, Km Final e quantos litros foram abastecidos. Crie um algoritmo para calcular a velocidade média de um veículo durante uma viajem. Reflita sobre os dados que serão necessários. Algoritmos – [email protected]