Física | Análise de Circuitos | Lógica de Programação | Tecnologia da Informação | Sobre o blog

domingo, 28 de novembro de 2010

Algoritmo de ordenação

Algoritmo "Ordena"
Var
     num: inteiro
     vet: vetor [1..10] de inteiro
Inicio
    Procedimento recebe()
    Var
        k: inteiro
    Inicio
        k <- 0
        Repita
            k <- k + 1
            Escreva("Vetor [",k,"]: ")
            Leia(vet[k])
        Ate(k >= 10)ou(vet[k] = 0)
        num <- k
    Fimprocedimento
    Procedimento ordena_enq()
    Var
         s, aux: inteiro
    Inicio
          s <- 1
          Enquanto (s < num) FACA
               Se(vet[s+1] < vet[s]) entao
                    aux <- vet[s+1]
                    vet[s+1] <- vet[s]
                    vet[s] <- aux
                    s <- 1
               Senao
                    s <- s + 1
               Fimse
          Fimenquanto
    Fimprocedimento
    Procedimento mostra()
    Var
        j: inteiro
    Inicio
        Escreval("O mesmo vetor ordenado corresponde a: ")
        Para j de 1 ate num faca
            Escreval("Vetor [",j,"]: ",vet[j])
        Fimpara
    Fimprocedimento
    Escreval("Digite os valores para serem ordenados")
    Escreval("No maximo 10 valores - (zero) para terminar")
    Escreva("")
    recebe()
    ordena_enq()
    mostra()
Fimalgoritmo

Nenhum comentário: