Escolar Documentos
Profissional Documentos
Cultura Documentos
06 de Fevereiro de 2012
Faculdade Pitgoras a
Apresentao da Disciplina ca
Sumrio a
1
Algoritmos Introduo ca Aplicao ca Histrico o Denio ca Estruturas de Dados Introduo ca Programa N veis de Abstrao ca Exerc cios Exerc cios em Sala de Aula Solues de Exerc co cios
Faculdade Pitgoras a Apresentao da Disciplina ca
Motivao ca
Componentes
O Problema Os passos/aes executveis co a A soluo ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Motivao ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Motivao ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Exemplo: Receita
1 2 3 4 5 6 7
Esquentar o forno Obter os ingredientes necessrios a Misturar os ingredientes na ordem pr-denida e Preparar a forma Colocar a mistura na forma Assar no forno por 50 minutos Enquanto a parte superior no estiver dourada a
1
Faculdade Pitgoras a
Apresentao da Disciplina ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Aplicao de Algoritmos ca
Economia
Bolsa de valores
Jogos
Xadrex, dama, jogo da velha
Dia a dia
Culinria, Previso do a a tempo, Academia
Biologia
Sequenciamento de genes, mapeamento de prote nas
Pol tica
IBGE, DataFolha
Engenharias
Fabricao de ca produtos, Construo ca civil Matemtica a
Teste da primalidade, Fatorao ca
Faculdade Pitgoras a
Computao ca
Pesquisa na web (ranking), Criptograa
F sica
Computao quntica, ca a Astronomia (simulao) ca
Apresentao da Disciplina ca
Origem
Muhammad ibn Musa al-Khwarizmi (780-850) Matemtico persa, astrnomo e gegrafo, membro da casa da a o o sabedoria de Bagd a Criou o sistema numrico decimal do mundo ocidental e e mtodos de soluo para equaes do 1o e do 2o graus e ca co Criador da lgebra (do rabe al-jabr) a a Algorithmus = mtodo de calcular e
Faculdade Pitgoras a
Apresentao da Disciplina ca
Denio ca
Denition Um algoritmo pode ser denido resumidamente como uma seqncia de aes a serem executadas na resoluo de um ue co ca problema. O que um problema (Dicionrio Michaelis)? e a
Questo matemtica proposta para ser resolvida a a Questo dif delicada, suscet de diversas solues a cil, vel co Qualquer coisa de dif explicao; mistrio ou enigma cil ca e Dvida, questo u a
Faculdade Pitgoras a
Apresentao da Disciplina ca
Denio ca
Um problema sendo solucionado por uma sequncia de e aes. co Dessa forma, os algoritmos podem ser utilizados como base lgica de operaes que devero ser implementadas em uma o co a linguagem de programao, apesar de no representarem, ca a necessariamente, um programa de computador.
Faculdade Pitgoras a
Apresentao da Disciplina ca
Denio ca
Seqncia de aes executveis para a obteno de uma ue co a ca soluo para um determinado tipo de problema ca Uma sequncia nita de instrues, lgica, um procedimento e co o expl cito denido passo a passo para a resoluo de um ca problema, normalmente usado para clculo e processamento a de dados, dentre outras reas. a Uma descrio de um padro de comportamento, expresso em ca a termos de um conjunto nito de aes (Dijkstra) co
Faculdade Pitgoras a
Apresentao da Disciplina ca
Denio ca
Considerado como uma ferramenta para resolver um problema computacional bem especicado
Bem especicado = bem denido, regras claras e precisas
Pode receber como entrada um conjunto de valores e pode produzir como sa um outro conjunto de valores da
Relao entrada/sa ca da
a1 a2 ...an 1 an
Faculdade Pitgoras a
Apresentao da Disciplina ca
Denio: Resumo ca
Regras so precisas a
Nmero de passos nito (in e m) u cio
Faculdade Pitgoras a
Apresentao da Disciplina ca
Caracter sticas
Componentes principais
Estado inicial: Entrada inicial Instrues que descrevem uma computao co ca
Nmero nito de passos bem denidos u
Estado nal: Sa da
Representaes co
Linguagem natural (Portugol) Fluxograma (diagrama) Pseudo-linguagem (Algoritmo estruturado)
Complexidade
Tempo: nmero de operaes u co Espao: quantidade de memria utilizada c o
Faculdade Pitgoras a
Apresentao da Disciplina ca
Exemplo
Faculdade Pitgoras a
Apresentao da Disciplina ca
Aplicao ca
Operaes de clculo co a
Soma, subtrao, diviso, mdia, mediana, primo ca a e
Processamento de dados
Ordenao, agrupamento ca
Razo autonmica a o
Tomada de deciso a
Faculdade Pitgoras a
Apresentao da Disciplina ca
Exerc 1 cio
Como descrever um algor tmo que testa se um nmero inteiro u par? e Qual o problema sendo tratado? e Qual a minha entrada de dados? e Quais so os passos/aes necessrias para a soluo do a co a ca problema? Qual a resposta esperada na resoluo do problema? e ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Exerc 1 cio
Algoritmo NumeroEhPar Entrada: inteiro N Sada: VERDADEIRO se o nmero par, FALSO o contrrio u e a D <= N / 2 R <= N - (D x 2) Se (R == 0) ent~o a retornar FALSO Sen~o a retornar VERDADEIRO fim se
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo a Lgica ca o
O que orientou a obteno dos passos ou procedimentos para ca solucionarmos o problema anterior?
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo a Lgica ca o
O que orientou a obteno dos passos ou procedimentos para ca solucionarmos o problema anterior? A lgica o
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo a Lgica ca o
O que orientou a obteno dos passos ou procedimentos para ca solucionarmos o problema anterior? A lgica o O que lgica? e o
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo a Lgica ca o
O que orientou a obteno dos passos ou procedimentos para ca solucionarmos o problema anterior? A lgica o O que lgica? e o Ramo da losoa e matemtica que estuda os mtodos e a e princ pios que permitem fazer distino entre racioc ca nios vlidos e invlidos , determinando o processo que leva ao a a conhecimento verdadeiro.
Atravs da lgica poss alcanar objetivos com ecincia e e o e vel c e eccia. a
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo ca
Introduo ca
Maneira particular de armazenamento e organizao de dados ca em um computador de tal forma que estes possam ser utilizados de forma eciente
Como saber se um algoritmo eciente? e Tcnicas de anlise e projeto de algoritmos e a
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo ca
Resoluo de um Problema ca
Escolher a forma de representar esses dados e as operaes co sobre estes A escolha da representao dos dados ca e determinada, entre outras, pelas operaes a serem realizadas co sobre os dados. Representao dos dados: estado ca Operaes sobre os dados: comportamento co
Faculdade Pitgoras a
Apresentao da Disciplina ca
Introduo ca
Situaoes c
Como representar uma la de usurios em um banco? a Como representar uma relao entre usurios numa rede ca a social? Como representar um deslocamento de mercadorias sobre uma determinada rea? a Como representar um armazenamento de itens dentro de um espao limitado? c Como representar uma hierarquia ou um organograma de uma empresa?
Faculdade Pitgoras a
Apresentao da Disciplina ca
N veis de Abstrao ca
Introduo ca
Programas so formulaes concretas de algoritmos abstratos, a co baseados em representaes e estruturas espec co cas de dados. Em outras palavras, os programas so instrues a serem a co executadas por um computador (CPU)
Faculdade Pitgoras a
Apresentao da Disciplina ca
N veis de Abstrao ca
N veis de Abstrao ca
Programas representam uma classe especial de algoritmos capazes de serem seguidos por computadores. Um computador s capaz de seguir programas em oe linguagem de mquina a
Cdigo fonte: leg pelo ser humano (alto n o vel vel) Compilao: processo de converso de cdigo fonte para ca a o cdigo de mquina (binria) o a a Interpretao: avalia e executa cada linha de cdigo em ca o linguagem de alto n (scripts) vel Linguagem de mquina: executada pelo computador (cdigo a o binrio) a
Faculdade Pitgoras a
Apresentao da Disciplina ca
N veis de Abstrao ca
N veis de Abstrao ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
N veis de Abstrao ca
N veis de Abstrao ca
Faculdade Pitgoras a
Apresentao da Disciplina ca
Exerc 2 cio
Escreva um algoritmo que encontra o maior nmero de uma u lista de trs nmeros no ordenada (X, Y e Z). e u a Trs fases e
Descrio de alto n (portugol) ca vel Descrio em pseudocdigo (algoritmo estruturado) ca o Implementao do algoritmo em uma linguagem de ca programao(C/C+) ca
Exemplos
Entrada: 3 10 5, Sa da: 10 Entrada: 2 2 2, Sa da: 2 Entrada: 0 -1 1, Sa da: 1
Faculdade Pitgoras a
Apresentao da Disciplina ca
Assuma que o primeiro item o maior e Verique o prximo elemento e, se ele for o maior encontrado o at o momento, anote-o e Repita o procedimento anterior at que no haja mais e a nmeros para serem vericados u O ultimo nmero anotado o maior da lista quando o u e processo estiver conclu do
Faculdade Pitgoras a
Apresentao da Disciplina ca
Vericar se um nmero primo (at 10). u e e Calcular a mdia de 3 nmeros (X, Y e Z) e u Dado um nmero, retornar a letra correspondente (A = 0, B u = 1, C = 2, . . ., Z = 26) Dado dois nmeros (X e Y), informar o maior e o menor. u Dado um nmero, retornar o antecessor e o posterior deste. u Dado um nmero de segundos, retornar a mesma quantidade u em minutos Dado um nmero de dias, retornar a mesma quantidade em u horas Dado uma medida em cent metros, retornar a mesma quantidade em polegadas (1 pol = 2.54 cm)
Faculdade Pitgoras a Apresentao da Disciplina ca
4 5 6
Algoritmo EhPrimo Entrada: nmero N u Sada: [V] se o nmero primo, [F] o contrrio u e a EhPrimo <= [V] Divisor <= 2 Enquanto (Divisor < N e EhPrimo) R <= N % Divisor Se (R == 0) ent~o a EhPrimo <= [F] Fim se Fim enquanto Retornar EhPrimo
Faculdade Pitgoras a Apresentao da Disciplina ca
Algoritmo CalcularMedia Entrada: nmeros A, B e C u Sada: mdia dos nmeros e u informados Soma <= A + B + C Mdia <= Soma / 3 e Retornar Mdia e Entrada: lista de nmeros L u Sada: mdia dos nmeros e u informados Para cada N em L Soma <= Soma + N Vezes <= Vezes + 1 Fim para Mdia <= Soma / Vezes e Retornar Mdia e
Faculdade Pitgoras a
Apresentao da Disciplina ca
Algoritmo ObterLetra Entrada: nmero N u Sada: Letra correspondente de N Se (N == 0) Letra <= Se (N == 1) Letra <= Se (N == 2) Letra <= . . . Se (N == 26) Letra <=
A B C
Z
Faculdade Pitgoras a Apresentao da Disciplina ca
retornar Letra
Algoritmo MaiorMenor Entrada: nmero A e B u Sada: o maior e o menor Se (A > B) Maior <= Menor <= Se (B > A) Maior <= Menor <= Sen~o a Informar
Faculdade Pitgoras a
Apresentao da Disciplina ca
Algoritmo AntecessorPosterior Entrada: nmero N u Sada: Antecessor A e posterior P A <= N - 1 P <= N + 1 Retornar A e P
Faculdade Pitgoras a
Apresentao da Disciplina ca
Algoritmo SegParaMinutos Entrada: nmero de segundos S u Sada: nmero de minutos M u M <= S / 60 Retornar M
Faculdade Pitgoras a
Apresentao da Disciplina ca
Algoritmo DiasParaHoras Entrada: nmero de dias D u Sada: nmero de horas H u H <= D * 24 Retornar H
Faculdade Pitgoras a
Apresentao da Disciplina ca
Dado uma medida em cent metros, retornar a mesma quantidade em polegadas (1 pol = 2.54 cm)
Algoritmo CentimetrosParaPolegadas Entrada: medida em centmetros C Sada: medida em polegadas P P <= C / 2.54 Retornar P
Faculdade Pitgoras a
Apresentao da Disciplina ca