introduÇÃo aos logaritmos de fazer
DESCRIPTION
A INTRODUÇÃO É MUITO BELA E AMIGA NOSSA AMÉM, VALEU POR TUDO AMIGOS DO PEITOTRANSCRIPT
![Page 1: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/1.jpg)
INTRODUÇÃO À COMPUTAÇÃO M
Introdução aos Algoritmos
M.Sc. Ricardo de Sousa Britto ([email protected])
1
![Page 2: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/2.jpg)
Conceituação 2
¨ Para estabelecer o conceito de algoritmos, será definido o conceito de ação: ¤ Ação é um acontecimento que, a partir de um estado
inicial, após um período de tempo finito, produz um estado final previsível e bem definido.
¨ Ex: Dado um número L qualquer, escreva os termos da série de fibonacci menores que L.
![Page 3: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/3.jpg)
Conceituação 3
¨ Adotaremos a seguinte definição de algoritmo: ¤ Algoritmo é a descrição de um conjunto de comandos
que, obedecidos, resultam numa sucessão finita de ações.
¨ Geralmente um algoritmo se destina a resolver um problema.
![Page 4: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/4.jpg)
Exemplo 4
¨ Algoritmo para escrever os termos de Fibonacci inferiores a um dado L.
Algoritmo Escreva os termos de Fibonacci inferiores a L Fim algoritmo
![Page 5: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/5.jpg)
Exercícios 5
¨ Um algoritmo pode conter um comando como “Escreva todos os termos da sequência de Fibonacci”?
¨ Escreva um algoritmo que, partindo de diferentes estados iniciais, produza os valores: a) 2 4 6 8 10 12 14 b) 1 3 5 7 9 11 13
![Page 6: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/6.jpg)
Componentes de um Algoritmo 6
¨ Um algoritmo é compostos por: ¤ Comandos – Determinam as ações a serem executadas
pelo seu destinatário. ¤ Estruturas de controles – Determinam a ordem em que
os comandos devem ser executados, se devem ser executados ou não e quando devem ser repetidos.
![Page 7: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/7.jpg)
Refinamentos Sucessivos 7
¨ Na vida cotidiana, os algoritmos são encontrados frequentemente como instruções para se utilizar um aparelho eletrodoméstico ou uma receita de bolo.
¨ Um algoritmo é considerado completo se os seus comandos forem do entendimento do seu destinatário.
![Page 8: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/8.jpg)
Refinamentos Sucessivos 8
¨ Caso um comando não seja entendido pelo destinatário, o mesmo deverá ser desdobrado em outros comandos, técnica chamada de refinamento.
¨ Se um algoritmo é formado não apenas por um comando, mas por vários, em sua execução deverá se considerar os estados intermediários.
![Page 9: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/9.jpg)
Exemplo de Refinamento 1 9
¨ Refinar o algoritmo que escreve os termos de Fibonacci inferiores a L.
Ref. Escreva os termos de Fibonacci inferiores a L Receba o valor L Processe os 2 primeiros termos Processe os termos restantes fim ref.
![Page 10: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/10.jpg)
Estrutura Sequêncial 10
¨ Estrutura utilizada no primeiro refinamento apresentado.
¨ Neste tipo de estrutura os comandos devem ser executados um após o outro, na mesma ordem em que aparecem escritos.
![Page 11: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/11.jpg)
Exemplo de Refinamento 2 11
¨ Podemos gerar refinamentos de refinamentos pra melhorar o entendimento de um comando.
Ref. Processe os 2 primeiros termos Atribua o valor 1 ao primeiro termo se ele for menor que L então escreva-o fim se Atribua o valor 1 ao segundo termo se ele for menor que L então escreva-o fim se fim ref.
![Page 12: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/12.jpg)
Estrutura Condicional 12
¨ Estrutura utilizada no segundo refinamento apresentado.
¨ Os comandos só serão executados se a condição for verdadeira.
se condição então comandos fim se
![Page 13: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/13.jpg)
Exemplo de Refinamento 3 13
Ref. Processe os termos restantes repita ele for menor que L Calcule o novo termo somando os 2 anteriores se o novo termo for maior ou igual a L então interrompa fim se Escreva novo termo fim repita fim ref.
![Page 14: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/14.jpg)
Estrutura de Repetição 14
¨ Estrutura utilizada no terceiro refinamento apresentado.
¨ Os comandos e estruturas de controle abrangidos devem ser executados repetidamente até que se verifique uma condição para que se interrompa a repetição.
repita se condição então interrompa fim se fim repita
![Page 15: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/15.jpg)
Estrutura de Repetição 15
¨ Considerando L = 5 no refinamento 3, a execução do refinamento resultaria em:
Calcula novo termo, como sendo 1+1=2 Como 2 < 5, escreve o valor 2
Calcula novo termo, como sendo 1+2=3 Como 3 < 5, escreve o valor 3
Calcula novo termo, como sendo 2+3=5 Como 5 = 5, interrompe
![Page 16: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/16.jpg)
Fim dos Refinamentos 16
¨ Uma vez que o destinatário consiga entender os comandos utilizados após os refinamentos, o algoritmo pode ser considero completo.
¨ Chegando a este ponto, deve-se substituir no algoritmo os comandos pelos refinamentos dos mesmos.
¨ Os antigos comandos substituídos devem ser utilizados como comentários, para facilitar o entendimento do algoritmo.
![Page 17: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/17.jpg)
Algoritmo Completo 17
Algoritmo {Escrita dos termos de Fibonacci inferiores a L} Receba o valor de L {Processamento dos 2 primeiros termos}
Atribua o valor 1 ao primeiro termo se ele for menor que L
então escreva-o fim se
Atribua o valor 1 ao segundo termo se ele for menor que L
então escreva-o fim se
{Processamento de termos restantes} repita ele for menor que L
Calcule o novo termo somando os 2 anteriores se o novo termo for maior ou igual a L
então interrompa fim se
Escreva novo termo fim repita
fim algoritmo
![Page 18: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/18.jpg)
Exercícios 18
1. Construa um algoritmo que calcule a área de um triângulo,dados a altura h e a base b.
2. Execute o algoritmo abaixo: Algoritmo repita Invente um problema Escreva um algoritmo para sua resolução se estiver cansado então interrompa fim se fim repita Mostre os algoritmos feitos aos colegas fim algoritmo
![Page 19: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/19.jpg)
Desenvolvimento Estruturados 19
¨ Com a evolução do hardware, os problemas levados aos computadores são cada vez de maior porte e maior complexidade.
¨ Os algoritmos ainda devem ser desenvolvidos pelo ser humano, mas podem ultrapassar os limites de sua compreensão.
¨ Por surgiram várias técnicas que permitem sistematizar e ajudar o desenvolvimento de algoritmos chamadas de técnicas de desenvolvimento estruturado.
![Page 20: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/20.jpg)
Desenvolvimento Estruturados 20
¨ Os objetivos dessas técnicas são: ¤ Facilitar o desenvolvimento dos algoritmos; ¤ Facilitar o seu entendimento pelo humanos; ¤ Antecipar a comprovação da sua correção; ¤ Facilitar a sua manutenção e a sua modificação; ¤ Permitir que o seu desenvolvimento possa ser
empreendido simultaneamente por uma equipe de pessoas.
![Page 21: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/21.jpg)
Desenvolvimento Estruturados 21
¨ Para se atingir esse objetivos, o desenvolvimento estruturado preconiza que: ¤ Os algoritmos devem ser desenvolvidos por
refinamentos sucessivos, partindo de uma descrição geral e gradativamente se atacando as minúcias do problema(Desenvolvimento top-down);
¤ Os sucessivos refinamentos são módulos, que delimitam poucas funções e são o mais independente possível.
¤ Nos módulos deve ser usado um número limitado de diferentes comandos e de diferentes estruturas de controle.
![Page 22: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/22.jpg)
Desenvolvimento Estruturados 22
¨ Alguns formalismos podem ser utilizados para auxiliar no desenvolvimento estruturado: ¤ Diagrama de Blocos ¤ Diagrama de Chapin
![Page 23: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/23.jpg)
Diagrama de Blocos 23
![Page 24: INTRODUÇÃO AOS LOGARITMOS DE FAZER](https://reader034.vdocuments.mx/reader034/viewer/2022052603/55cf91c6550346f57b908205/html5/thumbnails/24.jpg)
Diagrama de Chapin 24