quinta-feira, 31 de outubro de 2013

Uma ajuda extra

Para ajudar no estudo !!
 Vejam os vídeos do canal ,engloba os algoritmos que abordamos nas aulas 
http://youtu.be/OM8ZHrySAj4

Algoritmo Quick Find






Pseudo-C

função connected(P,Q)
{
   retorna quick_find_ID[P]==quick_find_ID[Q];
}

Função Union(P,Q)
{
    Inicializar a variavel i, , count_comp e vec_size

      Pid=quick_find_ID[P];
      Qid=quick_find_ID[Q];

           Se Pid==Qid
                    retorna
               count_comp--;
    
    For   i=0 to vec_size
            Se quick_find_ID[i]==Pid
                     então
                              quick_find_ID[i]=Qid;
}

terça-feira, 29 de outubro de 2013

Quick Sort (em c)

Quicksort is a very efficient sorting algorithm. It has two phases:
- the partition phase and
-the sort phase,
Most of the work is done in the partition phase. it works out where to divide the work.
The sort phase simply sorts the two smaller problems that are generated in the partition phase.
Complexity: O(n.log n)




void quick_sort(int n, int* v)
{
    if(n<=1)
        return;
    else
    {
        int x=v[0];
        int e=1;
        int d=n-1;

        do
        {
            while(e<n && v[e] <=x) e++;
            while(v[d]>x)d--;
            if(e<d)//faz a troca
            {
                int temp=v[e];
                v[e]=v[d];
                v[d]=temp;
                e++;
                d--;
            }
        }
        while(e<=d); //troca o pivot
        v[0]=v[d];
        v[d]=x;
        //ordena sub vectores restantes
        quick_sort(d,v);
        quick_sort(n-e,&v[e]);
    }

}

Bubble Recrusivo (em C)

O próximo exemplo apresenta uma  implementação recrusica em C do algoritmo bubble sort. Lembrar que o algoritmo recursivo de ordenação posiciona o elemento maior valor e chama, recursivamente, o algoritmo para ordenar o vector vec restante com n-1 elementos

void Bubble_rec(int n, int* vec)
{
    int troca=0;
    int j=0;

    for(j=0; j<n-1; j++)
    {
        if(vec[j]>vec[j+1])
        {
            int temp=vec[j];
            vec[j]=vec[j+1];
            vec[j+1]=temp;
            troca=1;
        }
        if(troca!=0)
            Bubble_rec(n-1,vec);
    }

}

Bubble Sort- Algoritmo (em c)

Uma função que implementa o algoritmo bubble sort e que considera a ordenação de um vector de valores inteiros é apresentada a seguir.Neste programa considera-se que a função recebe como parâmetros o numero de elementos e o ponteiro do primeiro elemento do vector que se deseja ordenar.

void  Bubble_sort(int n, int* vec)
{
    int i;
    int j;

    for(i=n-1; i>=1; i--)
    {

        for(j=0; j<i; j++)
        {
            //printf("vec: %d",vec[i]);
            if(vec[j]>vec[j+1])
            {
                int  temp=vec[j];
                vec[j]=vec[j+1];
                vec[j+1]=temp;
            }
        }

    }
}

terça-feira, 24 de setembro de 2013

Sistemas Digitais (Introdução)

1. Sistemas (Digitais)
2. Dispositivos
3. Componentes


Sistema: Circuitos complexo que resulta da associação de dispositivos e componentes; possui entradas e saídas e  funciona com base em 3 fases distintas:

Dispositivos: Circuito electrónico digital que é constituído por vários componentes e desempenho um função especifico e bem determinado

Exemplo: contador, codificador, etc...

Componentes ou elementos : Cada uma das partes que são utilizados por construir circuitos electrónicos

Circuito integrado (chip) "pastilha"
Integra na mesma "pastilha" vários circuitos; vários dispositivos

Propriedades do Sinal analógico 
a)contínuos no tempo e/ou espaço
b) contínuos em amplitude

Como faço a conversão de um sinal analógico para o sinal digital?

Discretizo no tempo e/ou espaço
Discretizo na amplitude ou quantificar

Conversão A/D 
1. Amostragem 
2. Quantificação
    codificação em binário

Vantagens dos Sistemas Digitais (face aos analógicos):

1. maior imunidade ao ruído eléctrico 
2. elevada densidade de integração de circuitos (diminuir o peso)
3. facilidade de interligação entre dispositivos digitais (blocos)