Escola Secundária da Boa Nova 2013
Aplicações informáticas – Ensino da programação
Sumário: Algoritmos de ordenação – Ordenação por seleção.
Implementação do algoritmo de ordenação por seleção no Scratch.
Objetivos:
•
•
•
•
Esclarecer porque são usados os algoritmos de ordenação
Definir o que é a ordenação
Esclarecer como é feita a ordenação utilizando o algoritmo de seleção
Implementar o algoritmo de ordenação por seleção no Scratch;
• Em vários momentos do dia a dia, deparamo-nos com a necessidade de consultar
dados ordenados. Vamos tomar como exemplo uma lista telefónica. Imaginem
como seria consultar o telefone de alguém se os nomes não estivessem ordenados
por ordem alfabética.
• Uma das atividades mais utilizada na computação é a ordenação.
• As ordenações mais utilizadas são as numéricas e as alfabéticas.
• Existem diversos algoritmos para ordenação. Nesta aula será apresentada a
implementação do algoritmo de seleção
“Ordenar corresponde ao processo de rearranjar um conjunto de objetos
em ordem ascendente ou descendente. O objetivo principal da ordenação
é facilitar a recuperação posterior de itens do conjunto ordenado. ...A
atividade de colocar as coisas em ordem está presente na maioria das
aplicações em que os objetos armazenados têm de ser pesquisados e
recuperados...”
Nivio Ziviani. Projeto de Algoritmos com implementação em C++ e Java.
THOMSON Learning, São Paulo, 1st edition, 2007
Provavelmente é o algoritmo mais
intuitivo:
– Encontrar o mínimo da lista
– Trocar com o primeiro elemento
– Continuar para os restantes
elementos da lista (excluindo o
primeiro)
5
4
7
10
2
2
4
7
10
5
2
4
7
10
5
2
4
5
10
7
2
4
5
7
10
Para i desde 1 até N-1 fazer:
pos_min
i
Para j desde i+1 até N fazer:
Se (Lista[j] < Lista[pos_min]) entao
pos_min
j
Se Lista[pos_min] > Lista[i], troca os conteúdos da seguinte forma:
aux
V[pos_min]
V[pos_min]
V[i]
V[i]
aux
Cria um programa no Scratch
que permita ordenar os
dados de uma lista de valores
numéricos por ordem
crescente.
Dicas:
• Apenas podes ter uma lista de valores
(poupar memória!)
• Cria duas variáveis uma para guardar o
mínimo e outra auxiliar para efetuar a
troca dos valores
• Vais ter de dois ciclos um dentro do
outro, pelo que necessitas de dois
contadores: i,j
• No início inicia o relógio de forma a
registares quanto tempo demora o
algoritmo a ordenar os valores
No final envia para a Moodle a lista
ordenada com o nome de ficheiro:
lista_selecao_nome_numero.sb
Download

07-02-2013 - WordPress.com