setembro 17th, 2008 by sippert
A Máquina de Mealy é um Autômato Finito modificado de tal forma que gere uma palavra de saída para cada transição, baseando-se no estado em que se encontra e na entrada de dados. Assim o diagrama de estados irá incluir tanto o sinal de entrada como o de saída para cada vértice de transição.
setembro 17th, 2008 by sippert
A Pesquisa Operacional (PO) é uma ciência que objetiva fornecer ferramentas quantitativas ao processo de tomada de decisões. É constituída por um conjunto de disciplinas isoladas, tais como Programação Linear, Teoria das Filas, Simulação, Programação Dinâmica, Teoria dos Jogos, etc.
setembro 17th, 2008 by sippert
Um jogo representa uma situação ou conflito entre dois ou mais oponentes. Estes oponentes são usualmente chamados de jogadores (um jogador pode ser um time composto de mais de uma pessoa). Cada jogador tem um certo número de escolhas, finito ou infinito, chamadas de estratégias.
setembro 17th, 2008 by sippert
Algoritmo em Assembler para determinar se uma matriz é ou não quadrado mágico, ou seja, a soma de cada linha, coluna e diagonal deve ser a mesma.
setembro 17th, 2008 by sippert
Algoritmo em Assembler para verificar se matriz é ou não simétrica.
setembro 17th, 2008 by sippert
Os satélites LEO (Low Earth Orbit) são satélites que surgem como uma alternativa eficaz para os satélites GEO (Geostationnary Earth Orbit). Ficam a uma altitude de 800 km, cobrindo apenas uma pequena área da terra, precisando de vários satélites em órbita para dar continuidade e ter uma ampla área de abrangência.
setembro 13th, 2008 by sippert
Algoritmo de Maratona de Programação simples: #include <stdio.h> #include <string.h> int main(void){ int n,i,j,k,pontos,jogo=1,nJogadas; char jogador[15]; int jogada[20]; int segunda; while(scanf(“%d”,&n) && n){ printf(“JOGO #%d\n”,jogo++); for(i=0;i<n;i++){ pontos=nJogadas=segunda=0; memset(jogada,0,20*sizeof(int)); scanf(“%s”,jogador); printf(“%s “,jogador); for(k=0;nJogadas<10;k++){ scanf(“%d”,&jogada[k]); if(jogada[k]==10 && !segunda){ nJogadas++; segunda=1; }else if(segunda) nJogadas++; segunda=!segunda; } if(jogada[k-1]==10) scanf(“%d %d”,&jogada[k],&jogada[k+1]); else if(jogada[k-2]+jogada[k-1] >=10) scanf (“%d”,&jogada[k]); pontos=0; segunda=0; for(j=0;j<k;j++){ pontos+=jogada[j]; [...]
setembro 13th, 2008 by sippert
Algoritmo de Maratona de Programação simples #include<iostream> using namespace std; int main(){ int n,k,t=1; while((cin >> n >> k)and(n!=0)and(n!=0)) cout << “Instancia “<<t++<<”\n”<<(((((n – ((k*k+k))/2)) %(k+1)) == 0)? “sim”:”nao”)<<”\n\n”; return 0;//((k*(k-1))/2)+k }
setembro 13th, 2008 by sippert
Algoritmo de Maratona de Programação utilizando recursão: #include<iostream> using namespace std; int m,n,k,mat[100][100],vis[100][100]; bool recursao(int i, int j){ if(j==n-1) return true; vis[i][j]=1; bool parcial=false; if((j<n-1)&&(!vis[i][j+1])&&(abs(mat[i][j+1]-mat[i][j])==k)) parcial=recursao(i,j+1); if((!parcial)&&(i>0)&&(!vis[i-1][j])&&(abs(mat[i-1][j]-mat[i][j])==k)) parcial=recursao(i-1,j); if((!parcial)&&(j>0)&&(!vis[i][j-1])&&(abs(mat[i][j-1]-mat[i][j])==k)) parcial=recursao(i,j-1); if((!parcial)&&(i<m-1)&&(!vis[i+1][j])&&(abs(mat[i+1][j]-mat[i][j])==k)) parcial=recursao(i+1,j); return parcial; } int main(){ int t=1; while((cin >> m >> n >> k)&&(m!=0)&&(n!=0)){ memset(vis,0,sizeof(vis)); for(int i=0;i<m;i++) for(int j=0;j<n;j++) cin >> mat[i][j]; bool [...]
setembro 13th, 2008 by sippert
Algoritmo de Maratona de Programção utilizando Grafo #include<iostream> const int INF = 100; using namespace std; int main(){ int n,m,q,t=1; cout.setf(ios::fixed); cout.precision(3); while((cin>>n>>m)&&(n!=0)&&(m!=0)){ double M[n][n]; memset(M,INF,sizeof(M)); for(int i=0;i<n;i++)M[i][i]=0; for(int i=0;i<m;i++){ int u,v; double p; cin >> u >> v >> p; M[u][v]=p; M[v][u]=p; } for(int k=0; k<n; k++) for(int i=0; i<n; i++) if( i!=k && [...]