Buscar

Aula 02 Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Mariá Cristina Vasconcelos Nascimento
Aula 2 – Algoritmos: pseudocódigos e 
fluxogramas
Noções de lógica
 Colocar ordem no pensamento
 Correção do pensamento
 Exemplo de silogismos no estudo da Lógica Proposicional.
 Exemplos:
Todo mamífero é um animal.
Todo cavalo é um mamífero.
Portanto, todo cavalo é um animal.
Usando a lógica
 Um missionário foi capturado por canibais em uma floresta. 
Os canibais então lhe fizeram a seguinte proposta:
Se fizer uma declaração verdadeira, será cozido com batatas.
Se fizer uma declaração falsa, será assado na churrasqueira.
 Usando a lógica, como foi que o missionário evitou as duas 
situações?
Usando a lógica
 Um missionário foi capturado por canibais em uma floresta. 
Os canibais então lhe fizeram a seguinte proposta:
Se fizer uma declaração verdadeira, será cozido com batatas.
Se fizer uma declaração falsa, será assado na churrasqueira.
 Usando a lógica, como foi que o missionário evitou as duas 
situações?
 Ele disse: “Serei assado na churrasqueira”.
Mas e a lógica de programação?
 O uso correto das leis do pensamento, da “ordem da razão”
 Objetivo: O desenvolvimento de técnicas que cooperem 
para a produção de soluções logicamente válidas e coerentes
 Resolvam com qualidade os problemas que se deseja 
programar
Lógica de Programação
 Assim como utilizamos as palavras para expressar o raciocínio 
no dia-a-dia, existem as linguagens de programação
 Entretanto, as linguagens de programação estão atreladas a 
uma grande diversidade de detalhes computacionais, que 
pouco tem a ver com o raciocínio original.
 Para representar mais fielmente o raciocínio da Lógica de 
Programação, utilizamos os Algoritmos.
O que é um algoritmo?
 É uma sequência de passos que visam a atingir um objetivo 
bem definido.
 Para especificar uma sequência de passos, é necessário pensar 
com ordem.
O que é preciso para descrevermos um bom 
algoritmo?
 Especificar ações claras e precisas que a partir de um estado 
inicial e após um período de tempo finito produzem um estado 
final previsível e bem definido.
 Isso significa que o algoritmo fixa um padrão de 
comportamento a ser seguido, uma norma de execução a ser 
trilhada.
 Visa a solução de um problema garantindo que sempre que 
executado, sob as mesmas condições, produza o mesmo 
resultado.
Algoritmizando a Lógica
 Uma vez concebida uma solução algorítmica para um 
problema, esta pode ser traduzida para qualquer linguagem 
de programação
 Agregar funcionalidades - codificação
Algoritmos para computadores
 Numéricos e não-numéricos
 Antes, calculadora, hoje processador de informações
Pseudocódigo
 Def. Um algoritmo é formalmente uma sequência finita de 
passos que levam à execução de uma tarefa.
 Por exemplo:
 “Somar dois números quaisquer”. 
• Escreva o primeiro número no retângulo A 
• Escreva o segundo número no retângulo B 
• Some o número do retângulo A com número do retângulo 
 B e coloque o resultado no retângulo C
Exemplo de Pseudocódigo
Trocar_Lampada_Queimada{
 Se(houver na dispensa lâmpada boa de mesma 
potência)
 Pegar a lâmpada;
 Senão Comprar lâmpada de mesma potência;
 Posicionar a escada abaixo do bocal da lâmpada;
 Subir na escada até alcançar a lâmpada;
 Girar a lâmpada no sentido anti-horário até soltá-
la;
 Posicionar a nova lâmpada no bocal;
 Girá-la no sentido horário até prendê-la;
 Descer da escada;
} 
Algoritmo do método de Báskara
RaízesEquação2Grau(A,B,C){
 Ler (A,B,C);
 Delta  B2-4*A*C;
 Se (Delta >=0){
 x1 ;
 x2 ;
 Imprimir(X1,X2);
 }
 Senão {
 Real ;
 Imag ;
 Imprimir( Real+Imag, Real – Imag)
 }
}
Exercícios
1) Identifique os dados de entrada, processamento e saída no algoritmo 
abaixo 
 Receba código da peça 
 Receba valor da peça 
 Receba Quantidade de peças 
 Calcule o valor total da peça (Quantidade * Valor da peça) 
 Mostre o código da peça e seu valor total 
2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, 
sendo que 
ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE 
MÁXIMA) /2 
3) Teste o algoritmo anterior com dados definidos por você. 
Exercício
 Escrever o algoritmo para o cálculo do fatorial de um 
número.
Fluxograma
 Um algoritmo pode ser representado de forma textual e na 
forma gráfica.
 Saliba (2003) define fluxograma como sendo uma 
representação gráfica de algoritmos
 Nela, formas geométricas diferentes implicam diferentes 
instruções
 Facilta o entendimento das idéias
Exemplo de fluxograma:
cálculo de médias
Fluxograma
Seta de fluxo de dados
Indica o sentido do fluxo de dados. Serve para 
conectar os blocos existentes
O símbolo: Entrada de Dados
 Exibe a variável onde será armazenado/guardado o valor 
