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

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

Algoritmos e Estruturas de Dados I - Introdução

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Estruturas de Dados I - Introdução"— Transcrição da apresentação:

1 Algoritmos e Estruturas de Dados I - Introdução
1 Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez

2 2 Algoritmos - Conceito Sequência de passos que visa atingir um objetivo bem definido. Um algoritmo é um conjunto finito de regras que fornece uma sequencia precisa de operações para resolver um problema específico. Descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.

3 Algoritmos – exemplos da vida quotidiana
3 Algoritmos – exemplos da vida quotidiana Instruções que um professor passa aos seus alunos em uma academia de ginástica Uma receita para preparo de um bolo O guia de preenchimento da declaração de imposto de renda. A regra para determinação de máximos e mínimos de funções por derivadas sucessivas. A maneira como as contas de água, luz e telefone são calculadas mensalmente.

4 Problemas mais complexos solucionados por algoritmos
4 Problemas mais complexos solucionados por algoritmos A internet permite que o mundo acesse e obtenha com rapidez grandes quantidades de informações. Algoritmos inteligentes são necessários para gerenciar e manipular esse grande volume de dados. Exemplos de problemas localização de boas rotas pelas quais os dados viajarão uso de um mecanismo de pesquisa para encontrar com rapidez páginas em que residem informações específicas. A capacidade de manter privativas informações como números de cartão de crédito, senhas e extratos bancários é essencial no comercio eletrônico.A criptografia de chave pública e as assinaturas digitais são tecnologias centrais utilizadas baseadas em algoritmos numéricos e na teoria dos números.

5 5 Algoritmos - exemplo 1 Algoritmo – instruções que um professor passa aos seus alunos em uma academia de ginástica para fortalecer braços e pernas. 1) Repetir 10 vezes os quatro passos abaixo: 1.1.Levantar e abaixar braço direito; 1.2.Levantar e abaixar braço esquerdo; 1.3.Levantar e abaixar perna esquerda; 1.4.Levantar e abaixar perna direita.

6 Algoritmos - exemplo 2 6 Algoritmo – Fazer um bolo
1) Bater duas claras ; 2) Adicionar duas gemas; 3) Adicionar um xícara de açúcar; 4) Adicionar duas colheres de manteiga; 5) Adicionar uma xícara de leite de coco; 6) Adicionar farinha e fermento; 7) Colocar numa forma e levar ao forno em lume brando

7 7 Algoritmos - exemplo 3 Problema – Dispomos de duas vasilhas com capacidades de 9 e 4 litros respectivamente. As vasilhas não tem nenhum tipo de marcação, de modo que não é possível ter medidas como metade ou um terço. Faça um algoritmo que usando as vasilhas de 9 e 4 litros encha uma terceira vasilha de medida desconhecida com seis litros de água. Uma possível solução é: (1) Encha a vasilha de 9 litros;

8 8 Algoritmos - exemplo 3 (2) Usando a vasilha de 9 litros, encha a vasilha de 4 litros; (3) Despeje o que sobrou na vasilha de 9 litros (5 litros) na terceira vasilha. Observe que falta um litro para completar os seis litros; (4) Esvazie a vasilha de 4 litros; (5) Torne a encher a vasilha de 9 litros; (6) Usando a vasilha de 9 litros encha a vasilha de 4 litros; (7) Esvazie a de 4 litros; (8) Usando o que restou na vasilha de 9 litros (5 litros), encha novamente a vasilha de quatro litros; (9) Despeje o que sobrou na vasilha de 9 litros (1 litro) na terceira vasilha, que agora tem 6 litros.

9 Algoritmos - exemplo 4 Problema – Considere cinco rãs estão posicionadas em seis casas da seguinte maneira: rã 1 rã 2 rã 3 rã 4 rã 5 Faça um algoritmo que mostre como as rãs podem chegar a seguinte posição final: rã 5 rã 4 rã 3 rã 2 rã 1

10 1010 Algoritmos - exemplo 4 As rãs foram treinadas para trocar de casas, mas sempre obedecendo as seguintes regras: - elas podem pular para a casa vizinha (frente ou trás), se ela estiver vazia; - elas podem pular sobre a rã vizinha para uma casa livre (frente ou trás).

11 1111 Algoritmos - exemplo 4

