A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Capa. Algoritmos Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação.

Apresentações semelhantes


Apresentação em tema: "Capa. Algoritmos Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação."— Transcrição da apresentação:

1 capa

2 Algoritmos Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação

3 Algoritmos Método para resolver problemas.

4 Algoritmos É a descrição de uma sequência de passos (ações/instruções) que devem ser seguidas para a solução de um problema.

5 Algoritmos Um exemplo clássico para definir algoritmos é uma receita culinária. Problema: produção de refeições. Solução: repetir passos definidos (fazer iterações) e tomar decisões até que a refeição esteja pronta para ser servida.iterações A solução é o algoritmo.

6 Algoritmos Exemplo 1: receita de bolo simples Ingredientes 2 xícaras de açúcar 3 xícaras de farinha de trigo 4 colheres de margarina bem cheias 3 ovos 1 e 1/2 xícara de leite aproximadamente 1 colher (sopa) bem cheia de fermento em pó Dr. Oetker Fonte: http://www.tudogostoso.com.br/receita/29124-bolo-simples.html

7 Algoritmos Exemplo 1: receita de bolo simples Modo de Preparo 1.Bata as claras em neve 2.Reserve 3.Bata bem as gemas com a margarina e o açúcar 4.Acrescente o leite e farinha aos poucos sem parar de bater 5.Por último agregue as claras em neve e o fermento 6.Coloque em forma grande de furo central untada e enfarinhada 7.Asse em forno médio, preaquecido, por aproximadamente 40 minutos 8.Quando espetar um palito e sair limpo estará assado Fonte: http://www.tudogostoso.com.br/receita/29124-bolo-simples.html

8 Algoritmos Pergunta 1: de acordo com o exemplo, podemos observar que a execução do algoritmo do bolo é composta por: A.Ingredientes (Entrada | Estado Inicial). B.Sequência de passos (Processamento | Estado Intermediário). C.O Bolo (Saída | Estado Final). D.Todas as alternativas acima.

9 Algoritmos Pergunta 1: de acordo com o exemplo, podemos observar que a execução do algoritmo do bolo é composta por: A.Ingredientes (Entrada | Estado Inicial). B.Sequência de passos (Processamento | Estado Intermediário). C.O Bolo (Saída | Estado Final). D.Todas as alternativas acima. R: Alternativa D.

10 Algoritmos Pergunta 1 - Análise: Como pudemos observar, para a execução de um algoritmo (modo de preparo), foi necessário a presença de dados iniciais (ingredientes) a serem manipulados resultando em um estado final (o bolo).

11 Algoritmos Exemplo 2: descobrir a hipotenusa de um triângulo retângulo dado dois catetos. Dados iniciais: Cateto 1 Cateto 2 C2 C1 H=?

12 Algoritmos Exemplo 2: descobrir a hipotenusa de um triângulo retângulo dado dois catetos. Algoritmo: 1.Eleve o cateto 1 ao quadrado. 2.Escreva o resultado 1 da operação acima. 3.Eleve o cateto 2 ao quadrado. 4.Escreva o resultado 2 da operação acima. 5.Some o resultado 1 com o resultado 2. 6.Escreva o resultado 3 da operação acima. 7.Tire a raiz quadrada do resultado 3. 8.Escreva o resultado da operação acima que será a hipotenusa.

13 Algoritmos Exemplo 2: descobrir a hipotenusa de um triângulo retângulo dado dois catetos. Dados finais: Cateto 1 Cateto 2 Hipotenusa C2 C1 H=?

14 Algoritmos Variáveis: Conforme observamos, para executar um algoritmo é essencial a manipulação de dados, valores ou objetos. O mesmo vale para o computador.

15 Algoritmos Variáveis: Quando um computador executa um algoritmo, o mesmo precisa armazenar e manipular valores. Esses valores são armazenados e acessados da memória do computador. O acesso à memória é abstraído no conceito de variáveis.

16 Algoritmos Variáveis: As variáveis podem ser entendidas como “caixas” que podem guardar um valor Cada vez que guardamos um novo valor nela, substituimos o antigo Para guardarmos um novo valor em uma variável usamos o comando de atribuição.

17 Algoritmos Variáveis: Para a atribuição de valores iremos utilizar uma seta ( <- ) A variável sempre irá se encontrar à esquerda Na parte direita ficará uma expressão O resultado da expressão será armazenado pela variável

18 Algoritmos Variáveis: x <- 5 x <- 2+3*5 x <- (2+3)*5

19 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.4 B.7 C.10 D.25

20 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.4 B.7 C. 10 (Correta!) D. 25

21 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.20 B.22 C.16 D.24

22 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.20 B. 22 (Correta!) C. 16 D. 24

23 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.3 B.6 C.9 D.21

24 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A. 3 (Correta!) B. 6 C. 9 D. 21

25 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.143 B.105 C.215 D.47

26 Algoritmos Variáveis: Exemplo: Determine o valor final da variável x ao final da sequência de passos: A.143 B.105 C. 215 (Correta!) D. 47

