Você está na página 1de 4

SAEMOR – Sistema de Apoio ao Ensino de Métodos de

Ordenação de Dados

Cândice Corradi Kindel, Carlos Henrique Naimaier, Dieison Antonello


Depra,Fernanda Rispoli Quartieri, Jorge Alberto Messa Menezes Júnior, Ricardo
Brasiliense Rossi, Úrsula Lisbôa Fernandes Ribeiro
Pontifícia Universidade Católica do Rio Grande do Sul – Campus Universitário II, BR
472 Km 7
CEP 97500-970, Uruguaiana - RS – Brazil
{candy, naiemaier, depra, fernanda, menezesjr, rossi,
ursula}@pucrs.campus2.br

Resumo – Este artigo apresenta o SAEMOR, um software de apoio ao


ensino dos métodos básicos de ordenação (Inserção Direta, Seleção Direta e
Bubble Sort). Sua principal característica é apresentar de forma irreverente
o funcionamento de cada método. Além disso, permite que o usuário interaja
com o software, fazendo a ordenação passo a passo, testando assim o
conhecimento adquirido.

1. Introdução
Cada vez mais a necessidade de alta performance de sistemas computacionais torna-se
indispensável tanto para um bom funcionamento, quanto para sua aceitação no mercado.
Por exemplo, sistemas de classificação de nomes de uma lista telefônica devem usar um
bom algoritmo de ordenação. Portanto, é de vital importância, para o profissional da
área da computação, ter domínio das técnicas mais importantes de ordenação de dados.
Em virtude disso, foi desenvolvido este software de apoio, que auxiliará os
estudantes, através de uma interface amigável, com animações capazes de mostrar como
funciona de fato o método e não somente observar o resultado final deste.
É importante destacar, que as animações foram elaboradas para despertar o
interesse dos usuários, motivando o aprendizado.

2. Métodos
O SAEMOR, inicialmente, incorpora três tipos de métodos de ordenação: Seleção
Direta [1], Inserção Direta [1] e Bubble Sort [2].

• Seleção Direta: consiste em selecionar o primeiro elemento do arranjo, de


tamanho N, e trocá-lo com o elemento de menor valor no arranjo. Depois, se repete
esta operação para todos os demais elementos do arranjo até o elemento N-1.

• Inserção Direta: consiste em dividir o arranjo em duas partes, uma supostamente


ordenada e a outra não. A primeira composta, inicialmente, de apenas um elemento
e com o auxílio de uma variável auxiliar são feitas às comparações com o outro
arranjo. Na variável auxiliar é armazenado o valor do primeiro elemento do arranjo
desordenado, este é comparado com o arranjo ordenado. A partir dessa
comparação, é definida a posição correta da variável auxiliar no arranjo, com base
em deslocamentos (enquanto o valor da variável auxiliar procura um elemento com
o valor menor que o seu).

• Bubble Sort: compara elementos adjacentes. Caso o primeiro seja maior do que
o segundo, é feita uma troca entre eles, isto é feito para cada par de elementos
adjacentes, começando com os dois primeiros e terminando com os dois últimos.
Neste ponto o último elemento deve ser o maior de todos. As comparações são
feitas desta maneira repetidamente até que a ordenação esteja completa.

3. Funcionamento
O SAEMOR é um software que foi desenvolvido utilizando a ferramenta Macromedia
Flash 5 [3]. O funcionamento dos métodos é apresentado ao usuário através de
animações divertidas.
A tela inicial apresenta um menu para a escolha do método a ser estudado.

Figura 1. Tela inicial do SAEMOR.

Após ser feita a escolha do método de ordenação desejado será mostrada a tela
correspondente a cada método como mostrada nas figuras 2, 3 e 4.
A partir deste momento o usuário começa a interagir com o sistema, entrando
com os 6 (seis) valores a serem ordenados. Estes números podem ser quaisquer números
escolhidos pelo usuário nos métodos Seleção Direta e Bubble Sort, já no método de
Inserção Direta são escolhidas as cartas desejadas. Dados estes valores inicia-se a
execução do algoritmo independente do método escolhido.
Figura 2. Tela inicial do método de Seleção Direta.

Figura 3. Tela inicial do método de Inserção Direta.

Figura 4. Tela Inicial para o método de Bubble Sort.


Na fase de execução o funcionamento do método é apresentado passo a passo
através de animações e com explicações do que está sendo feito naquele momento,
como pode ser visto na figura 5.

Figura 5. Execução da ordenação no método Bubble Sort


Após a apresentação ser concluída, o sistema automaticamente realizará um teste
com o aluno, para ver realmente se o método foi entendido. Para isso será gerada uma
seqüência de números aleatórios não ordenados, e a partir deste momento o usuário
passará a executar manualmente a ordenação do método escolhido. É importante
ressaltar que o usuário pode optar pela execução manual diretamente, sem olhar a
demonstração do programa antes.
O SAEMOR interage com o usuário informando acertos e eventuais erros,
contribuindo assim para o aperfeiçoamento do usuário.
Além destas funcionalidades, este software possui explicações através de textos
sobre cada método e o seu funcionamento.

4. Testes

Infelizmente não houve a oportunidade de testar este software com o público


alvo, pois o desenvolvimento é muito recente. Porém foram feitos alguns testes
durante o desenvolvimento com alguns alunos que já possuíam conhecimento
nos métodos que envolvem este software. Pôde-se observar que existiu um
grande interesse destes alunos, pelo fato da curiosidade de saber como
funcionava, e serviu como um teste para relembrar os métodos de ordenação já
estudados.
A expectativa é de que este software seja utilizado neste semestre na cadeira
de algoritmos, a partir deste momento poderemos então ter uma boa avaliação do
funcionamento desta ferramenta.

5. Considerações Finais
Este sistema tem como principal objetivo o auxílio ao aluno de computação na
compreensão dos métodos de ordenação aqui apresentados, fazendo com que ele tenha
uma visão melhor do funcionamento do algoritmo, auxiliando os professores na difícil
tarefa de prender a atenção do aluno. Além disso, com o SAEMOR pode ser feito o teste
para ver se o aluno realmente entendeu o funcionamento do algoritmo, o que é
realmente difícil de se fazer durante uma aula.

Referências
[1] PREISS, B. R.. Estruturas de dados e algoritmos: Padrões de projetos orientados a
objetos com Java. Rio de Janeiro: Campus 2000.
[2] BLACK, P. Bubble Sort, NIST HOME, 2003. Acessado em 02 de agosto de 2003.
Disponível On-line: http://www.nist.gov/dads/HTML/bubblesort.html
[3] Macromedia. Macromedia Flash MX.Acessado em 11 de agosto de 2003.
Disponível on-line : http://www.macromedia.com/software/flash/