Aula02 EspecificacaoAlgoritmos
843 palavras
4 páginas
2. Especificação de AlgoritmosFormas 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