quarta-feira, 21 de março de 2012

CENÁRIO PARA DIAGRAMA DE CLASSES

DIAGRAMA DE CLASSES - CAMPEONATO DE FÓRMULA 1

A FIA (Federação Internacional de Automobilismo) organiza o Campeonato Mundial de Fórmula 1 e a participação das equipes. O campeonato é o conjunto de 20 corridas que serão disputadas ao longo de um ano, cada uma em um autódromo diferente. Não existem corridas de Fórmula 1 válidas fora do campeonato e a FIA gerencia apenas um Campeonato dessa categoria.
As equipes interessadas em participar do campeonato devem se inscrever junto à FIA. Ao todo, doze equipes participam do campeonato. Não há a obrigação de uma equipe participar de todas as corridas, devido a problemas diversos, como carros, pilotos, patrocínios, etc. A FIA aceita inscrever, no máximo, doze equipes e um mínimo de três equipes para considerar a realização do campeonato.
Uma equipe que deseja participar do campeonato deve manter apenas dois carros e dois pilotos principais. A equipe pode ter pilotos de testes, que não participam das corridas, e pode ter o número de mecânicos que achar necessário para suas atividades durante o campeonato. Cada piloto guia o seu próprio carro. Não é permitido que um piloto use o carro de seu companheiro de equipe. A cada corrida, os pilotos acumulam pontos conforme sua colocação ao final de uma corrida. Embora não seja uma determinação explícita da FIA, cada equipe tem seu piloto principal entre os dois contratados.
Em cada corrida, a FIA destaca comissários que irão controlar a prova, seja na pista ou no paddock. Para que uma corrida seja válida, ela deve iniciar com, no mínimo, 25% do total de carros inscritos no campeonato.

segunda-feira, 27 de fevereiro de 2012

MATERIAL PARA PROVA DE UML

No link a seguir vocês encontrarão os arquivos com conteúdos para a prova de UML.

http://www.4shared.com/folder/cK5NEWvf/UML.html


O livro do Eduardo Bezerra, que temos na biblioteca da faculdade, pode ser baixado em  :
http://www.4shared.com/rar/CPXf-cEU/Princpios_de_Anlise_e_Projeto_.html

terça-feira, 11 de outubro de 2011

ALGORITMO MERGESORT

Ainda existe uma discussão sobre o assunto, mas apareceram evidências de que o algoritmo mergesort foi proposto por John Von Neumann em 1945. Essa discussão existe, pois estudar as várias contribuições que ele fez é, ao mesmo tempo, complexa e fascinante. Essa complexidade devesse em parte a existência de muitas fontes de informação, algumas pouco acessíveis, outras discordantes entre si ou polêmicas. A atribuição a ele veio de Knuth, que argumentou no seu livro ‘Arte de Programação Computacional: Ordenando e Procurando’ que Von Neumann foi o primeiro a descrever a idéia.

GIACON, André P., et al. MERGESORT. Faculdade de Tecnologia - Unicamp, 2010


void mergesort(int *vet,int inicio,int fim){     
     if(inicio == fim ) { return; }     
     int meio = (inicio + fim )/2;     
     mergesort(vet, inicio, meio );
     mergesort(vet, meio + 1, fim);
     int k = 0;
     int i = inicio;
     int j = meio + 1;
     //A linha abaixo cria um novo vetor auxiliar
     int *vetaux = (int *) malloc(sizeof (int) * (fim-inicio+1));     
     while( i < meio + 1 || j < fim + 1 ) {
           if( i == meio + 1 ) {
               vetaux[k] = vet[j];
               j++;
               k++;
           }else{
                 if ( j == fim + 1 ) {
                      vetaux[k] = vet[i];
                      i++;
                      k++;
                 }else{
                       if( vet[i] < vet[j] ) {
                           vetaux[k] = vet[i];
                           i++;
                           k++;
                       }else{
                             vetaux[k] = vet[j];
                             j++;
                             k++;
                       }
                 }
           }
     }
     //Este laco copia o vetor auxiliar no vetor principal
     for( i = inicio; i <= fim; i++ ){
          vet[i] = vetaux[i - inicio];
     }
}

quarta-feira, 5 de outubro de 2011

ADEUS STEVE... E MUITO OBRIGADO!

Digito este texto em meu computador pessoal, pequeno, leve e poderoso, para homenagear o homem que tornou possível a existência deste equipamento aqui, na minha frente, fazendo parte da minha vida. Desde já, obrigado, Steve Jobs.

Nunca tive um computador Apple; nunca usei um sistema Apple; sempre vivi rodeado de IBM-PC's, DOS, Windows e outros mais. Mas, mesmo sem ter feito parte dos produtos criados por este humano ímpar, sei reconhecer que foi apenas por causa de Jobs que tenho o privilégio de viver um período da história deste planeta repleto de tecnologia ao alcance das pessoas comuns.

