Baixe o app para aproveitar ainda mais
Prévia do material em texto
Mariá Cristina Vasconcelos Nascimento Aula 2 – Algoritmos: pseudocódigos e fluxogramas Noções de lógica Colocar ordem no pensamento Correção do pensamento Exemplo de silogismos no estudo da Lógica Proposicional. Exemplos: Todo mamífero é um animal. Todo cavalo é um mamífero. Portanto, todo cavalo é um animal. Usando a lógica Um missionário foi capturado por canibais em uma floresta. Os canibais então lhe fizeram a seguinte proposta: Se fizer uma declaração verdadeira, será cozido com batatas. Se fizer uma declaração falsa, será assado na churrasqueira. Usando a lógica, como foi que o missionário evitou as duas situações? Usando a lógica Um missionário foi capturado por canibais em uma floresta. Os canibais então lhe fizeram a seguinte proposta: Se fizer uma declaração verdadeira, será cozido com batatas. Se fizer uma declaração falsa, será assado na churrasqueira. Usando a lógica, como foi que o missionário evitou as duas situações? Ele disse: “Serei assado na churrasqueira”. Mas e a lógica de programação? O uso correto das leis do pensamento, da “ordem da razão” Objetivo: O desenvolvimento de técnicas que cooperem para a produção de soluções logicamente válidas e coerentes Resolvam com qualidade os problemas que se deseja programar Lógica de Programação Assim como utilizamos as palavras para expressar o raciocínio no dia-a-dia, existem as linguagens de programação Entretanto, as linguagens de programação estão atreladas a uma grande diversidade de detalhes computacionais, que pouco tem a ver com o raciocínio original. Para representar mais fielmente o raciocínio da Lógica de Programação, utilizamos os Algoritmos. O que é um algoritmo? É uma sequência de passos que visam a atingir um objetivo bem definido. Para especificar uma sequência de passos, é necessário pensar com ordem. O que é preciso para descrevermos um bom algoritmo? Especificar ações claras e precisas que a partir de um estado inicial e após um período de tempo finito produzem um estado final previsível e bem definido. Isso significa que o algoritmo fixa um padrão de comportamento a ser seguido, uma norma de execução a ser trilhada. Visa a solução de um problema garantindo que sempre que executado, sob as mesmas condições, produza o mesmo resultado. Algoritmizando a Lógica Uma vez concebida uma solução algorítmica para um problema, esta pode ser traduzida para qualquer linguagem de programação Agregar funcionalidades - codificação Algoritmos para computadores Numéricos e não-numéricos Antes, calculadora, hoje processador de informações Pseudocódigo Def. Um algoritmo é formalmente uma sequência finita de passos que levam à execução de uma tarefa. Por exemplo: “Somar dois números quaisquer”. • Escreva o primeiro número no retângulo A • Escreva o segundo número no retângulo B • Some o número do retângulo A com número do retângulo B e coloque o resultado no retângulo C Exemplo de Pseudocódigo Trocar_Lampada_Queimada{ Se(houver na dispensa lâmpada boa de mesma potência) Pegar a lâmpada; Senão Comprar lâmpada de mesma potência; Posicionar a escada abaixo do bocal da lâmpada; Subir na escada até alcançar a lâmpada; Girar a lâmpada no sentido anti-horário até soltá- la; Posicionar a nova lâmpada no bocal; Girá-la no sentido horário até prendê-la; Descer da escada; } Algoritmo do método de Báskara RaízesEquação2Grau(A,B,C){ Ler (A,B,C); Delta B2-4*A*C; Se (Delta >=0){ x1 ; x2 ; Imprimir(X1,X2); } Senão { Real ; Imag ; Imprimir( Real+Imag, Real – Imag) } } Exercícios 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo Receba código da peça Receba valor da peça Receba Quantidade de peças Calcule o valor total da peça (Quantidade * Valor da peça) Mostre o código da peça e seu valor total 2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2 3) Teste o algoritmo anterior com dados definidos por você. Exercício Escrever o algoritmo para o cálculo do fatorial de um número. Fluxograma Um algoritmo pode ser representado de forma textual e na forma gráfica. Saliba (2003) define fluxograma como sendo uma representação gráfica de algoritmos Nela, formas geométricas diferentes implicam diferentes instruções Facilta o entendimento das idéias Exemplo de fluxograma: cálculo de médias Fluxograma Seta de fluxo de dados Indica o sentido do fluxo de dados. Serve para conectar os blocos existentes O símbolo: Entrada de Dados Exibe a variável onde será armazenado/guardado o valor informado pelo usuário Sem aspas Valor1 O símbolo: Processamento Fornece recursos para que as operações sejam feitas e representadas Operações matemáticas, de atribuição. SOMA:= Valor1+Valor2 O símbolo: Exibir Tela Pode mostrar ao usuário textos e variáveis; Uma variável é uma palavra que representa o endereço de memória onde determinado valor está armazenado “A soma é”, SOMA Fluxograma - sistemática Como construir um fluxograma? Qual a disposição das instruções? Fluxograma - sistemática Como construir um fluxograma? Qual a disposição das instruções? Da esquerda para a direita, de cima para baixo. Primeiros a serem trabalhados serão os de resolução sequencial, sem desvios, nem repetições -> + simples “A soma é”, SOMA SOMA:= Valor1+Valor2 Valor2 Valor1 Início Fim Exercício para casa Escrever o pseudocódigo do fluxograma anterior. Exemplo 2 Escreva um pseudocódigo e seu respectivo fluxograma para a seguinte instrução: comer um bombom (que esteja embrulhado). Uma Resposta - pseudocódigo Comer_bombom{ Pegar o bombom Retirar toda a sua embalagem Colocar esse bombom na boca Comer Jogar o papel no lixo } Fluxograma correspondente Início Pegar o bombom Retirar toda a sua embalagem Colocar esse bombom na boca Comer o bombom Jogar o papel fora Fim Outros símbolos Símbolo Significado Instrução Desvio Condicional Indica tomada de decisão. Divide o fluxo em dois caminhos Conector Serve para identificar o limite de um laço de repetição. Repetição com variável de controle Usado especificamente para o comando de repetição Repetição com teste lógico no início Usado para o comando de repetição com teste lógico no início Repetição com teste lógico no final Usado para o comando de repetição com teste lógico no final Declaração Usado para as declarações de variáveis, tipos e constantes Resoluções condicionais Condição em que decisões devem ser tomadas dependendo da avaliação da condição Início Fim Exercícios 1. Escrever o fluxograma anterior em forma de pseudocódigo 2. Escrever o algoritmo do método de Báskara em forma de fluxograma. 3. Escrever o fluxograma para o cálculo do faterial de um número. Teste de mesa em fluxogramas Para verificarmos a lógica de um fluxograma é preciso fazer um teste chamado Teste de Mesa ou de Programa. Esse teste permite identificar a existência de erros de lógica. Geralmente, criam-se os dados, entra-se no fluxograma e, ao término, tem-se os resultados desta execução Esses resultados podem ser comparados e analisados se estão corretos de acordo com os objetivos do programa. Exercício Propriedade dos bons algoritmos Tempo de execução finito qualquer que seja a sua entrada de dados. Comandos definidos sem ambiguidade ou imprecisão. Exemplo: Se (um número for pequeno), então.... Comandos efetivos – passíveis de execução. Exemplo de comando não efetivo: Se chover semana que vem, esta semana levo meu guarda-chuva para o conserto. Início e término dos algoritmos (únicos) Entrada de informação e saída de resultados. Algoritmos amigáveis, bem estruturados e de fácil correção. Exercício Referências Bibliográficas E. C. de Araújo. (2007) Algoritmos: Fundamentos e Práticas. Visual Books P. S.Moraes, Curso Básico de Lógica de Programação, Unicamp, Centro de Computação. W.L.C. Saliba (1993) Técnicas de Programação: Uma abordagem estruturada. Makron Books. Forbellone e Eberspacher, Lógica de Programação, 3 edição. Referências Bibliográficas P. S.Moraes, Curso Básico de Lógica de Programação, Unicamp, Centro de Computação. Slide 1 Noções de lógica Usando a lógica Usando a lógica Mas e a lógica de programação? Lógica de Programação O que é um algoritmo? O que é preciso para descrevermos um bom algoritmo? Algoritmizando a Lógica Algoritmos para computadores Pseudocódigo Exemplo de Pseudocódigo Algoritmo do método de Báskara Slide 14 Exercício Fluxograma Exemplo de fluxograma: cálculo de médias Fluxograma O símbolo: Entrada de Dados O símbolo: Processamento O símbolo: Exibir Tela Fluxograma - sistemática Fluxograma - sistemática Slide 24 Exercício para casa Exemplo 2 Uma Resposta - pseudocódigo Fluxograma correspondente Outros símbolos Resoluções condicionais Slide 31 Slide 32 Exercícios Teste de mesa em fluxogramas Exercício Propriedade dos bons algoritmos Exercício Referências Bibliográficas Slide 39
Compartilhar