View Full Version : Urgencia da ordenação em pascal


silencept
29-01-2007, 19:27
boas...é o meu primeiro topico...

agradecia que me podesses postar aki um exemplo de uma ordenação para usar em ficheiros de registos em pascal...

tava mesmo a percisar e com alguma urgencia...

se percisarem do programa eu posso mandar...

desde ja agradeço a quem me poder ajudar...


obrigado...

HecKel
29-01-2007, 19:43
Boas!

Nada como tentar pensar um pouco como funcionam as ordenações e em último caso recorrer ao melhor amigo do programador (http://www.google.com) ;)

http://pt.wikipedia.org/wiki/Bubble_sort (tem código pascal)

vê se te ajuda ;)

abraços, HecKel

silencept
29-01-2007, 19:52
Boas!

Nada como tentar pensar um pouco como funcionam as ordenações e em último caso recorrer ao melhor amigo do programador (http://www.google.com) ;)

http://pt.wikipedia.org/wiki/Bubble_sort (tem código pascal)

vê se te ajuda ;)

abraços, HecKel


boas...

obrigado pela resposta...

o problema é k ja tentei o google e eu tenho essa ordenaçao...

mas só a consigo implementar em vector....

mas neste momento perciso para ficheiro de registos e ai é k esta o problema...

se poderes ajudar agradecia imenso...

HecKel
29-01-2007, 20:20
ahhh

Regra numero 1 no manuseamento de ficheiros: Só gravar os dados quando todos tratados e só os ler, nunca trabalhar directamente sobre o ficheiro

Com isto quero eu dizer, saca do ficheiro e mete numa estrutura e/ou vector, ordena e volta a gravar no ficheiro ;) Garanto-te que é mais rápido, visto que apenas fazes 2 acessos ao ficheiro (os acessos demoram algum tempo) e mais simples de implementar ;)

abraços, HecKel

silencept
29-01-2007, 20:47
o problema é k ja tentei fazer isso...

mas n consigo...

mandei-te uma PM...

se poderes posta aqui um exemplo ou adiciona-me no msn se faz favor

mandei o meu mail por PM

obrigado...

HecKel
29-01-2007, 20:54
Se ao leres o ficheiro fores preenchendo logo um array consegues isso facilmente. Não me recordo bem da sintaxe de Pascal, o que te estou a dizer é o algoritmo genérico para estes casos ;)

abraços, HecKel

silencept
29-01-2007, 21:01
vou tentar....

se poderes adiciona-me no msn ou no skype...

agradecia....

obrigado...

ShadeX
02-02-2007, 13:15
Boas!
http://pt.wikipedia.org/wiki/Bubble_sort (tem código pascal)


Bubble Sort??? Isso nos meus tempos dava direito a chumbo directo :D ShakerSort era mesmo o minimo dos minimos...

Já não me lembro nada de Pascal, mas o que o Heckel disse está certo. Lês o ficheiro todo (ou apenas as partes necessárias conforme a quantidade de memória consumida), ordenas e gravas de novo.

Ocasionalmente, se por um acaso estiveres a trabalhar com fixed record size, pode ser mais "económico" ler apenas os dados em que a ordenação se vai basear, ordená-los e depois fazer swapping dos dados do ficheiro por blocos. Mas apenas justifica se tiveres de fazer swap a um numero relativamente pequeno de registos.

Warrior
03-02-2007, 18:27
Ele tem dificuldades em implementar uma ordenação num ficheiro e tu queres que ele implemente um introsort? Quer dizer, o mais importante nesta altura é que funcione. A velocidade vem depois.