27 Algoritmos Expressões numéricas

28 Algoritmos Operadores relacionais

29 Algoritmos Operadores lógicos

30 Algoritmos Um algoritmo pode ser constituído por 3 estruturas de fluxo: Estruturas Sequenciais Estruturas Condicionais Estruturas de Repetição

31 Algoritmos Estruturas Sequenciais São estruturas que acontecem uma vez incondicionalmente.

32 Algoritmos Estruturas Sequenciais Exemplo: Algoritmo para calcular média de três notas a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() c <- leiaUmNumeroDoTeclado() media <- (a+b+c)/3 exiba media

33 Algoritmos Estruturas Sequenciais Exemplo: Dado o total de vendas de um vendedor, calcule a sua comissão. Suponha que a comissão do vendedor seja de 10% do total de vendas. totalvendas <- leiaUmNumeroDoTeclado() comissao <- totalvendas*0,1 exiba comissao

34 Algoritmos Estruturas Sequenciais Exemplo: Algoritmo que troca o valor de duas variáveis a e b auxiliar <- a a <- b b <- auxiliar

35 Algoritmos Um algoritmo pode ser constituído por 4 estruturas de fluxo: Estruturas Sequenciais [OK] Estruturas Condicionais Estruturas de Repetição

36 Algoritmos Estruturas Condicionais Acontecem apenas quando alguma condição é verdadeira Uma condição só pode ser verdadeira ou falsa São usadas as palavras chave se-então-senão se(condição) então senão fim-se... Instruções Verdade Falsa

37 Estruturas Condicionais Exemplo: Algoritmo que imprime qual o menor entre dois numeros distintos a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() se(a < b)então menor <- a senão menor <- b fim-se exiba menor Algoritmos

38 Estruturas Condicionais Exemplo: Algoritmo que imprima qual o menor entre dois numeros a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() se(a < b)então menor <- a senão menor <- b fim-se exiba menor Algoritmos

39 Estruturas Condicionais Exemplo: Algoritmo para calcular as raízes de uma equação do segundo grau: a*x² + b*x + c = 0 Algoritmos

40 Estruturas Condicionais a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() c <- leiaUmNumeroDoTeclado() delta <- Algoritmos Opções: A.delta B.a+b+c C.4*a*c D.b*b - 4*a*c

41 Estruturas Condicionais a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() c <- leiaUmNumeroDoTeclado() delta <- Algoritmos Opções: A.delta B.a+b+c C.4*a*c D.b*b - 4*a*c b*b – 4*a*c

42 Estruturas Condicionais a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() c <- leiaUmNumeroDoTeclado() delta <- b*b – 4*a*c se ( delta >= 0 )então x1 <- (raiz(delta) – b)/(2*a) x2 <- (-1*raiz(delta) – b)/(2*a) fim-se Algoritmos Opções: A.delta = 0 B.delta > 0 C.delta >= 0 D.delta

43 Estruturas Condicionais a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() c <- leiaUmNumeroDoTeclado() delta <- b*b – 4*a*c se ( delta >= 0 )então x1 <- (raiz(delta) – b)/(2*a) x2 <- (-1*raiz(delta) – b)/(2*a) fim-se Algoritmos Opções: A.delta = 0 B.delta > 0 C.delta >= 0 D.delta

44 Estruturas Condicionais a <- leiaUmNumeroDoTeclado() b <- leiaUmNumeroDoTeclado() c <- leiaUmNumeroDoTeclado() delta <- b*b – 4*a*c se (delta >= 0)então x1 <- (raiz(delta) – b)/(2*a) x2 <- (-1*raiz(delta) – b)/(2*a) fim-se Algoritmos

45 Um algoritmo pode ser constituído por 4 estruturas de fluxo: Estruturas Sequenciais [OK] Estruturas Condicionais [OK] Estruturas de Repetição

46 Algoritmos Estruturas de Repetição Irão repetir enquanto uma condição for satisfeita São usadas as palavras chave enquanto-faça enquanto ( ) faça fim-enquanto Instruções Verdade Falsa

47 Estruturas de Repetição Exemplo: Faça um algoritmo que imprima todos os números de 1 a 20 num <- 1 enquanto(num <= 20) faça exiba num num <- num+1 fim-enquanto Algoritmos

48 Estruturas de Repetição Exemplo: Faça um algoritmo que imprima todos os números de 1 a 20 num <- 1 enquanto(num <= 20) faça exiba num num <- num+1 fim-enquanto

49 Estruturas de Repetição Exemplo: Faça um algoritmo que some todos os números entre 200 e 400 num <- 200 soma <- 0 enquanto(num <= 400) faça soma <- soma + num num <- num + 1 fim-enquanto Algoritmos

50 Estruturas de Repetição Exemplo: Faça um algoritmo que some todos os números entre 200 e 400 num <- 200 soma <- 0 enquanto(num <= 400) faça soma <- soma + num num <- num + 1 fim-enquanto Algoritmos