12 1212 Algoritmos - exemplo 5 Um algoritmo que inclua decisões, como o que fazer em um domingo poderia ser o seguinte: (1) Acordar. (2) Tomar o café. (3) Se estiver sol vou à praia senão leio o jornal e assisto TV (4) Almoçar. (5) Ir ao cinema. (6) Fazer uma refeição e comer (7) Ir dormir.

13 Reflexões sobre os exemplos
1313 Reflexões sobre os exemplos Os algoritmos referidos devem ser executados por um ser humano com alguns níveis de conhecimento. O computador não entenderia a instrução Bater duas claras nem Tomar o café. Quais são as instruções que o computador entende para podermos trabalhar com algoritmos para serem executados por um computador? Conheçamos a seguir alguns conceitos básicos sobre computador.

14 1414 Conceitos Básicos Computadores – máquinas capazes de solucionar problemas, mas que só agem quando recebem instruções nos mínimos detalhes. A tarefa principal dos computadores é o processamento de dados, ou seja, receber dados (entrada), realizar operações (processamento propriamente dito) e gerar uma resposta (saída).

15 Estrutura de um computador
1515 Conceitos Básicos Estrutura de um computador MEMÓRIA UNIDADE DE ENTRADA UNIDADE DE SAIDA UNIDADE DE CONTROLE UNIDADE LÓGICA E ARITMÉTICA Unidade Central de Processamento (UCP)

16 1616 Conceitos básicos Unidade de entrada – Traduz informação de um dispositivo de entrada em um código que a UCP entende (padrões de pulsos elétricos compreensíveis ao computador). Unidade de saída – converte os dados processados, de pulsos elétricos em palavras ou números que podem ser escritos em vídeos ou outros dispositivos de saída. Exemplos ue: Teclado drive de CD / DVD-ROM, pen drive.

17 Conceitos básicos 1717 joystick, câmera filmadora, câmera digital,
tela sensível ao toque, mesa gráfica, caneta ótica, etc. Exemplos de us Vídeo Impressora drive de CD/DVD-ROM, pen drive caixa de som, etc.

18 1818 Conceitos básicos Memória – armazena os dados e o próprio programa. Número finito de localizações que são identificadas por meio de um único endereço. 1000 1003 1004 1005 1006 1007 1008 1009 1010 1001 1002 Read/Write CPU Endereço Dados Escrita – CPU envia endereço da posição de memória a ser escrita e dados a escrever. Leitura – CPU envia endereço da posição de memória a ser lida e recebe dados.

19 1919 Conceitos básicos Unidade lógica e aritmética – São executadas operações matemáticas de adição, multiplicação e divisão e operações lógicas como conjunção, disjunção, ou exclusivo e outras. Unidade de controle – Responsável pelo “tráfico” de dados. Controla a transferência de dados da memória para a unidade lógica e aritmética, da entrada para a memória e da memória para a saída.

20 Algoritmos – Método de Construção
2020 Algoritmos – Método de Construção entender o problema; definir os dados de entrada; definir o processamento; definir os dados de saída; construir o algoritmo usando descrição narrativa, fluxograma ou pseudocódigo; realizar testes.

21 Algoritmos - Características
2121 Algoritmos - Características Finitude: algoritmos devem terminar após um número finito de passos; Definição: cada passo deve ser precisamente definido Entradas: devem ter zero ou mais entradas Saídas: devem ter uma ou mais saídas; Efetividade: todas as operações devem ser simples de modo que possam ser executadas em um tempo limitado.

22 Algoritmos - Dificuldades
2222 Algoritmos - Dificuldades Difícil para iniciantes saber o que o computador pode ou não fazer Criação de algoritmos é um processo não automático e tem muito de arte Pode haver mais de uma solução para um problema.

23 Algoritmos - Representação
2323 Algoritmos - Representação Linguagem natural ou descrição narrativa: Algoritmos expressos diretamente em linguagem natural como as receitas. Fluxograma: representação gráfica Pseudo-código (pseudo-linguagem): linguagem intermediária entre linguagem natural e linguagem de programação.

24 Algoritmos - Representação
2424 Algoritmos - Representação Descrição narrativa Escrever, usando linguagem natural, os passos a serem seguidos para a solução. Vantagens – a linguagem natural já é bastante conhecida. Não é necessário aprender nenhum conceito novo. Desvantagens – possibilidades de várias interpretações, gerando dificuldade na codificação.

25 Algoritmos – exemplo 1 Calcular a área de um retângulo. 2525
Dados de entrada base e altura Processamento (cálculo) Área do retângulo = base x altura Dados de saída Área do retângulo

