AV10 - Izabela Ferreira, 2013038318

2
Universidade Federal de Minas Gerais Programação de Computado res Avaliação 10 Izabela Ferreira - 2013038318  1 Problema O algoritmo da bolha (bubble sort) consiste em percorrer sequencialmente o vetor comparando um elemento com o subsequente, e efetuando uma troca no caso destes dois elementos estarem desordenado s. O algoritmo termina quando o vetor for percorrido sem que nenhuma troca seja efetuada. Veja o exemplo abaixo, onde os elementos sendo comparados estão em negrito Primeiro Passo: (5 1 4 2 8 ) ( 1 5 4 2 8 ) Aqui o algoritmo compara os dois primeiros elementos, e faz uma troca. ( 1 5 4 2 8 ) ( 1 4 5 2 8 ) ( 1 4 5 2 8 ) ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) Como os elementos comparados estão em ordem, não há troca. Segundo Passo:  ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 )  Agora o vetor já e stá ordenado, ma s o algoritmo ainda não sabe disso. É preciso executar um passo completo sem nenhuma troca para que o término seja detetado. Terceiro Passo: ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 )  Agora sim. Programe uma função Scilab que ordene um vetor utilizando o método da bolha e determine a complexidade do algoritmo. 2 Solução Elabora-se um algoritmo que atenda aos requisitos supracitados, abaixo uma captura de tela:  Figura 1 - Captura de tela, BubbleSort  3 Testes Realizam -se testes para comprova r a operabilid ade e eficiência do algoritmo desenvol vido.  Abaixo encontra m-se capturas das telas dos mesmos. 

Transcript of AV10 - Izabela Ferreira, 2013038318

  • Universidade Federal de Minas Gerais

    Programao de Computadores

    Avaliao 10

    Izabela Ferreira - 2013038318

    1 Problema O algoritmo da bolha (bubble sort) consiste em percorrer sequencialmente o vetor comparando um elemento com o subsequente, e efetuando uma troca no caso destes dois elementos estarem desordenados. O algoritmo termina quando o vetor for percorrido sem que nenhuma troca seja efetuada. Veja o exemplo abaixo, onde os elementos sendo comparados esto em negrito Primeiro Passo: (5 1 4 2 8 ) ( 1 5 4 2 8 ) Aqui o algoritmo compara os dois primeiros elementos, e faz uma troca. ( 1 5 4 2 8 ) ( 1 4 5 2 8 ) ( 1 4 5 2 8 ) ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) Como os elementos comparados esto em ordem, no h troca. Segundo Passo: ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) ( 1 4 2 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) Agora o vetor j est ordenado, mas o algoritmo ainda no sabe disso. preciso executar um passo completo sem nenhuma troca para que o trmino seja detetado. Terceiro Passo: ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) ( 1 2 4 5 8 ) Agora sim. Programe uma funo Scilab que ordene um vetor utilizando o mtodo da bolha e determine a complexidade do algoritmo. 2 Soluo Elabora-se um algoritmo que atenda aos requisitos supracitados, abaixo uma captura de tela:

    Figura 1 - Captura de

    tela, BubbleSort

    3 Testes Realizam-se testes para comprovar a operabilidade e eficincia do algoritmo desenvolvido. Abaixo encontram-se capturas das telas

    dos mesmos.

  • Figura 2 - Captura de tela, teste bubbleSort