1 / 40

Desenvolvendo Algoritmos

Desenvolvendo Algoritmos. Marco Antonio Montebello Júnior marco.antonio@aes.edu.br. Fundamentos de Lógica. Agenda. Regras para construção de uma algoritmo Tipos de algoritmos Tipos de dados e variáveis Operadores Aritméticos Relacionais Lógicos Estrutura Seqüencial

hedy-hoover
Download Presentation

Desenvolvendo Algoritmos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desenvolvendo Algoritmos Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Fundamentos de Lógica

  2. Agenda • Regras para construção de uma algoritmo • Tipos de algoritmos • Tipos de dados e variáveis • Operadores • Aritméticos • Relacionais • Lógicos • Estrutura Seqüencial • Estruturas de Decisão Fundamentos de Lógica

  3. Algoritmo • O algoritmo deve ser fácil de se interpretar e fácil de codificar. • Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação. Fundamentos de Lógica

  4. Regras para construção do algoritmo • Descrever a seqüência de instruções, de maneira simples e objetiva. • Usar somente um verbo por frase • Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática • Usar frases curtas e simples • Ser objetivo • Procurar usar palavras que não tenham sentido dúbio Fundamentos de Lógica

  5. Fases • Para montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: • 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 Saída Entrada Processamento Fundamentos de Lógica

  6. FasesAnalogia com um homem Fundamentos de Lógica

  7. Tipo: Pseudocódigo – Português Estruturado • Utiliza linguagem estruturada e se assemelha, na forma, a um programa escrito na linguagem de programação. • É um tipo de algoritmo que utiliza uma linguagem flexível, intermediária entre a linguagem natural e a linguagem de programação. • “Pseudocódigo” significa “falso código”; o nome se deve à proximidade que existe entre um algoritmo escrito em pseudocódigo e a maneira pela qual um programa é escrito em uma linguagem de programação Fundamentos de Lógica

  8. Pseudocódigo • Trocar uma lâmpada (V1) • pegar uma escada; • posicionar a escada embaixo da lâmpada; • buscar uma lâmpada nova; • subir na escada; • retirar lâmpada velha; • colocar lâmpada nova. Fundamentos de Lógica

  9. Pseudocódigo • Trocar 10 lâmpadas SE estiverem queimadas • ir até o interruptor do primeiro soquete; • enquanto a quantidade de soquetes testados for menor que 10, faça • acionar o interruptor; • se a lâmpada não acender, então • pegar uma escada; • posicionar a escada embaixo da lâmpada; • buscar uma lâmpada nova; • acionar o interruptor; • subir na escada; • retirar lâmpada queimada; • colocar lâmpada nova; • enquanto a lâmpada não acender, faça • retirar lâmpada queimada; • colocar lâmpada nova; • ir até o interruptor do próximo soquete; Fundamentos de Lógica

  10. Tipo: Descrição Narrativa • Utiliza linguagem natural para especificar os passos para a realização das tarefas. • Não é muito utilizada Fundamentos de Lógica

  11. Tipo: Fluxograma • Utiliza-se de figuras geométricas para ilustrar os passos a serem seguidos na resolução dos problemas. • Diagrama de Blocos. É bastante utilizado Fundamentos de Lógica

  12. Fluxograma - Simbologia • Cada instrução ou ação a ser executada deve ser representada por meio de um símbolo gráfico. Terminal: representa o início e o final do fluxograma. Vídeo: representa a saída de informações por meio do monitor de vídeo. Decisão: representa uma ação lógica que resultará na escolha de uma das seqüências de instruções. Processamento: representa a execução de operações ou ações. Teclado: representa a entrada de dados para as variáveis por meio do teclado. Preparação: representa uma ação de preparação para o processamento. Fundamentos de Lógica

  13. Fluxograma - Simbologia Conector: utilizado para interligar partes do fluxograma ou para desviar o fluxo corrente para um determinado trecho do fluxograma. Conector de Páginas: utilizado para interligar partes do fluxograma em páginas distintas. Seta de orientação do fluxo. Fundamentos de Lógica

  14. Fluxograma início ir para o primeiro soquete posicionar escada não acendeu? F soquetes restantes < 10 buscar lâmpada nova F V acionar o interruptor retirar a lâmpada queimada V acionar o interruptor subir na escada colocar lâmpada nova não acendeu? retirar a lâmpada queimada F ir ao próximo soquete colocar lâmpada nova V pegar uma escada acionar o interruptor fim Fundamentos de Lógica

  15. Tipo: Diagrama de Chapin • Conhecido também como diagrama de Shneiderman ou diagrama N-S. • Apresenta a solução do problema por meio de um diagrama de quadros com uma visão hierárquica e estruturada Fundamentos de Lógica

  16. Diagrama de Chapin Fundamentos de Lógica

  17. Formas de Representação • Gráficas (Fluxograma e Chapin) • Vantagens • Maior clareza no fluxo de execução • Linguagem visual • Desvantagens • Requer conhecimento de convenções gráficas • Mais trabalhoso em decorrência de seus desenhos • Dificuldade para fazer correções • Textuais (Português Estruturado) • Apresenta mais vantagens, desde que se tomem alguns cuidados: • Riqueza gramatical de nossa língua pode levar a ambigüidades • A frase “O pregador foi grampeado durante o conserto” tem “8” sentidos diferentes quando pronunciada • Para resolver, utilizaremos um conjunto restrito de regras, conhecido como Português Estruturado Fundamentos de Lógica

  18. Tipos de dados e variáveisTipos Primitivos • São os tipos básicos de informação dos algoritmos • Inteiro: informação pertencente ao conjunto dos números inteiros relativos (positiva ou negativa). • Real: informação pertencente ao conjunto dos números reais. • Caractere: informação alfanumérica (caracteres alfabéticos, numéricos e especiais) • Lógico: informação biestável (admite apenas 2 valores: verdadeiro ou falso) Fundamentos de Lógica

  19. Tipos de dados e variáveisConstantes • São valores que não sofrem nenhuma variação no decorrer do tempo • São exemplos de constantes: • Valor de PI; • Velocidade da luz; • 5; • “Não fume”. Fundamentos de Lógica

  20. Tipos de dados e variáveisVariáveis • São valores que podem sofrer alteração no decorrer do tempo. • Exemplo: • Cotação do dólar; • Peso de uma pessoa; • Preço da gasolina. • São como gavetas que podem receber diversos tipos de objetos Fundamentos de Lógica

  21. Tipos de dados e variáveisVariáveis • Identificadores: São os nomes escolhidos para as informações variáveis. • Deve iniciar por caractere alfabético; • Pode ser seguido por mais caracteres alfabéticos ou numéricos; • Não devem ser usados caracteres especiais. • Declaração: • Processo de reservar e etiquetar gavetas; • Só podem armazenar valores de um mesmo tipo, de maneira que também são classificadas como sendo numéricos, lógicos e literais. Fundamentos de Lógica

  22. Operadores Aritméticos • Utilizados para a realização de cálculos matemáticos Fundamentos de Lógica

  23. Operadores Relacionais • Utilizados para a estabelecer relação de comparação entre valores Fundamentos de Lógica

  24. Operadores Relacionais • A = 5 • B = 3 Fundamentos de Lógica

  25. Operadores Lógicos • Utilizados para a efetuar avaliações lógicas entre valores Fundamentos de Lógica

  26. Operadores LógicosTabela Verdade • Conjunto de todas as possibilidades de cada operador lógico. Fundamentos de Lógica

  27. Estrutura Seqüencial • O fluxo de controle segue a mesma seqüência linear da nossa escrita, ou seja: • De cima para baixo; • Da esquerda para direita • Cada ação é seguida de um ; • Objetiva separar uma ação da outra • Indica que a próxima ação da seqüência deve ser executada Fundamentos de Lógica

  28. Estrutura Seqüencial • Algoritmo – Média Aritmética início // declaração de variáveis real: N1, N2, N3, N4,// notas bimestrais MA;// média anual // entrada de dados leia (N1, N2, N3, N4); // processamento MA ← (N1 + N2 + N3 + N4) / 4; // saída de dados escreva (MA); fim Fundamentos de Lógica

  29. Estruturas de Decisão • São aquelas que permitem alterar o fluxo de execução, de forma a selecionar qual parte deve ser executada • Essa “decisão” de execução é tomada a partir de uma condição, que pode resultar apenas em verdadeiro ou falso • Uma condição é representada por expressões relacionais ou lógicas • As estruturas de seleção podem ser classificadas em simples, compostas ou encadeadas. Fundamentos de Lógica

  30. Estruturas de Decisão Fundamentos de Lógica

  31. Estruturas de DecisãoSimples • Quando a <condição> for verdadeira o “bloco verdadeiro” é executado. • Quando a <condição> for falsa o “bloco verdadeiro” não é executado. se<condição>então início// início do bloco verdadeiro comando 1; comando 2; ... comando n; fim; // fim do bloco verdadeiro fim_se; Fundamentos de Lógica

  32. Estruturas de DecisãoSimples • Algoritmo – Média Aritmética com Aprovação início // declaração de variáveis real: N1, N2, N3, N4,// notas bimestrais MA;// média anual // entrada de dados leia (N1, N2, N3, N4); // processamento MA ← (N1 + N2 + N3 + N4) / 4; // saída de dados escreva (MA); se (MA >= 7) então escreva (“Aluno Aprovado !”); fim_se; fim. Fundamentos de Lógica

  33. Estruturas de DecisãoComposta • Quando a <condição> for verdadeira o “bloco verdadeiro” é executado • Quando a <condição> for falsa o “bloco falso” é executado se <condição> então início// início do bloco verdadeiro comando 1; comando n; fim; // fim do bloco verdadeiro senão início// início do bloco falso comando 1; comando n; fim; // fim do bloco falso fim_se; Fundamentos de Lógica

  34. Estruturas de DecisãoComposta • Algoritmo – Média Aritmética com aprovação e reprovação início // declaração de variáveis real: N1, N2, N3, N4,// notas bimestrais MA;// média anual leia (N1, N2, N3, N4); MA ← (N1 + N2 + N3 + N4) / 4; escreva (MA); se (MA >= 7) então início escreva (“Aluno Aprovado!”); escreva (“Parabéns!”); fim; senão início escreva (“Aluno Reprovado!”); escreva (“Estude mais!”); fim; fim_se; fim. Fundamentos de Lógica

  35. Estruturas de DecisãoEncadeada (aninhada) • Ocorre quando uma seleção tem como ação uma outra seleção • Uma seleção encadeada pode ser: • Heterogênea: Quando não é possível identificar padrão de comportamento • Homogênea: Quando é possível identificar padrão de comportamento • se – então – se: quando depois de cada então ocorre outro se • se – senão – se: quando depois de cada senão ocorre outro se Fundamentos de Lógica

  36. Estruturas de Decisão Encadeada – Heterogênea • Algoritmo – Tipos de Triângulo início inteiro: A, B, C;// tamanho dos lados leia (A, B, C); se (A<B+C) e (B<A+C) e (C<A+B) então se (A=B) e (B=C) então escreva (“Triangulo Equilátero”); senão se (A=B) ou (B=C) ou (A=C) então escreva (“Triângulo Isósceles”); senão escreva (“Triangulo Escaleno”); fim_se; fim_se; senão escreva (“Estes valores não formam um triângulo”); fim_se; fim. Fundamentos de Lógica

  37. Estruturas de Decisão Encadeada – Homogênea • se – então – se se <Cond1> então se <Cond2> então se <Cond3> então se <Cond4> então W; fim_se; fim_se; fim_se; fim_se; • É equivalente a: se <Cond1> e <Cond2> e <Cond3> e <Cond4> então W; fimse; Fundamentos de Lógica

  38. Estruturas de Decisão Encadeada – Homogênea se X=V1 então C1; fim_se; se X=V2 então C2; fim_se; se X=V3 então C3; fim_se; se X=V4 então C4; fim_se; se X=V1 então C1; senão se X=V2 então C2; senão se X=V3 então C3; senão se X=V4 então C4; fim_se; fim_se; fim_se; fim_se; se – senão – se Fundamentos de Lógica

  39. Estruturas de DecisãoMúltipla Escolha • Seleções encadeadas homogêneas se-senão-se são bastante freqüentes para o tratamento de listas de valor • Para simplificar a escrita, pode-se utilizar o comando escolha. • Adaptando o algoritmo anterior: escolha X caso V1: C1; caso V2: C2; caso V3: C3; caso V4: C4; fim_escolha; Fundamentos de Lógica

  40. Estruturas de DecisãoMúltipla Escolha • Algoritmo – Múltipla Escolha início real: Preço; inteiro: Origem; leia (Preço, Origem); escolha Origem caso 1: escreva (Preço, “ – produto do Sul”); caso 2: escreva (Preço, “ – produto do Norte”); caso 3: escreva (Preço, “ – produto do Leste”); caso 4: escreva (Preço, “ – produto do Oeste”); caso 7, 8, 9: escreva (Preço, “ – produto do Sudeste”); caso 10..20: escreva (Preço, “ – produto do Centro-Oeste”); caso 5, 6, 25..50: escreva (Preço, “ – produto do Nordeste”); caso contrário: escreva (Preço, “ – produto importado”); fimescolha; fim. Fundamentos de Lógica

More Related