Este foi o sonho de Jobs, sonho renegado pelos grandes de sua época, mas que não o abalaram em sua visão: pessoas comuns podem ter computadores. Desde que as coisas ficaram sérias na minha vida, foi o meu trabalho com computadores que me manteve erguido. Tudo o que eu sou hoje, tudo o que eu tenho, tudo o que eu construí, só foi possível porque Steve Jobs não desistiu. Sem ele, provavelmente apenas os meus netos teriam computadores iguais aos que eu posso ter hoje.

Steve Jobs foi um daqueles humanos iluminados, que a partir de agora ganha a eternidade pelo trabalho que fez permanecer. Podem passar décadas, séculos, pode a tecnologia evoluir para além da mais ousada ficção científica, ainda assim a marca da maçã jamais será esquecida. Jobs não morreu... Jobs foi para as nuvens!

terça-feira, 4 de outubro de 2011

ALGORITMO HEAPSORT PARA O 4º PERÍODO DE SISTEMAS

Um heap é uma estrutura de dados organizada como árvore binária. Existem dois tipos de heaps: Os heaps de máximo (max heap), em que o valor de todos os nós são menores que os de seus respectivos pais; e os heaps de mínimo (min heap), em que o valor todos os nós são maiores que os de seus respectivos pais. Assim, em um heap de máximo, o maior valor do conjunto está na raíz da árvore, enquanto no heap de mínimo a raíz armazena o menor valor existente.


void heapsort( vetor, elementos ) {    
     int i = n / 2;
     int t, pai, filho, inf, j;
     inf=1;
     while(inf){        
          if( i > 0 ) {
              i--;
              t = vet[i];            
          }else{
              n--;
              if ( n == 0 ) { return; }
              t = vet[n];              
              vet[n] = *vet;              
          }        
          pai = i;
          filho = 2 * pai + 1;                  
          while(filho<n) {                
                 if(filho+1<n && vet[filho+1]>vet[filho]){                                
                     filho++;
                 }                
                 if( vet[filho] > t ) {
                     vet[pai] = vet[filho];
                     pai = filho;
                     filho = 2 * pai + 1;
                 }else{
                       break;
                 }
          }        
          vet[pai] = t;        
     }
}

terça-feira, 27 de setembro de 2011

FUNÇÃO QUICKSORT PARA O 4º PERÍODO DE SISTEMAS

void quicksort( int *vet, int n ) {

     int i;
     int aux = 0;
     int posesq = 0;
     int posdir = n-1;
     int pivo = vet[n/2];    
     do{
          while(vet[posesq]<pivo)posesq++;
          while(vet[posdir]>pivo)posdir--;        
          if( posdir >= posesq ){            
              aux=vet[posesq];
              vet[posesq]=vet[posdir];
              vet[posdir]=aux;
              posdir--;
              posesq++;
          }
     }while(posdir>=posesq);
         
     if (posdir) {
          quicksort(vet,posdir+1);
     }    
     if(posesq<n-1){
         quicksort(vet + posesq, n - posesq );
     }
}      

segunda-feira, 19 de setembro de 2011

CONTÁBEIS - AULA DE LABORATÓRIO - 19/09/2011

Sabe-se que os Sistemas de Processamento de Transações – SPT’s – são aqueles sistemas que tratam das atividades rotineiras de uma organização. Muitas empresas decidem adquirir sistemas prontos, os chamados "pacotes", para informatizar seus processos. Escolher um sistema pode até parecer uma tarefa simples, mas a escolha de um bom produto é determinante para o sucesso ou fracasso da sua implantação e utilização no dia a dia da empresa. 
Lembre-se sempre das características esperadas em um sistema pronto:


  • Parametrização: Parametrização é o processo de decisão e definição dos parâmetros necessários para uma especificação completa ou relevante do sistema. É a capacidade do sistema para se adaptar às entradas específicas da empresa.
  • Escalabilidade: habilidade do sistema para manipular uma porção crescente de trabalho, de forma uniforme, sem perdas consideráveis de processamento. Um bom sistema deve estar preparado para crescer.
  • Integração: disponibilização de recursos que permitam a exportação e importação de dados para outros sistemas com as mesmas características funcionais, ou que requeiram dados já armazenados, evitando o retrabalho de digitação.
  • Portabilidade: capacidade de ser executado em diferentes arquiteturas, seja de hardware ou de software.
  • Registro de atividades: também conhecido como “log”, registra as ações de todos os usuários dentro do sistema, fornecendo uma visão sobre cada inclusão, exclusão ou alteração realizada nas transações.

TAREFA

Sua tarefa é encontrar na internet anúncios de sistemas de informações voltados para a contabilidade. Você pode pesquisar por "sistemas de informações contábeis", "sistemas de contabilidade" ou produtos específicos, como SPED, NF-e, folha de pagamento, dentre outros que você julgar importante para o trabalho contábil. Ao encontrar o software você deve, analisar o anúncio e adicionar um comentário neste post, contendo:

  • os nomes dos integrantes do seu grupo.
  • O NOME do software encontrado ou o nome do seu FABRICANTE (ou ambos).
  • O PREÇO do software e como ele pode ser instalado na empresa.
  • Escreva se o software encontrado apresenta, em seu anúncio, alguma das 5 características esperadas (de preferência todas elas, é claro!).
Bom trabalho!