Algoritmos e Estruturas de Dados I – Refinamentos Sucessivos

Slides:



Advertisements
Apresentações semelhantes
Aquiles Burlamaqui AULA 09
Advertisements

Algoritmos.
Recursividade Prof. Alex F. V. Machado
Visualg. Definição É um programa que executa algorítmos em forma de cálculos e a linguagem utilizada por ele é o Portugal, que é uma adaptação da linguagem.
Introdução a Programação Renata Freire
Estruturas de repetição
Algoritmos e Programação Estruturada Conceitos básicos
Introdução a Informática
Formas de representação de algoritmos
THOBER CORADI DETOFENO, MSC. Aula 07
Universidade Federal do Espírito Santo
Formas de Representação de Algoritmos
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Algoritmos Computacionais ( Programas )
Estrutura de dados, pseudocódigo
Construção de Algoritmos AULA 03
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
Algoritmo de Programação
PCI- Introdução à Computação
Introdução a Programação
Fábio de Oliveira Borges
Prof: Luiz Carlos Zancanella :: INE / UFSC-SC 1 INE 5201 – Aula 002 Algoritmo Um conjunto de ações, com propriedades especiais e específicas e com algumas.
Linguagem de programação
Algoritmos e Estruturas de Dados I – Recursão
Algoritmos e Estruturas de Dados I – Ponteiros
Algoritmos e Estruturas de Dados I – Recursão
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Profa. Mercedes Gonzales Márquez
Algoritmos e Estruturas de Dados I – Estrutura Condicional
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Universidade do Vale do Rio dos Sinos - São Leopoldo -
PCI- Estrutura de Repetição
Introdução a Sistemas de Informação
Algumas notas sobre a linguagem de programação C
Fábio de Oliveira Borges
Programação I CH: 60h Créditos: 3 Prof Me. Tiago Araujo.
Algoritmos e Estruturas de Dados I – Estruturas de Dados
Prof. Guilherme Amorim 29/10/2013
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Algoritmos e Estruturas de Dados I – Estrutura de Repetição
FACULDADE DE CIÊNCIAS SOCIAIS E TECNOLÓGICAS Tecnologia em Redes de Computadores Algoritmos e linguagens de programação 1 (aula 11) Prof. Alessandro Bernardo.
Profa. Mercedes Gonzales Márquez
Algoritmos e Estruturas de Dados I - Introdução
Algoritmos e Estruturas de Dados I – Estrutura Condicional
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo III Comandos de Controle.
Como analisar um algoritmo
Introdução à Programação Aula Prática 2 Operadores e Comandos Condicionais Monitoria
Fundamentos de linguagens de programação
Algoritmos.
Operações Aritméticas AULA 3 Análise de Algoritmos Pós-graduação em Ciência da Computação – UFU Profa. Sandra de Amo.
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Profa. Mercedes Gonzales Márquez
Introdução a Programação
Algoritmos Prof.: Carlos Alberto
Professor: André Didier Autor: Francisco Airton
Exercícios (Algoritmo Narrativo, Fluxograma e Pseudocódigo) RESOLVIDO
Algoritmos e Estruturas de Dados I – Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Informática e Computação Aula Estrutura de Repetição
Linguagens de Programação
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
Visualg.
Algoritmos e Estruturas de Dados I - Introdução
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
Sistemas para Internet Algoritmos e Lógica de Programação
DESENVOLVIMENTO Prof: Marcelo West Disciplina: Lógica de Programação.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de programação Introdução à lógica de programação
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Algoritmos e Estruturas de Dados I – Refinamentos Sucessivos Profa. Mercedes Gonzales Márquez

Refinamento sucessivos Um algoritmo é considerado completo se os seus comandos forem do entendimento do seu destinatário. Um comando que não for do entendimento do usuário terá de ser desdobrado em novos comandos, que constituirão um refinamento do comando inicial.

Refinamento sucessivos Exemplo 1 (bem simples): O algoritmo para calcular a média aritmética de dois números pode ser desdobrado da seguinte forma: Algoritmo CALCULA_MÉDIA Receba os dois números Calcule a média dos dois números Exiba o resultado

Refinamento sucessivos Podemos desdobrar o comando “Calcule a média dos dois números” em: Soma os dois números Divida o resultado por 2 Após esse refinamento, o algoritmo pode ser considerado completo, a menos que o destinatário não saiba fazer as operações de adição e divisão, ou não seja capaz de entender diretamente algum comando

Refinamento sucessivos O algoritmo estando completo, podemos reescrevê-lo, inserindo o refinamento na posição do comando que foi refinado. Assim: Algoritmo (“visão global”) 1. Receba os dois números 2. Soma os dois números 3. Divida o resultado por 2 4. Exiba o resultado

Refinamento sucessivos À medida que um algoritmo se torna maior e mais complexo, a sua “visão global” torna-se menos clara e, neste caso, um algoritmo apresentado com os refinamentos sucessivos separados torna-se uma melhor abordagem para quem precisar entendê-lo.

Refinamento sucessivos Exemplo 2: O algoritmo para escrever os termos de Fibonacci inferiores a L poderia ser desdobrado em: Algoritmo 1. Receba o valor L 2. Processe os dois primeiros termos 3. Processe os termos restantes

Refinamento sucessivos 1. Receba o valor L Leia (L) 2. Processe os dois primeiros termos Se L>1 T1 ← 1 (*) T2 ← 1 Escreva T1,T2 * Veremos nas próximas aulas que o símbolo ← será usado na representação de PseudoCódigo para representar atribuição de dados.

Refinamento sucessivos 3. Processe os termos restantes Fib ← T1+T2 Enquanto Fib<L então Escreva Fib T1 ← T2 T2 ← Fib Fim enquanto

Refinamento sucessivos Juntando os refinamentos temos a visão global do algoritmo completo. Leia L T1 ← 1 T2 ← 1 Se T1<L então Escreva T1,T2 Fib ← T1+T2 Enquanto Fib<L então Escreva Fib T1 ← T2 T2 ← Fib Fim enquanto

Refinamento sucessivos Exemplo 3: Leia três valores inteiros, determine e imprima o menor deles. Algoritmo 1. Leia os números 2. Determine o menor número 3. Escreva o menor número

Refinamento sucessivos 1. Leia os números Leia A,B,C 2. Determine o menor número Se A<B e A<C então Menor ← A Senão Determine o menor dentre B e C Fim se

Refinamento sucessivos 3. Determine o menor dentre B e C Se B<C então Menor ← B Senão Menor ← C Fim se 4. Escreva o menor número Escreva Menor

Refinamento sucessivos Juntando os refinamentos temos a visão global do algoritmo completo Leia A,B,C Se A<B e A<C então Menor ← A Senão Se B<C então Menor ← B Menor ← C Fim se Escreva Menor