quarta-feira, 1 de dezembro de 2010

Exercício ICC - resolvido em pseudocódigo

Eu encontrei essa alternativa para resolver o exercício, é um pouco diferente da estrutura construída na sala de aula, mas com os testes eu confirmei que estava correta!


Dado N linhas e N colunas fazer um triângulo onde  a primeira linha e a primeira coluna são iguais, contendo números ímpares na seguinte ordem: 1, 3, 5, 7... e assim por diante. A diagonal secundária tem todos os elementos igual o último elemento da primeira linha. E os elementos intermediários entre a primeira linha e coluna e a diagonal secundária são a soma do numero que está em cima, o que está ao lado esquerdo e o da diagonal superior esquerda.

Algoritmo triângulo
Inteiro: N, A(100,100), i, j
Início
Ler N
  A(1,1) <- 1
Para i de 2 ate N passo 1 faça
 A(i,1) <- A(i-1,1) + 2
Fim_para
Para j de 2 ate N passo 1 faça
A(1,j) <- A(1,j-1) + 2
Fim_para

Para i de 2 ate N passo 1 faça
  Para j de 2 até N passo 1 faça
    Se i+j=N+1 então
       A(i,j) <- A(1,N)
    Fim_se
  Fim_para
Fim_para

Para i de 2 até N-1 passo 1 faça
  Para j de 2 até N-1 passo 1 faça
    Se i+j<N+1 então
      A(i,j) <- A(i-1,j-1) + A(i-1,j) + A(i,j-1)
    Fim_se
  Fim_para
Fim_para


Para i de 1 até N passo 1 faça
Imprimir (A,(i,j), j=1, N-i+1)
Fim_para
Fim



Algoritmos - Métodos de pesquisa e classificação

      Aplicação de conjuntos em duas tarefas muito importante no processamento de dados, pesquisa e classificação :


Pesquisa:
      Consiste na verificação da existência de um valor dentro de um conjunto. Trocando qual ( is ) possui (em) um determinado valor. E dois métodos de pesquisa bastante difundidos são: pesquisa sequencial e pesquisa binária.

     - Pesquisa Sequencial:
      É o método mais objetivo para se encontrar um elemento particular num conjunto ( em geral, um vetor ) não classificado, isto é, cujos elementos não estão ordenados segundo algum critério.
      Essa técnica envolve a simples verificação de cada componente do conjunto sequencialmente ( uma após a outra) até que o elemento desejado seja encontrado ( neste caso diz-se que a pesquisa foi bem-sucedida) ou que todos os elementos do conjunto (vetor) tenham sido verificados sem que o elemento procurado tenha sido encontrado (pesquisa mal sucedida).

    -Pesquisa Binária:
      Quando os elementos de um vetor estão previamente classificados segundo algum critério, então pesquisas muito mais eficientes podem ser conduzidas.
      Funcionamento: inicialmente o vetor é classificado. O elemento que divide o vetor ao meio com relação ao seu numero de componentes é localizado e comparado ao valor procurado. Se ele for igual ao valor procurado a pesquisa é dita vem-sucedida e é interrompida. No caso dele ser maior que o valor procurado, repete-se o processo na primeira metade do vetor. No caso do elemento central do vetor ser menor que o valor procurado, repete-se o processo na segunda metade do vetor. Este procedimento é continuado até que o elemento desejado seja localizado (pesquisa bem-sucedida) , ou então até que não reste mais um trecho do vetor a ser pesquisado.



Classificação:
      Consiste em arranjar seus elementos numa determinada ordem, segundo um critério específico. por exemplo, este critério pode ser a ordem alfabética para um conjunto de dados literais, ou então, ordem crescente ou decrescente para conjunto de dados numéricos. Há vários métodos, um bastante popular é o Método da Bolha de Classificação.

      -Método da Bolha de Classificação:
      Esse método não é o mais eficiente, mas é popular por ser simples.
      Ele consiste em "varrer" o vetor, comparando os elementos vizinhos entre si, Caso estejam fora de ordem, os mesmos trocam de posição entre si. Procede-se assim até o final do vetor. Na primeira "varredura"verifica se o ultimo elemento do vetor já está no seu devido lugar (no caso de ordenação crescente, ele é o maior de todos). A segunda "varredura" é análoga à primeira e vai até o penúltimo elemento. Este processo é repetido até que seja feito o numero de varreduras igual ao número de elementos a serem ordenados menos um. Ao final do processo o vetor está classificado segundo o critério escolhido.