51 Um algoritmo pode ser constituído por 4 estruturas de fluxo: Estruturas Sequenciais [OK] Estruturas Condicionais [OK] Estruturas de Repetição [OK]

52 Algoritmos Por que estudar algoritmos? O seu impacto é amplo e de longo alcance. Internet. Busca na web, roteamento de pacote, compartilhamento de arquivos... Biologia. Projeto do genoma humano, enovelamento de proteínas... Computador. Layout de circuitos, sistema de arquivos, compiladores (fique ligado!)... Computação gráfica. filmes, video games, realidade virtual... Segurança. celular, e-commerce, urna eletrônica... Multimídia. MP3, JPG, DivX, HDTV, reconhecimento de face.... Redes Sociais. recomendações, feeds de notícia, propagandas... Física. simulação de partículas, simulação de colisão de partículas...

53 Linguagens de Programação Computador X Pessoas O que é conveniente para as pessoas às vezes não é conveniente para o computador Pessoas querem fazer X, máquinas só fazem Y Como proceder?

54 Linguagens de Programação Níveis de linguagens Computador recebe instruções (ordens) Instruções lógicas e padronizadas Processa essas instruções e gera um resultado Uma LP é uma forma padronizada de comunicação com o computador

55 Linguagens de Programação Níveis de linguagens A maioria dos computadores utilizam lógica digital binária A crescente complexidade dos programas Novas formas de programar

56 Linguagens de Programação Máquina multinível Solução para comunicação homem X máquina Cada máquina possui sua linguagem

57 Linguagens de Programação Linguagem de baixo nível Forte relação com o hardware Restritas a linguagem de máquina Codificação rígida com a arquitetura 00111010100100100100001111010101 01110101010111110010010001111101 00100011010100101100000001010010 10101010101111110000010101010010 01111111111010101001001010010010 01000010100100100100101000101001 00100011010101010100000001010010 01000110101010101000000010100100 10001101010101010000000101001001 00011010101010100000001010010010 00110101010101000000010100100100 01101010101010000000101001001000 00000010100001010010010010101010 10101010101000000010101010101001 11010101101010100100100111010010 01001000100110101001110010010010 01000110101010101000000010100100 10001101010101010000011111011001

58 Linguagens de Programação Dispositivos de entrada CPU Dispositivos de saída Unidade de memória Unidade de Controle ULA Arquitetura de Von Neumann

59 Linguagens de Programação Linguagem de montagem É uma linguagem de baixo nível Cada comando produz uma única instrução de máquina.data x1:.word 10 x2:.word 5 x3:.word -1.text lw $t0, x1 lw $t1, x2 add $t2, $t0, $t1 sw $t2, x3 li $v0, 1 move $a0, $t2 syscall li $v0, 10 syscall

60 Linguagens de Programação Linguagem de alto nível Se aproxima da linguagem utilizada por humanos Cada comando produz várias instruções de máquina #include int main() { int a = 10, b = 5; printf (“%d\n”, a+b); return 0; }

61 Linguagens de Programação Linguagens de alto nível X Linguagens de baixo nível ALTO NÍVELBAIXO NÍVEL Facilidade de manipulação, por tratar comandos com linguagens mais próximas do programador. Dificuldade de programação devido a forte proximidade com a sistemática de hardware. Facilidade em encontrar errosDificuldade em encontrar erros Possui portabilidadeTotalmente dependente da arquitetura computacional utilizada Lenta, se comparada a linguagem de baixo nívelRápida, pois opera em um nível próximo do hardware Rotinas mais complexas, portanto utiliza mais memóriaUtiliza menos espaço de memória

62 Linguagens de Programação Processamento de Linguagens O computador entende apenas a linguagem de máquina Alternativas: Interpretação e tradução

63 Linguagens de Programação Interpretação Comandos diretamente executados Sequência: Obter próximo comando Converter o comando em instruções em linguagem de máquina Executar as instruções

64 Linguagens de Programação Tradução Traduz um programa de uma linguagem para outra de nível mais baixo Ocorre com os programas escritos em linguagem de alto nível

65 Linguagens de Programação Compilador Traduz linguagem de alto nível (código fonte) em linguagem de baixo nível (código objeto) na forma de um executável Exemplos: gcc, Turbo C, Visual C, Visual Basic, etc C é uma linguagem compilada!

66 Linguagens de Programação #include int main() { int a = 10, b = 5; printf (“%d\n”, a+b); return 0; }.data x1:.word 10 x2:.word 5 x3:.word -1.text lw $t0, x1 lw $t1, x2 add $t2, $t0, $t1 sw $t2, x3 li $v0, 1 move $a0, $t2 syscall li $v0, 10 syscall

67 capa


Carregar ppt "Capa. Algoritmos Um algoritmo pode ser expresso de diversas maneiras, dentre elas: Linguagem Natural Fluxograma Pseudocódigo Linguagem de Programação."

Apresentações semelhantes


Anúncios Google