Upload
totabernal
View
44
Download
0
Embed Size (px)
DESCRIPTION
algoritmos de programação - Introdução
Citation preview
Introduo a AlgoritmosDefinio de Algoritmos
IntroduaoPara que um computador possa desempenhar uma tarefa necessrio que ela seja detalhada passo a passo.O programa nada mais do que um algoritmo compreensvel ao computador
IntroduoAfazeres domsticos, receitas de um prato, contas de luz e gua so exemplos de algoritmos genricos utilizados no dia a diaTudo o que fazemos pode ser considerado um algoritmo (ou vrios) um procedimento que recebe uma entrada e, de acordo com passos definidos produz uma sada.
IntroduoO Algoritmo a lgica do problema matemtico ou computacional a sequncia de passos lgicos que se deve realizar para a soluo do problemaUm algoritmo geralmente uma forma bruta de se resolver problemas matemticos/computacionais particulares ou agrupados
HistriaMatemtico persa chamado Abu Jafar Al-Khowrizm escreveu em, 825 um livro sobre mtodos de restaurao e reduo numrica Kitab al jabr wal-muqabala
ConceitosNa Matemtica, descreve o processo de clculo e resoluo de um grupo de problemas semelhantes, com generalidades e sem restries, estipulando as regras formais para obteno do resultadoBaskara
ConceitosNa programao de computadores, descreve o conjunto de regras predeterminadas e bem definidas para resolver um problema com um nmero finito de etapas.
Aplicao BsicaDia a diaTarefa de escovar os dentes aps o almoo:Levantar da mesaIr ao banheiroAbrir o creme dentalColocar o creme na escova de dentesEscovar os dentesEnxague
Os passos do algoritmo de escovao dos dentes devem ser aplicados de forma sequencial.Traduzindo a um computador, a sequncia de passos que transforma entrada em sada
Caractersticas de um AlgoritmoFinitudeUm algoritmo deve sempre terminar aps um nmero finito de passosDefinioCada passo deve ser precisamente definido, sem ambiguidadeEntradaValores que so fornecidos antes do incio e durante a sua execuo
Caractersticas de um AlgoritmoSadasUm algoritmo deve ter uma ou mais sadas, relativas s entradas quanto a execuo do algoritmoEfetividadeTodas as operaes devem ser suficientemente bsicas que possam ser executadas mesmo em papel e lpis
Um algoritmo uma abstrao da realidade o processo de identificar as propriedades relevantes do fenmeno que est sendo modelado.
Soluo de problemas com algoritmosAlguns passos devem ser definidos criteriosamente:Definir o problemaDados associados e resultados desejadosPlanejar o algoritmo de soluoDecidir como proceder na soluo do problemaCodificar a soluoRedigir o algoritmo em formato de linguagem passvel de entendimento ferramenta de soluoTestar a codificaoAssegurar os resultados no formato corretoDocumentao Obteno e testes de resultados, manuais e desempenho.
Algoritmo e o ComputadorO computador utiliza-se de um mecanismo capaz de executar aes seguindo um padro de comportamento descrito por um algoritmoRepertrio de aes primitivasSoluo de problemas matemticos especficos (numricos)Utilizao de ferramentas matemticas para traduzir formas visuais
Algoritmo e o ComputadorOs passos de um algoritmo deve ser sequencial e esgotadorSomente se executa a prxima etapa quando a anterior realizada sem erros, ou com o mnimo de desvios.
Algoritmo e o ComputadorTexto finitoTodo algoritmo escrito em forma de software representado por linhas de comando textualInstrues elementaresComandos mnimos conhecidos fornecidos ao computador que executar as aes.Receita metdicaTexto preciso, sem ambiguidadesTerminaoTruncamento de aes, quando possvelFinalizao de loops, se necessrioContagem de passos e aproximaes.
Limitao de passosh1h2= h1/2h3= h2/2h4= h3/2
Limitao de Passoshn=?h1 + h2 + h3 + .....+ hn ?
Ordem de PassosAlguns passos devem ser realizados invariavelmente de forma sequencialPode haver incongruncias lgicas entre a execuo da soluo de problemas e o problema em siAlterao da ordem lgicaErro nas condies iniciaisErro na numerao dos passos (referncia em 0 ou 1)
Representao de AlgoritmosExistem algumas representaes de algoritmos consolidadas para interpretao:FluxogramaDiagrama de blocosAlgoritmo descritivoAlgoritmo codificado
Representao de AlgoritmosAlgoritmo grfico a representao do raciocnio lgico atravs de blocos de informao, conhecido como modelo tradicional.Os fluxogramas so exemplos de algoritmos grficos, utilizados para descrever o mtodo e a sequncia de processos dos planos. Tanto em um computador como no papel.
FluxogramaRepresentao desenvolvida pela ANSISmbolos padronizados com formas geomtricas indicando diferentes aesFormato intermedirio entre a descrio narrativa e pseudocdigoMenos imprecisa que a primeiraMenor ateno a detalhes que a segunda
Representao de FluxogramaIncio / FimEntradaSadaProcesso (clculo)Deciso
Representao de FluxogramaFluxogramas convencionais devem atentar a detalhes de nvel fsico de execuo do algoritmoFiguras diferentes para processos diferentesPartindo do smbolo de incio, h sempre um nico caminho orientado a ser seguido, dependendo das entradas e instrues a serem seguidas
Exerccio: Problema da BolaDesenhe um fluxograma para clculo da distncia de quiques da bola do exerccio anterior em que as entradas so:Altura inicialNmeros de quiques a serem considerados
Exerccio: Problema da BolaConsidere que os quiques percam 1/3 da altura a cada batida no solo.Calcule quantos quiques para que a altura atingida seja menor que 1% da altura inicial.