algoritmos e estruturas de dados i - introdução profa. mercedes gonzales márquez
TRANSCRIPT
![Page 1: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/1.jpg)
Algoritmos e Estruturas de Dados I - Introdução
Profa. Mercedes Gonzales Márquez
![Page 2: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/2.jpg)
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).
![Page 3: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/3.jpg)
Conceitos Básicos
MEMÓRIA
UNIDADE DE
ENTRADA
UNIDADEDE
SAIDA
UNIDADE DE
CONTROLE
UNIDADELÓGICA E
ARITMÉTICA
Unidade Central de Processamento (UCP)
Estrutura de um computador
![Page 4: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/4.jpg)
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.
![Page 5: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/5.jpg)
Conceitos básicos
– 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.
![Page 6: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/6.jpg)
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
1002Read/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.
![Page 7: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/7.jpg)
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.
![Page 8: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/8.jpg)
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.
![Page 9: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/9.jpg)
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.
![Page 10: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/10.jpg)
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.
![Page 11: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/11.jpg)
Problemas mais complexos solucionados por algoritmos
- A internet permite que pessoas espalhadas por todo o mundo acessem e obtenham com rapidez grandes quantidades de informações. Para isso, são empregados algoritmos inteligentes com a finalidade de gerenciar e manipular esse grande volume de dados. Os exemplos de problemas que devem ser resolvidos incluem a localização de boas rotas pelas quais os dados viajarão e o uso de um mecanismo de pesquisa para encontrar com rapidez páginas em que residem informações específicas.
![Page 12: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/12.jpg)
Problemas mais complexos solucionados por algoritmos
- O comercio eletrônico permite que mercadorias e serviços sejam negociados e trocados eletronicamente. A capacidade de manter privativas informações como números de cartão de crédito, senhas e extratos bancários é essencial para a ampla utilização do comercio eletrônico. A criptografia de chave pública e as assinaturas digitais estão entre as tecnologias centrais utilizadas e se baseiam em algoritmos numéricos e na teoria dos números.
![Page 13: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/13.jpg)
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.
![Page 14: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/14.jpg)
Algoritmos - exemplo 2
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
![Page 15: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/15.jpg)
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;
![Page 16: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/16.jpg)
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.
![Page 17: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/17.jpg)
Algoritmos - exemplo 4
Problema – Considere cinco rãs estão posicionadas em seis casas da seguinte maneira:
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
rã 1 rã 2 rã 3 rã 4 rã 5
![Page 18: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/18.jpg)
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).
![Page 19: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/19.jpg)
Algoritmos - exemplo 4
![Page 20: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/20.jpg)
Algoritmos - exemplo 5
Algoritmo – um algoritmo que inclua decisões, como o que fazer em um domingo. Um possível algoritmo 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.
![Page 21: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/21.jpg)
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.
![Page 22: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/22.jpg)
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.
![Page 23: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/23.jpg)
Algoritmos – exemplo 1
Calcular a área de um retângulo. Dados de entrada
base e altura
Processamento (cálculo) Área do retângulo = base x altura
Dados de saída Área do retângulo
![Page 24: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/24.jpg)
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. n notas e n 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) + ... + (Nn x Pn)] / (P1 + P2 + ... + Pn)
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
![Page 25: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/25.jpg)
Algoritmos – exemplo 3
Encontre o MDC de dois números A e B. Dados de entrada
Os números A e B Processamento (cálculo)dividendo = a; divisor = benquanto resto(dividendo/divisor) ≠ 0 c = resto(dividendo/divisor) dividendo = divisor divisor = c Dados de saída
divisor.
![Page 26: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/26.jpg)
Algoritmos – exemplo 4
Escreva os termos da sequência de Fibonacci inferiores a L. Dados de entrada
O número L Processamento (cálculo)
Atribua 1 ao primeiro termo. Se 1 for menor que L escreva-o. Atribua 1 ao segundo termo. Se 1 for for menor que L escreva-o. Some primeiro e segundo termo e escreva. enquanto a soma for menor que L, atualize o primeiro e segundo
termo e repita o último passo
Dados de saída Todos os termos inferiores a L.
![Page 27: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/27.jpg)
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.
![Page 28: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/28.jpg)
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.
![Page 29: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/29.jpg)
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
![Page 30: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/30.jpg)
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) + ... + (Nn x Pn)] / (P1 + P2 + ... + Pn)
� Passo 4 – Se MA>=MF COND=Aprovado senão
COND=Reprovado
Passo 5 – Mostrar MA e COND
![Page 31: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/31.jpg)
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.
![Page 32: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/32.jpg)
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
![Page 33: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/33.jpg)
Algoritmos - Representação
Exemplo 1 – Fluxograma
Início
Fim
b, h
A = b * h
A
![Page 34: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/34.jpg)
Algoritmos - Representação
Exemplo 2 – Fluxograma
Início
Fim
n,pi,Ni,MR
MA = [(N1 x P1) + (N2 x P2) + ... + (Nn x Pn)] / (P1 + P2 + ... + Pn)
AMA>=MR Cond=ACond=R
VF
MA, Cond
![Page 35: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/35.jpg)
Algoritmos - Representação Exemplo 2 – Fluxograma – Maior detalhe
Início
Fim
P(cont),N(cont)
MA = [(N(1) x P(1) + N(2) x P(2) + ... + (N(n) x P(n)] / (P1 + P2 + ... + Pn)
MA>=MR Cond=ACond=R VF
MA, Cond
Cont<=n
Cont=1 n, MR
Cont=cont+1
V
F
![Page 36: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/36.jpg)
Algoritmos - Representação Exemplo 3 – Fluxograma –
Fim
F
dividendo=a, divisor=b
a,b
c=resto(dividendo/divisor)dividendo=divisor
divisor=c
V
resto(dividendo/divisor)<>0
Início dividendo=a, divisor=b
divisor
![Page 37: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/37.jpg)
Algoritmos - Representação Exemplo 4 – Fluxograma –
Início
FimFib<LF
T1<LT1=1, T2=1L
Fib=T1+T2
V
F
T1,T2
Fib
T1=T2T2=Fib
V
![Page 38: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/38.jpg)
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.
![Page 39: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/39.jpg)
Algoritmos – Representação por pseudocódigo
Símbolos e palavras utilizadas (convenção nossa)
Cálculos e atribuição de valores←
Entrada de dadosleia
Saída de dadosescreva
Tomada de decisão (1 vez)
Se … então... Senão...
Tomada de decisão (repetidas vezes)
Enquanto …faça
V
F
V
![Page 40: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/40.jpg)
Algoritmos – Representação por pseudocódigo
Exemplo 1ALGORITMO
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
![Page 41: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/41.jpg)
Algoritmos – Representação por pseudocódigo Exemplo 2 –
ALGORITMO
Inicio
escreva “Informe o número de notas”
leia n
escreva “Informe Média de referência”
Leia MF
Contador←1,somaproduto←0, somapesos←0Enquanto contador<=n
escreva “Informe nota(contador)”
leia n(contador)
escreva “Informe peso(contador)”
leia p(contador)
somaproduto← p(contador)*n(contador)+somaprodutosomapesos← p(contador)+somapesoscontador←contador+1
![Page 42: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/42.jpg)
Algoritmos – Representação por pseudocódigo
Exemplo 2 –
MA<-somaproduto/somapesos
Se MA>=MF então
Cond←“Aprovado“Senão
Cond←“Reprovado“escreva MA, Cond
Fim
![Page 43: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/43.jpg)
Algoritmos – Representação por pseudocódigo Exemplo 4 –ALGORITMO
Início
Leia L
T1←1, T2←1
Se (T1<L) então
escreva (T1,T2)
Fib←T1+T2
Enquanto (Fib<L) faça
escreva Fib
T1←T2
T2←Fib
Fib←T1+T2
Fim enquanto
Fim se
Fim
![Page 44: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/44.jpg)
Algoritmos - Representação
Exemplo 5 – Faça um algoritmo para calcular as raízes de uma equação do segundo grau da forma ax2+bx+c=0.
- As raízes podem ser calculadas pelas fórmulasx1=[-b+(b2-4ac)(1/2)]/(2a) e
x2=[-b-(b2-4ac)(1/2)]/(2a)- Não podemos somente aplicar a fórmulas.
Temos que considerar Por exemplo o que fazer se o valor do coeficiente a for igual a zero? Um possível algoritmo é o seguinte:
![Page 45: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/45.jpg)
Algoritmos – RepresentaçãoExemplo 5. Descrição Narrativa
Passo 1. Obter os coeficientes a, b e c
Passo 2. Se o coeficiente a for igual a zero informar que esta não é uma equação do segundo grau e terminar o algoritmo.
Caso contrário calcule delta=b2-4acPasso 3. Se o valor de delta for negativo informar que a equação não tem raízes reais e terminar o algoritmo.
Caso contrário calcule a raiz quadrada de delta e guarde oresultado como raiz
Passo 4. Calcule x1=(-b + raiz)/(2a)
Passo 5.Calcule x2=(-b - raiz)/(2a)
Passo 6. Mostrar x1 e x2
![Page 46: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/46.jpg)
Algoritmos – Representação
Exemplo 5. Passe a solução apresentada na representação narrativa para a descrição por fluxograma e por pseudocódigo.
![Page 47: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/47.jpg)
Exemplo 6: Leia três valores inteiros, determine e imprima o menor deles.
Algoritmos – RepresentaçãoExemplo 6. Descrição Narrativa
Passo 1. Obtenha os números a, b e c
Passo 2. Se a é o menor dos três, fazer menor=a
Caso contrário se b for menor que c fazer menor=b
Caso contrário menor=c
Passo 3. Mostrar menor
![Page 48: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/48.jpg)
Algoritmos – Representação
Exemplo 6. Passe a solução apresentada na representação narrativa para a descrição por fluxograma e por pseudocódigo.
![Page 49: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/49.jpg)
Algoritmos – RepresentaçãoExemplo 6. Descrição Pseudo-código
Leia A,B,C
Se A<B e A<C então
Menor ← A
Senão
Se B<C então
Menor ← B
Senão
Menor ← C
Fim se
Fim se
Escreva Menor
![Page 50: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/50.jpg)
Algoritmos – Representação
Exemplo 7. Considere o seguinte problema. Um escritório de previsão do tempo armazena diariamente a temperatura de uma determinada região. A tarefa é descobrir qual é a menor temperatura registrada nos arquivos do escritório durante um mês de 30 dias. Lembrar que temperaturas podem ser negativas ou positivas.
Um possível algoritmo seria o seguinte:
![Page 51: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/51.jpg)
Algoritmos – RepresentaçãoExemplo 7. Descrição Narrativa
Passo 1. Pegue a primeira temperatura registrada.
Passo 2. Anote esta temperatura como a menor de todas as temperaturas.
Passo 3. Enquanto ainda não ler as 30 temperaturas, execute repetidamente e em ordem todas as instruções numeradas abaixo:
Passo 4. Pegue a próxima temperatura.
Passo 5. Se esta temperatura for menor que àquela registrada no momento como a menor então jogue fora a anteriormente registrada e anote a nova temperatura como a menor de todas.
Passo 6. Pegue a temperatura que está anotada como a menor. Esta é a temperatura que estávamos procurando.
![Page 52: Algoritmos e Estruturas de Dados I - Introdução Profa. Mercedes Gonzales Márquez](https://reader036.vdocuments.com.br/reader036/viewer/2022062418/552fc13c497959413d8da75a/html5/thumbnails/52.jpg)
Algoritmos – Representação
Exemplo 7. Passe a solução apresentada na representação narrativa para a descrição por fluxograma e por pseudocódigo.