26 Algoritmos – Representação
2626 Algoritmos – Representação Exemplo 1 – Descrição narrativa Passo 1 – Ingressar largura do retângulo Passo 2 – Ingressar altura do retângulo Passo 3 – Multiplicar a largura pela altura Passo 4 – Mostrar o resultado da multiplicação

27 2727 Algoritmos – exemplo 2 Calcular a média ponderada de um aluno e verificar a sua aprovação em relação a uma média pré-definida para aprovação. 5 notas e 5 pesos devem ser considerados. Dados de entrada notas e pesos correspondentes, média para aprovação Processamento (cálculo) Média do aluno = [(N1 x P1) + (N2 x P2) (N5 x P5)] / (P1 + P P5) Se média do aluno for maior ou igual à média para aprovação, aluno aprovado. Caso contrário, aluno reprovado. Dados de saída Média do aluno, aprovação

28 Algoritmos – Representação
2828 Algoritmos – Representação Exemplo 2 – Descrição narrativa Passo 1 – Ingressar pesos Pi e notas Ni Passo 2 – Ingressar media referência MF Passo 3 – Calcular a média ponderada usando MA = [(N1 x P1) + (N2 x P2) (N5 x P5)] / (P1 + P P5) Passo 4 – Se MA>=MF COND=Aprovado senão COND=Reprovado Passo 5 – Mostrar MA e COND

29 Algoritmos - Representação
2929 Algoritmos - Representação Fluxograma Descrição dos passos para a resolução do problema utilizando símbolos gráficos definidos previamente. Vantagens – entendimento mais fácil do que a leitura de textos. Desvantagens – necessidade de aprender a simbologia. Poucos detalhes, dificultando a codificação.

30 Algoritmos - Representação
3030 Algoritmos - Representação Fluxograma – símbolos utilizados Início e fim do algoritmo Sentido do fluxo de dados Cálculos e atribuição de valores Entrada de dados Saída de dados Tomada de decisão

31 Algoritmos - Representação
3131 Algoritmos - Representação Exemplo 1 – Fluxograma Início b, h A = b * h A Fim

32 Algoritmos - Representação
3232 Algoritmos - Representação Exemplo 2 – Fluxograma Início p1,p2,p3,p4,p5,N1,N2,N3,N4,N5,MR MA = [(N1 x P1) + (N2 x P2) (N5 x P5)] / (P1 + P P5) F MA>=MR V Cond=R Cond=A A Fim MA, Cond

33 Algoritmos - Representação
3333 Algoritmos - Representação Pseudocódigo (portugol) Descrição dos passos a serem seguidos através de regras definidas previamente. Vantagens – codificação mais rápida. Desvantagens – necessidade de aprender o pseudocódigo.

34 Algoritmos – Representação por pseudocódigo
3434 Algoritmos – Representação por pseudocódigo Símbolos e palavras utilizadas (convenção nossa) Cálculos e atribuição de valores Entrada de dados leia Saída de dados escreva Tomada de decisão (1 vez) Se … então... Senão... Tomada de decisão (repetidas vezes) Enquanto … faça F V V

35 Algoritmos – Representação por pseudocódigo
3535 Algoritmos – Representação por pseudocódigo Exemplo 1 ALGORITMO Inicio escreva “Informe a largura do retângulo” leia b escreva “Informe a altura do retângulo” leia h a ← b * h escreva “Área = ”, a Fim

36 Algoritmos – Representação por pseudocódigo
3636 Algoritmos – Representação por pseudocódigo Exemplo 2 – ALGORITMO Inicio escreva “Informe Média de referência” Leia MF Contador←1,somaproduto←0, somapesos←0 Enquanto contador<=5 escreva “Informe nota(contador)” leia n(contador) escreva “Informe peso(contador)” leia p(contador) somaproduto← p(contador)*n(contador)+somaproduto somapesos← p(contador)+somapesos contador←contador+1 MA<-somaproduto/somapesos

37 Algoritmos – Representação por pseudocódigo
3737 Algoritmos – Representação por pseudocódigo Exemplo 2 – Se MA>=MF então Cond←“Aprovado“ Senão Cond←“Reprovado“ escreva MA, Cond Fim


Carregar ppt "Algoritmos e Estruturas de Dados I - Introdução"

Apresentações semelhantes


Anúncios Google