informado pelo usuário
 Sem aspas
Valor1
O símbolo: Processamento
 Fornece recursos para que as operações sejam feitas e 
representadas
 Operações matemáticas, de atribuição.
SOMA:= Valor1+Valor2
O símbolo: Exibir Tela
 Pode mostrar ao usuário textos e variáveis;
 Uma variável é uma palavra que representa o endereço de 
memória onde determinado valor está armazenado
“A soma é”, 
SOMA
Fluxograma - sistemática
 Como construir um fluxograma?
 Qual a disposição das instruções?
Fluxograma - sistemática
 Como construir um fluxograma?
 Qual a disposição das instruções?
 Da esquerda para a direita, de cima para baixo.
 Primeiros a serem trabalhados serão os de resolução 
sequencial, sem desvios, nem repetições -> + simples
“A soma é”, 
SOMA
SOMA:= 
Valor1+Valor2
Valor2
Valor1
Início
Fim
Exercício para casa
 Escrever o pseudocódigo do fluxograma anterior.
Exemplo 2
 Escreva um pseudocódigo e seu respectivo fluxograma para a 
seguinte instrução: comer um bombom (que esteja 
embrulhado).
Uma Resposta - pseudocódigo
Comer_bombom{
 Pegar o bombom
 Retirar toda a sua embalagem
 Colocar esse bombom na boca 
 Comer
 Jogar o papel no lixo
}
Fluxograma correspondente
Início
Pegar o 
bombom
Retirar toda a 
sua embalagem
Colocar esse 
bombom na 
boca 
Comer o 
bombom
Jogar o papel 
fora
Fim
Outros símbolos
Símbolo Significado Instrução
Desvio Condicional Indica tomada de decisão. 
Divide o fluxo em dois 
caminhos
Conector Serve para identificar o 
limite de um laço de 
repetição.
Repetição com variável de 
controle
Usado especificamente 
para o comando de 
repetição
Repetição com teste 
lógico no início
Usado para o comando de 
repetição com teste 
lógico no início
Repetição com teste 
lógico no final
Usado para o comando de 
repetição com teste 
lógico no final
Declaração Usado para as declarações 
de variáveis, tipos e 
constantes
Resoluções condicionais
 Condição em que decisões devem ser tomadas dependendo 
da avaliação da condição
Início
Fim
Exercícios
1. Escrever o fluxograma anterior em forma de pseudocódigo
2. Escrever o algoritmo do método de Báskara em forma de 
fluxograma.
3. Escrever o fluxograma para o cálculo do faterial de um 
número.
Teste de mesa em fluxogramas
 Para verificarmos a lógica de um fluxograma é preciso fazer 
um teste chamado Teste de Mesa ou de Programa.
 Esse teste permite identificar a existência de erros de lógica.
 Geralmente, criam-se os dados, entra-se no fluxograma e, ao 
término, tem-se os resultados desta execução
 Esses resultados podem ser comparados e analisados se estão 
corretos de acordo com os objetivos do programa.
Exercício
Propriedade dos bons algoritmos
 Tempo de execução finito qualquer que seja a sua entrada de 
dados.
Comandos definidos sem ambiguidade ou imprecisão. 
Exemplo: Se (um número for pequeno), então....
 Comandos efetivos – passíveis de execução. Exemplo de 
comando não efetivo: Se chover semana que vem, esta 
semana levo meu guarda-chuva para o conserto.
 Início e término dos algoritmos (únicos)
 Entrada de informação e saída de resultados.
 Algoritmos amigáveis, bem estruturados e de fácil correção.
Exercício
Referências Bibliográficas
 E. C. de Araújo. (2007) Algoritmos: Fundamentos e Práticas. 
Visual Books
 P. S.Moraes, Curso Básico de Lógica de Programação, 
Unicamp, Centro de Computação.
 W.L.C. Saliba (1993) Técnicas de Programação: Uma 
abordagem estruturada. Makron Books.
 Forbellone e Eberspacher, Lógica de Programação, 3 edição.
Referências Bibliográficas
 P. S.Moraes, Curso Básico de Lógica de Programação, 
Unicamp, Centro de Computação.
	Slide 1
	Noções de lógica
	Usando a lógica
	Usando a lógica
	Mas e a lógica de programação?
	Lógica de Programação
	O que é um algoritmo?
	O que é preciso para descrevermos um bom algoritmo?
	Algoritmizando a Lógica
	Algoritmos para computadores
	Pseudocódigo
	Exemplo de Pseudocódigo
	Algoritmo do método de Báskara
	Slide 14
	Exercício
	Fluxograma
	Exemplo de fluxograma: cálculo de médias
	Fluxograma
	O símbolo: Entrada de Dados
	O símbolo: Processamento
	O símbolo: Exibir Tela
	Fluxograma - sistemática
	Fluxograma - sistemática
	Slide 24
	Exercício para casa
	Exemplo 2
	Uma Resposta - pseudocódigo
	Fluxograma correspondente
	Outros símbolos
	Resoluções condicionais
	Slide 31
	Slide 32
	Exercícios
	Teste de mesa em fluxogramas
	Exercício
	Propriedade dos bons algoritmos
	Exercício
	Referências Bibliográficas
	Slide 39

Continue navegando