domingo, 30 de dezembro de 2007

Programação Orientada a Objeto.

A priore a compreensão do que é uma classe não é nada complicado. Para provar isso vamos usar o seguinte exemplo: Você está no meio de um projeto e recebe a função de criar uma "coisa" que imprima qual a percentagem de um valor x em relação a um valor y. Essa coisa que você vai criar pode ser uma classe, uma classe que vai ter 3 variáveis(atributos), x, y e resultado, dos quais 2 deles(x e y) seram passados pelo usuário e possuirá 3 funções(métodos), que nesse caso seram, setXY(), getXY(), showXY() .


Montando uma classe
Iremos fazer uso de um pseudocódigo para criação da estrutura dessa classe.

percentagem
-------------------------------
x : Integer
y : Integer
resultado : Integer
-------------------------------
setXY(x : Integer , y : Integer) : Integer
getXY(x : Integer , y : Integer) : Integer
showXY(x : Integer , y : Integer) : void

Temos aí o que seria uma representação de uma classe percentagem usando UML.

Conclusão
As classes por si só são simples, na verdade, é um tipo de dados não primário. Elas possibilitam a organização de grandes projetos com pouco esforço, em comparação com as linguagens que são restritamente estruturadas.





sábado, 8 de dezembro de 2007

Jogo dos Quadradinhos em C

Esse joguinho foi um trabalho em equipe da disciplina de Programação Estruturada do 2o semestre do curso de Eng. de Tele. Espero que o código-fonte possa ser útil para aqueles que estão iniciando na linguagem e querem entender um pouco de como funciona a estruturação do código.


#include
#include
#include


int VetTab[] = { 1, 2, 3, 4, 5, 6, 7, 8, 0 }; // "Tabuleiro"
int VetPos[][5] = {
4, 2, 0, 0, 0, // Posição 1 (possiveis movimentações)
1, 3, 5, 0, 0, // Posição 2
6, 2, 0, 0, 0, // Posição 3
7, 1, 5, 0, 0, // Posição 4
2, 4, 6, 8, 0, // Posição 5
3, 5, 9, 0, 0, // Posição 6
4, 8, 0, 0, 0, // Posição 7
7, 5, 9, 0, 0, // Posição 8
6, 8, 0, 0, 0 // Posição 9
} ;


/* Retorna a posição em que se encontra o elemento 0, que no caso é o termo
usado como referencia para indicar onde não temos um quadro. */

int APosicao()
{
int i = 0;
for(i = 0; i< i =" 0," opcoes =" 0;" i =" 0;" i ="=" i =" 0;" i =" 0;" i =" 0;" i =" 1" i =" 0;" ok =" 0," i =" 0;" ok ="=" escolha =" 0," sorteios =" 0," jogadas =" 0;" escolha =" escolharandomica(APosicao());" escolha2 =" getch();" escolha =" escolha2-48;" escolha =" 0;" jogadas ="="> 0 && jogadas <= 10) printf("Qm sabe se tentasse um pouco mais.\nNumero de jogadas: %d", jogadas+1); if(jogadas > 10 ) printf("Qm sabe se tivesse tentando um pouco mais?\nNumero de jogadas: %d", jogadas+1);
if(jogadas > 1000) printf("Imagine se fosse um CUBO MAGICO hein?\n Pode colocar vidas e vidas pra terminar.\n Numero de jogadas: %d", jogadas+1);
}
else {
MostrarTab();
printf("Parabens, voce ganhou com %d jogadas.\n", jogadas);
}
printf("\n\n\nAte a proxima!\n\n\n\n");
system("pause");
}