Aula02 EspecificacaoAlgoritmos

843 palavras 4 páginas
2. Especificação de Algoritmos
Formas de especificar algoritmos
Exemplo 1: máximo de uma lista
Exemplo 2: ordenação por inserção

2. Especificação de Algoritmos
- Formas de especificar algoritmos
Formas de especificar algoritmos:
Linguagem natural
Modelo gráfico (fluxogramas)
Pseudo-linguagem
Linguagem de programação

-2-

2. Especificação de Algoritmos
- Formas de especificar algoritmos
Dois exemplos bem simples:
Problema 1 – Obter o valor máximo de uma lista
Determinar o maior valor em uma lista constituída de n valores x0 , x1 , x2 , … , xn−−1. .

Problema 2 – Ordenar uma lista
Reordenar os elementos de uma lista constituída de n valores x0 , x1 , x2 , … , xn−−1 de modo que x0 ≤ x1 ≤ x2 ≤ … ≤ xn−−1 após a reordenação.
-3-

2. Especificação de Algoritmos
- Exemplo 1: máximo de uma lista
Determinar o maior dentre n valores x0 , x1 , x2 , … , xn−1
Fluxograma
x0,x1,x2,…,xn-1

Linguagem Natural

aux ← x0 i ← 1

1. Obter a lista de valores x0,x1,x2,…,xn-1 ;
2. Gravar o primeiro elemento da lista (x0) em uma variável auxiliar; 3. Percorrer a lista do segundo elemento em diante (x1 a xn-1) sobrescrevendo a variável auxiliar sempre que o valor lido da lista for maior;
4. Retornar o valor final gravado na variável auxiliar.

i < n i←i+1 não

sim xi > aux sim aux ← xi aux -4-

não

Pseudo-Linguagem obter x0,x1,x2,…,xn-1 aux ← x0 para i=1,2,…,n-1 se xi > aux, aux ← xi retornar aux

Linguagem de Programação double max(double[] x, int n)
{
double aux = x[0]; for (int i = 1; i < n; i++)
{
if (x[i] > aux) aux = x[i];
}
return aux;
}

2. Especificação de Algoritmos
- Exemplo 2: ordenação por inserção
Ordenação por Inserção
É o algoritmo de ordenação utilizado intuitivamente pela maioria das pessoas ao ordenar cartas de baralho.

-5-

2. Especificação de Algoritmos
- Exemplo 2: ordenação por inserção
Ordenação por Inserção
Especificação em Linguagem Natural

0

2.1. Copiar o elemento xP para um variável auxiliar; 2.2. Percorrer os antecessores de xP de trás pra frente

Relacionados