sábado, 26 de maio de 2012

Programando em Java - parte 2

Método Main 

Todo programa Java (J2SE) obrigatoriamente tem que possuir um método main. O método main é o primeiro método a ser chamado quando o programa é executado, logo, o main é o  ponto de partida dos programas Java (J2SE). Todo método main é: public, static e void. Você não precisa se preocupar em entender o que cada uma dessas palavras significam, apenas aprenda a declarar o main corretamente. Abaixo listei possíveis maneiras de se declarar o método main:

public static void main (String[] args) {} //mais comum
static public void main (String[] args) {} //raro, mais também é usado
public static void main (String args[]) {} //muito usado


Para fixar nosso conhecimento aqui adquirido, vamos refazer o programa da aula 1 e assim realizar alguns teste.

Aula.java
public class Aula1{
    public static void main(String[] args) {
        System.out.println("Sr." + args[0] + " Seja Bem vindo ao mundo Java!");
    }
}

Passando parâmetros para o main

Em java podemos passar valores para o main. Isso pode ser feito no momento em que vamos compilar o nosso código. Essa técnica não é muito utilizada, porém, um bom programador java deve conhecer todas as técnicas envolvidas na linguagem de programação.

Os parâmetros deve m ser passados logo após o nome o nome do programa, quando vamos compila-lo. Veja o exemplo:

p.s = Caso você não saiba compilar um programa e executa-lo, PARE e leia a aula Programando em Java - parte 1.

Windows

C:\User\Guilherme > cd Desktop\programando_java\
C:\User\Guilherme > javac Aula1.java Guilherme
C:\User\Guilherme > java Aula1

Linux

guilherme$ cd Área\ de\ trabalho/programando_java/
guilherme$ javac Aula1.java Guilherme
guilherme$ java Aula1
Observe a saída do programa. 

Fixando o nosso conhecimento

  1. Crie uma pasta com o seu nome underline java, exemplo: guilherme_java. Essa pata conterá todos os seus exercícios sugeridos de Java de agora em diante.
  2. Crie um programa que imprima seu nome e sobrenome.
Qualquer duvida utilize o espaço de comentários!

quarta-feira, 23 de maio de 2012

Sistema Banco simples - Aula de Lógica

E ai pessoal, desenvolvi esse programa em python para ilustrar o algoritmo que fizemos hoje em sala (23-05-2012), na aula de lógica. Fiquem a vontade para corrigir o código, assim como para tirarem suas dúvidas.

BancoBB.py
#vetor que ira armazenar todas as contas cadastradas vetorConta = [] #variavel responsavel pelas operacoes do programa opcao = int(0) #variavel armazena numero de contas ja cadastradas no sistema nroContas = int(0) while(opcao != 6):     #criando um dicionario de dados para armazenar minhas contas     conta = {}.fromkeys(['nome', 'nro', 'saldo'])     opcao = input('\n1- Cadastrar Conta \n2- Remover Conta \n3- Depositar \n4- Sacar \n5- Consultar \n6- Finalizar \n:')     if opcao == 1:         if nroContas <= 50:             conta['nome'] = raw_input('Digite o nome: ')             conta['nro'] = int(input('Digite o nro. da conta: '))             conta['saldo'] = 0         vetorConta.append(conta)         nroContas += int(1)         print '\nCliente cadastrado com sucesso!\n'         print '\n',vetorConta,'\n'     elif opcao == 2:         nroDaConta = int(input('Informe o numero da conta: '))         existe = False         for vet in vetorConta:             conta = vet             if conta['nro'] == nroDaConta:                   vetorConta.remove(conta)                 print '\nCliente removido com sucesso!\n'                 existe = True         if existe == False:             print '\nEssa conta nao esta cadastrada\n'     elif opcao == 3:         nroDaConta = int(input('Informe o numero da conta: '))         existe = False         for vet in vetorConta:             conta = vet             if conta['nro'] == nroDaConta:                 valor = float(input('Informe o valor que a ser depositado: '))                 conta['saldo'] += float(valor)                 print '\nDeposito realizado com sucesso!\n'                 existe = True         if existe == False:             print '\nEssa conta nao esta cadastrada\n'     elif opcao == 4:         nroDaConta = int(input('Informe o numero da conta: '))         existe = False         for vet in vetorConta:             conta = vet             if conta['nro'] == nroDaConta:                 valor = float(input('Informe o valor a ser sacado: '))                 if valor > conta['saldo']:                       print '\nSeu saldo e inferior ao valor do saque\n'                 else:                     conta['saldo'] = conta['saldo'] - valor                     print 'Operacao realizada com sucesso!'                 existe = True             if existe == False:                 print '\nEssa conta nao esta cadastrada\n'     elif opcao == 5:             nroDaConta = int(input('Informe o numero da conta: '))             existe = False             for vet in vetorConta:                 conta = vet                 if conta['nro'] == nroDaConta:                     print 'Nro. ', nroDaConta                     print 'Cliente.: ', conta['nome']                     print 'Saldo.: ', conta['saldo']                     existe = True             if existe == False:                 print '\nEssa conta nao esta cadastrada\n'     else:         print '\nOperacao invalida!\n'

domingo, 20 de maio de 2012

Vetor ou Array Unidimensional em C

Fala galera, hoje vamos falar de arrays unidimensionais os famosos vetores. Podemos dizer de forma bem simples que um vetor é um agregador de valores que possuem o mesmo tipo. Suponhamos que você precise armazenar todas as vogais do alfabeto, como você faria isso. Sem vetor você iria ter que declarar 5 variáveis e cada uma armazenaria uma vogal certo? Agora vejamos como isso ficaria bem mais simples com o uso de um vetor:

var vet[1..5]: literal

Pronto agora podemos armazenar todas as vogais, uma em cada posição do nosso vetor que no total possui 5 posições segundo sua declaração.

Agora vamos ver como fazer isso em C:
#include <stdio.h>
int main(void)
{
 //declarando um vetor
 char vet[5];
 int i;

 //preenchendo o vetor com as vogais
 vet[0] = 'a';
 vet[1] = 'e';
 vet[2] = 'i';
 vet[3] = 'o';
 vet[4] = 'u';

 //imprimindo as vogais contidas na variável vet (vetor)
 for(i = 0; i < 5; i++)
  printf("\t%c", vet[i]);

 return 0;
}
Lembrando que em C podemos ter vetores dos tipos: int(inteiros), float(reais) e double(reais). Uma função que é pouco usada mais é útil também é a função sizeof(*array). Essa função retorna a quantidade de bytes que sua array está utilizando. Então para usarmos essa função primeiro temos que saber quantos bytes cada tipo ocupa em C.
int e float >> 4 bytes
double     >> 8 bytes
char         >> 1 byte
Então para sabermos quantas posições nosso array tem, basta usar a função sizeof() e dividir esse tamanho por a quantidade de bytes que cada elemento da array ocupa. Exemplo:
#include <stdio.h>

int main(void)
{
 printf("char: %d bytes \n", sizeof(char));
 printf("int: %d bytes \n", sizeof(int));
 printf("float: %d bytes \n", sizeof(float));
 printf("double: %d bytes \n", sizeof(double));

 char var1[50];
 int var2[10];
 float var3[100];
 double var4[80];

 printf("qtde de elementos do vetor var1: %d \n", sizeof(var1)/sizeof(char)); printf("qtde de elementos do vetor var2: %d \n", sizeof(var2)/sizeof(int)); printf("qtde de elementos do vetor var3: %d \n", sizeof(var3)/sizeof(float)); printf("qtde de elementos do vetor var4: %d \n", sizeof(var4)/sizeof(double));
 return 0;
}

Outro ponto importante é saber quais são as formas que temos para declarar arrays em nosso código C. Temos duas maneiras, uma usamos quando não sabemos quais valores irão estar em nosso array, ou seja, só sabemos o seu tamanho:
#include <stdio.h>
int main(void)
{
    int idade[100];
    //usamos esta forma quando já sabemos o tamanho do nosso vetor, porém não sabemos os valores de seus elementos
    return 0;
}

Agora quando já sabemos os valores dos elementos de nosso array, já podemos declara-los e ao mesmo tempo inicializa-los em uma única linha de comando. Isso deixa o código mais legível e muito mais enxuto. Exemplo:
#include <stdio.h>

int main(void) 
{
    int idade[3] = {18, 10, 30}; //Com isso a posição 0,1,2 do meu array já possuem um valor no momento de sua execução
    int idade[] = {18, 10, 30}; //Esse trecho de código é equivalente ao trecho de código de cima
    return 0;
}

Aqui termina mais um tutorial sobre linguagem C. Até a  próxima pessoal...

Programando em Java - Parte 1

Olá pessoal, hoje vamos dar o ponta pé inicial para mais uma série do blog Programando: "Programando em Java". Essa série vai abordar todos os conceitos iniciais para se programar em Java. Nela vamos aprender:
  • Compilar e executar programas Java através da prompt de comando;
  • Tipos de variáveis;
  • Palavras reservadas;
  • Estrutura condicional;
  • Estrutura de repetição;
O objetivo dessa série é preparar o aluno para a próxima série que abordará POO (Programação Orientada a Objetos).

Bom, tudo esclarecido vamos agora ver brevemente como o Java funciona e escrever o nosso primeiro código Java.

Nota: Para prosseguir é fundamental que a JDK esteja instalada e configurada devidamente em seu sistema operacional. Caso você não tenha a JDK ou tenha mais ela não esteja configurada leia o post Iniciando em Java - Instalando a JDK.

Porque aprender Java?

Até hoje, a plataforma Java já atraiu mais de 6,5 milhões de desenvolvedores de software. É utilizada em todos os principais segmentos da indústria, estando presente em uma ampla gama de dispositivos, computadores e redes.
Sua versatilidade, eficiência, portabilidade de plataforma e segurança fazem dela a tecnologia ideal para a computação em rede. A tecnologia Java está em todo lugar! Ela pode ser encontrada em laptops, datacenters, consoles de jogo, supercomputadores científicos, telefones celulares e até na Internet.

O Java foi testado, refinado, ampliado e experimentado por uma comunidade dedicada. E, com mais de 6,5 milhões de desenvolvedores, é a tecnologia mais ampla e ativa do planeta. Com sua versatilidade, eficiência e portabilidade, o Java tem valor inestimável para desenvolvedores, pois permite:
  • Criar um software em uma plataforma e executá-lo em praticamente qualquer outra;
  • Criar programas para execução em navegadores e serviços da Web;
  • Desenvolver aplicativos no lado do servidor usados tanto em fóruns, lojas e pesquisas on-line, como no processamento de formulários HTML, e muito mais;
  • Combinar aplicativos ou serviços usando a linguagem Java para criar aplicativos ou serviços altamente personalizados;
  • Criar aplicativos potentes e eficazes para telefones celulares, processadores remotos, produtos de consumo de baixo custo e praticamente qualquer outro dispositivo com tecnologia digital.

Máquina Virtual, isso torna o Java multiplataforma!

O Java utiliza um conceito de máquina virtual, onde existe entre o sistema operacional e ao aplicação, uma camada extra responsável por traduzir
 o que sua aplicação deseja fazer para as respectivas chamadas ao sistema operacional onde ele está rodando no momento.

Primeiro código Java

Antes de criarmos o código propriamente dito, vamos primeiro criar uma pasta para armazenar nossos arquivos *.java e *.class. Vamos criar uma pasta na Área de Trabalho com o nome de programando_java. Agora abra o bloco de notas ou um editor de código de sua preferência e digite o seguinte código:

Aula1.java
import javax.swing.JOptionPane; public class Aula1 {     public static void main(String[] args) {         JOptionPane.showMessageDialog(null, "Olá mundo!");     } }
Saída: Olá Mundo!

Compilando e executando o código no Windows

Abra o terminal do windows (prompt de comando), e acesse a sua Área de Trabalho. Entre na pasta programando_java e digite o seguinte comando para compilar seu arquivo:
javac nome_do_seu_arquivo.java, no meu caso como o meu arquivo chama Aula1.java, ficaria mais ou menos assim: javac Aula1.java.

Se nenhum erro for retornado, então digite o seguinte comando para ver a saída do programa: 
java nome_do_seu_arquivo, no meu caso como meu arquivo chama Aula1.class, ficaria mais ou menos assim: java Aula1.

Se algum erro acontecer, reveja seu código e compare-o com o que está escrito no blog. Verifique também se você seguiu todos os passos de compilação e execução corretamente.

Compilando e executando o código no Linux

Abra o terminal do Linux. Siga as mesma instruções que foram dadas para o SO Windows.

Pessoal como essa é apenas uma introdução, o código não vai ser explicado até porque esse não é o objetivo desse post. 

Então eu fico por aqui, qualquer duvida ou sugestão é só deixar um comentário, até mais...

Programando com python - parte 2

Fala galera, mais um pouco de python para vocês. Hoje vou postar um código que trabalho um pouco com vetor (array). Esse exercício  também está na lista de estrutura de  dados compostos, ele é o exercício 1.

Segue o código em python. exercicio1.py
#programa simples em python
#manipulando um array

positivos = []
negativos = []
vetor = []
nulos = int(0)

for i in range(0,10):
    aux = int(input("Informe um número para posição {0}: ".format(i)))
    vetor.append(aux)

for i in range(1,10):
    if vetor[i] > 0:
        positivos.append(vetor[i])
    elif vetor[i] < 0:
        negativos.append(vetor[i])
    else:
        nulos += 1

print("VETOR PRIMARIO")
for i in range(0, len(vetor)):
    print(vetor[i])

print("EXIBINDO TODOS OS NUMEROS POSITIVOS")
for i in range(0, len(positivos)):
    print(positivos[i])

print("EXIBINDO TODOS OS NUMEROS NEGATIVOS")
for i in range(0, len(negativos)):
    print(negativos[i])

print("EXIBINDO QUANTIDADE DE NUMEROS NULOS NO VETOR")
print(nulos)
Até a próxima pessoal...

sábado, 19 de maio de 2012

Programando com python - parte 1

Olá pessoal, mais um post. Dessa vez vamos de python, uma linguagem simples, fácil e muito poderosa. Não é atoa que essa linguagem é a mais usada pela empresa Google.

Vamos lá então, o programa abaixo é apenas um simples exemplo de como trabalhar com o python. Esse programa pergunta a nota de 10 alunos e depois calcula a média aritmética.

Se você usa Windows e não tem o python instalado, veja o tutorial: imasters

Se você usa Linux, muito provavelmente o python já está instalado em sua máquina, apenas abra o terminal e digite: python.

Segue o código fonte do programa. pograma1.py
#programa calcula média da sala
b = int(0)
for i in range(0,10):
    a = input("Informe a nota do aluno: ")
    b += int(a)
print("A média da sala foi", b/10)
Bom pessoal, por hoje é só. Duvidas, sugestões e criticas fiquem a vontade para deixarem seus comentários. :)

Yucky Choccy


Fala pessoal, esse é o código que eu montei para o exercício 9 da lista de estrutura de dados compostas do IFSP.     :)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void) {
    char c[3][3], player[2] = {'A','B'};
    int i, j, jogada, linhaboa, aux, cont, venceu, x;
    //preenchendo o tabuleiro do jogo com o caractere -
    for(i = 0; i < 3; i++) {
        for(j = 0; j < 3; j++)
            c[i][j] = '-';
        puts("");
    }
    aux = 1; //variável aux é responsável por controlar o inicio e o termino do jogo
    cont = 0; //variável cont, conta quantas jogadas foram realizadas. Com isso conseguimos determinar qual é a vez de cada jogador.

    srand(time(NULL));
    i = rand() % 3; //sorteando um número aleatório de 0..2
    j = rand() % 3; //sorteando um número aleatório de 0..2
    c[i][j] = 'X'; //na posição sorteada eu preencho o local com o sabão
    //enquanto aux tiver valor 1, então o código é executado
    while(aux) {
        //imprimindo o tabuleiro do jogo, isso permite que os jogadores vejam como o tabuleiro fica após cada jogada
        for(i = 0; i < 3; i++) {
            for(j = 0; j < 3; j++)
                printf("%c\t", c[i][j]);
            puts("");
        }
        printf("Sua vez de jogar JOGADOR %c\n\n", player[cont%2]);
        printf("\nInforme o que deseja fazer... \n1- Jogar em uma linha \n2- Jogar em uma coluna: ");
        scanf("%d", &jogada);
        if(jogada == 1) {
            printf("\nInforme o numero da linha: ");
            scanf("%d", &jogada);
            x = 0; //guarda o numero de vezes que alguma parte do tabuleiro foi eliminada
            while(jogada < 3) {
                linhaboa = 1; //informa se a linha está apta a ser removida do tabuleiro
                //o tabuleiro é varrido com o intuito de saber se naquela linha temos o sabão em alguma posição
                for(i = 0; i < 3; i++) {
                    if(c[jogada][i] == 'X') {
                        linhaboa = 0; //isso informará ao código que a linha escolhida do tabuleiro tem o sabão em alguma casa
                        jogada = 3; //isso fará com que o jogador passe a vez para o próximo
                    }
                }
                //se a linha estiver apta a ser removida, então isso será feito
                if(linhaboa && c[jogada][0] == '-') {
                    for(i = 0; i < 3; i++)
                        c[jogada][i] = ' ';
                    x = 1; //isso informa que não estamos mais na primeira jogada dessa iteração
                } else if(jogada == 3 && x == 0) {
                    puts("\nEssa jogada não pode ser realizada!");
                } else if(linhaboa && c[jogada][0] == ' ') {
                    jogada = 3;
                    puts("\nEssa coluna já fpoi eliminada!!!");
                }
                jogada++;
            }
            if(x)

                //incrementa a variável cont, indicando que algum jogador realizou uma jogada
                cont++;
        } else if(jogada == 2) {
            //esse trecho de código é semelhante ao código do primeiro if. A unica diferença é que este verifica as colunas ao invés das linhas
            printf("\nInforme o numero da coluna: ");
            scanf("%d", &jogada);
            x = 0;
            while(jogada < 3) {
                linhaboa = 1;
                for(i = 0; i < 3; i++) {
                    if(c[i][jogada] == 'X') {
                        linhaboa = 0;
                        jogada = 3;
                    }
                }
                if(linhaboa && c[0][jogada] == '-') {
                    for(i = 0; i < 3; i++)
                        c[i][jogada] = ' ';
                    x = 1;
                } else if(jogada == 3 && x == 0) {
                    puts("\nEssa jogada não pode ser realizada!");
                } else if(linhaboa && c[0][jogada] == ' ') {
                    jogada = 3;
                    puts("\nEssa coluna já foi eliminda!!!");
                }
                jogada++;
            }
            if(x)
                cont++;
        } else
            puts("\nNúmero de jogada é inválido!");
        venceu = 0; //variável é zerada toda vez, pois toda rodada há uma verificação para ver se algum jogador venceu
        for(i = 0; i < 3; i++) {
            for(j = 0; j < 3; j++)
                if(c[i][j] == '-') //isso pergunta se ainda existe alguma casa no tabuleiro que pode ser jogada
                    venceu++; //essa váriavel irá armazenar quantas casas ainda podem serem eliminadas
        }
        //caso não haja mais nenhuma casa, o jogo deve ser encerrado, pois já temos um ganhador
        if(venceu == 0) {
            printf("\nJOGADOR %c VENCEU\n\n", player[(cont+1)%2]);
            aux = 0;
        }
    }
    return 0;

}

Qualquer duvida só deixar um comentário... caso tenha alguma duvida ou sugestão deixe um comentário também :). Até a próxima galera!!!

terça-feira, 8 de maio de 2012

Simulador de aeronave - simples

Olá pessoal, abaixo postei o código do exercício 10 da lista de estruturas de dados compostas:

#include <stdio.h>
#include <stdlib.h>

void _imprimeRota(char m[7][9]);

int main()
{
    int i, j, parar, linhaAtual, colunaAtual;

    parar = 1;
    linhaAtual = 5;
    colunaAtual = 1;

    char m[7][9] = {
        {'#','#','#','#','#','#','#','#','#'},
        {'#',' ',' ','#',' ',' ',' ','F','#'},
        {'#',' ',' ',' ',' ',' ','#',' ','#'},
        {'#','#',' ','#',' ',' ','#',' ','#'},
        {'#',' ',' ',' ',' ',' ',' ',' ','#'},
        {'#','I',' ',' ',' ','#',' ',' ','#'},
        {'#','#','#','#','#','#','#','#','#'},
    };

    _imprimeRota(m);

    do {
        printf("\nInforme as cordenadas que deseja sobrevoar [linha, coluna]:\n");
        scanf("%d%d", &i, &j);

        i--;
        j--;

        linhaAtual = linhaAtual - i;
        colunaAtual = j - colunaAtual;

        if((i > 7 || j > 9) || (i < 0 || j < 0))
            printf("\nEssa cordenada não é válida!\n");
        else if(linhaAtual > 1 || colunaAtual > 1)
            printf("\nEssa coordenada não segue uma rota!\n");
        else if(m[i][j] == '#') {
            system("clear");
            parar = 0;
            printf("\nO avião colidiu com um obstáculo!\n");
            m[i][j] = 'C';
        } else if(m[i][j] == 'F') {
            system("clear");
            parar = 0;
            printf("\nVocê chegou ao seu destino!\n");
        } else if(m[i][j] == 'I') {
            linhaAtual = i;
            colunaAtual = j;
            _imprimeRota(m);
            printf("\nVocê está no ponto de partida!\n");
        } else {
            m[i][j] = 'A';
            linhaAtual = i;
            colunaAtual = j;
            _imprimeRota(m);
        }

    }while(parar == 1);

    printf("\n\t\tEXIBINDO A ROTA FEITA PELA AERONAVE: \n\n");

    _imprimeRota(m);

    printf("\nLEGENDA:\n - A: [Por onde a aeronave passou]\n - C: [ponto de colisão]\n");

    return 0;
}

void _imprimeRota(char m[7][9]) {
    int i, j;

    for(i = 0; i < 7; i++) {
        for(j = 0; j < 9; j++) {
            printf("%c\t", m[i][j]);
        }
        printf("\n");
    }
}

Se você usa o sistema operacional Windows, substitua todos os system("clear") por system("cls").

Qualquer dúvida só postar um comentário... liberei os comentários anônimos :)

segunda-feira, 2 de abril de 2012

Iniciando em Java - Instalando a JDK

Olá pessoal, hoje vamos aprender a configurar nosso computador para trabalhar com Java.

Primeiramente temos que baixar a JDK (Java Development Kit). Abaixo segue o tutorial para instalação da JDK para dois sistemas operacionais (Windows/Linux).

Tutorial Windows 7

Primeiro vamos fazer o download. Você pode fazer o download utilizando o site da Oracle, ou usar o link que eu disponibilizei abaixo, que vai redirecioná-lo para o baixaki.com.

Jdk 7 - baixaki.com

Com o download concluído basta executar o arquivo .exe, esse iniciará o instalador.
  • Na primeira tela que aparecer ( a de boas vindas ), basta clicar em Next. 
  • A próxima tela é a de licença de uso. Clique em "Yes" para continuar.
  • Agora o instalador lhe dá a oportunidade de selecionar onde instalar o SDK. Por padrão fica em c:\\j2sdk (onde é o número de versão do Java) Clique em Next. Copie esse caminho em que o sdk está sento instalado, abra o bloco de notas e cole o caminho... Mais tarde vamos precisar disso para configurar a JVM.
  • Na próxima tela é possível selecionar os componentes a serem instalados. É recomendável deixar todos marcados. Clique em Next.
  • Na próxima tela, chamada "Select Browsers", o instalador lhe pergunta em quais navegadores é para ser habiltado o plugin Java. Como muito possivelmente o seu browser já tem tal plugin, e levando em consideração que usar o plugin da Sun pode acarretar em certas incompatibilidades, desmarque todas as opções. Clique em Next.
  • O SDK irá ser copiado para o sistema. Aguarde a finalização. Apos o término, clique em Finish. 
Após instalar o JDK ele ainda não está totalmente pronto para ser usado, para isso devemos setar as variáveis de ambiente do nosso sistema operacional Windows.

Vá no menu iniciar -> Computador -> clique com botão direito do mouse -> propriedades

Irá abrir uma janela, no canto esquerdo superior procure a opção -> configurações avançadas do sistema

Irá surgir uma nova janela, clique em variáveis de ambiente.

Agora em variáveis do sistema clique no botão novo -> Crie uma variável chamada JAVA_HOME e em valor da variável cole o caminho que você salvou no bloco de notas -> Clique em, Ok.

Ainda em variáveis do sistema, procure na lista de variáveis uma que se chama Path. Selecione ela -> editar -> vá no final da linha adicione um ponto e vírgula (;) e coloque o seguinte texto: %JAVA_HOME%\bin; -> clique em, Ok.

IMPORTANTE NÃO APAGUE NADA QUE ESTEJA ESCRITO NO PATH, POIS ISSO PODERÁ CAUSAR DANOS NA EXECUÇÃO DE ALGUNS APLICATIVOS. 

Agora reinicie seu PC.
Agora vá ao menu iniciar -> no campo executar digite cmd e pressione enter ou abra a prompt de comando do windows 7 (DOS) -> Digite javac e pressione ENTER -> Se aparecer várias coisas escritas... pronto já podemos começar a programar em Java. Senão repita os passos acima pois algum erro foi cometido.

Vídeo para ajudar na instalação: Instalando a JDK - Windows 7

Linux - Ubuntu

Em Linux geralmente a JDK já vem instalada assim como as bibliotecas do Python. Vamos conferir se já não há uma JDK instalada no sistema. Abra o terminal usando o assistente ou pressione as teclas Ctrl+T -> Digite java -version -> Observe a saída, se conter informações referentes a Java sua JDK já está integrada e pronta para ser usada. Senão siga os passos abaixo.

Pressione Ctrl+T, ou abra o terminal -> digite sudo apt-get install openjdk-6-jdk e pressione enter -> informe sua senha para o sistema -> uma confirmação de download de pacotes será solicitada, aperte a tecla S e pressione ENTER. Pronto espere a instalação ser concluída de pois reinicie o computador. JDK está pronta para ser utilizada.

Comunidade Linux para qualquer duvida que surja no ato da instalação:
Instalando JDK no linux - viva linux

Gostou? Dúvidas? Sugestões? Deixe um comentário ou envie um e-mail:
guilherme_1994_gui@hotmail.com

domingo, 1 de abril de 2012

Funções em C              ----------->                    Parte.3

Olá pessoal esse é o ultimo post da série Funções em C. Hoje aprenderemos como deixar nossos códigos mais organizados e mais limpos visualmente, se você não leu os outros post's da série de uma pausa e leia-os antes de prosseguir, já que eles são pré-requisitos para que haja um bom entendimento do assunto que serpa tratado aqui. Abaixo o link dos post's anteriores:

Funções em C - parte1
Funções em C - parte2

Até agora nossos programas tiveram um pequeno número de funções, por isso o código não ficou tão difícil de se entender ou menos legível. Mas o problema surge quando tivermos um código que tenha 30, 50, 100 funções e ai?

Em C temos um recurso chamado prototipagem. Com ele não precisamos mais escrever todo o código da função acima da função principal (int main()). Quando criamos um protótipo de uma função estamos na verdade declarando uma função, que depois será escrita em qualquer parte do nosso código.

Veja um exemplo:

#include <stdio.h>

//protótipo da função
void escreverNome(void);
//não ha mais código aqui, isso facilita saber quantas funções nosso programa tem!!!

int main() {
    escreverNome();
    return 0;
}

//podemos começar escrever a função em qualquer parte do código agora
void escreverNome(void) {
    printf("Programando em C");
}

Agora veja um exemplo contendo um programa extenso que tenha várias funções. Fica bem mais fácil saber quantas funções o programa tem, qual o nome das funções e até mesmo comentar essas funções:

#include <stdio.h>

void telaInicial(); //imprime a tela de boas vindas;
void telaFinal(); //imprime a tela de saída do programa
void menu(); //imprime o menu do escolha para o usuário

//Funções abaixo manipulam o arquivo bd.txt
//Caso retorno da função seja diferente de 0, algum erro aconteceu
int cadastrar(); //cadastra um novo usuário no arquivo
int buscar(); //busca um único registro
int excluir(); //exclui registro do banco
int listarTodos(); //lista todos os registros armazenados no arquivo

//Controles internos da empresa
//Caso retorno da função seja diferente de 0, algum erro aconteceu
int exibirFaturamento(int dataInicial, int dataFinal);

int main() {
    //todo o código aqui
}
//aqui posso escrever todo o código das minha funções que foram declaradas lá em cima em qualquer ordem

Perceba que agora não escrevemos mais nenhum código acima da função main, apenas declaramos nossas funções (protótipos). Como qualquer comando da linguagem C, ao final da linha temos que adicionar um (;) para dizermos ao compilador que ali se encerra a declaração do protótipo.

Sintaxe de declaração de protótipo:
tipo_de_retorno nome_da_função <argumentos/parametros> ;


Aplicação no código:
char inicialDoNome(char nome[40]);

Perceba que a diferença de se criar uma função ao invés de criar um protótipo de uma função é que ao invés de abrirmos um bloco de comandos ({}), terminamos a linha com um (;).

Bom pessoal, esse é o fim da série Funções em C. Vou voltar falar de funções em outros post's, mais antes disso teremos que aprender alguns conceitos um pouco mais complicados para prosseguirmos com funções.

Se você é programador de outra linguagem ou até mesmo quer aprender alguma mais não sabe por onde começar, utilize seu espaço e deixe um comentário, quem sabe eu não possa te ajudar.

E-mail: guilherme_1994_gui@hotmail.com

Quando usar as estruturas de repetição: Para, Enquanto e Repita?

Quando estamos iniciando em estruturas de repetição, geralmente aprendemos primeiro a estrutura para, depois a estrutura enquanto e por fim a estrutura repita.

O que essas estruturas tem em comum é que elas vão repetir determinadas instruções do seu código por uma certa quantidade de vezes.

Mas quando devemos usar o para, o enquanto ou o repita? Essa é uma pergunta muito frequente aos programadores iniciantes que não sabem definir uma aplicação exata para a solução do seu problema.

Podemos dizer que temos dois tipos de repetição dentro de um programa, o primeiro seria a repetição programada. A repetição programada seria quando o programador já sabe previamente quantas vezes o comando deve ser repetido, ou seja, você sabe quantas vezes o programa deve executar determinada tarefa.

O outro tipo de repetição seria a não programada, a repetição não programada se dá quando não sabemos o número de vezes que um determinado comando deve ser repetido, ou seja, ele não tem um número exato de interações (repetições).

Ao fazer essa repartição, fica mais claro quando usamos uma estrutura ou outra não é mesmo? Se analisarmos a sintaxe do comando Para, iremos observar que ele se parece muito o conceito de repetição programada, pois no Para indicamos um ponto inicial e um ponto final que resulta em um certo número de interações (repetições), veja o exemplo:

Sintaxe da estrutura Para:
Para variavel <--- (numero incial) até (numero que o valor incial vai alcançar) Faça
        //bloco de comandos
Fim_para 
Aplicação real para a estrutura Para:
Para i <--- 0 até 10 Faça
        Escreva "Meu nome é Guilherme"    
Fim_para 

No exemplo acima o comando Escreva vai ser executado 10 vezes, já que começamos do número 0 e mandamos repetir até que a variável i obtivesse valor igual a 10. O que isso quer dizer? Quer dizer que quando escrevemos o Para já sabemos o número de vezes que o comando deve ser repetido.

Mas é quando não sabemos quantas vezes um determinado comando deve ser repetido? Ou quando queremos que um comando seja repetido até que um determinado número seja digitado? Quando temos alguma dessas duas ocorrências devemos usar a estrutura de repetição Enquanto.

A estrutura Enquanto diz que, um bloco de comando deve ser repetido enquanto a expressão for verdadeira. Veja o exemplo:

Sintaxe da estrutura Enquanto:
Enquanto <expressão> Faça
        //bloco de comandos
Fim_enquanto
Aplicação real para a estrutura Enquanto:
Enquanto i <> 0 Faça
        Escreva "digite um numero"
        Leia i
Fim_enquanto

O código acima irá executar enquanto o usuário digitar um número diferente de 0, ou seja, se ele digitar 0 a estrutura de repetição Enquanto é encerrada.

Por fim temos a estrutura de repetição Repita. Essa estrutura segue a mesma lógica que a estrutura de repetição Enquanto. Só que o Repita primeiro executa o bloco de comandos para depois verificar a expressão. O Repita é executado enquanto a expressão for verdadeira. Veja o exemplo:

Sintaxe da estrutura Repita:
Repita
        //bloco de comandos
Enquanto <expressão> Fim_repita

Aplicação real para a estrutura Repita:
Repita
        Escreva "Digite um número"
        Leia i
Enquanto i <> 0 Fim_repita 

Pessoal abaixo temos exemplos de como usar as 3 estruturas de repetição em linguagens de programação:

Java:

Para:
for(int i = 0; i < 10; i++) {
    System.out.println("Estrutura de repetição Para em Java");
}

Enquato:
int i = 0;
while(i < 10) {
    Sytem.out.println("Estrutura de repetição Enquanto");
    i++;
}

Repita:
int i = 0;
do {
Sytem.out.println("Estrutura de repetição Enquanto");
i++;
}while(i < 10);

C++

Para:
for(int i = 0; i < 10; i++) {
    cout << "Estrutura de repetição Para" << "\n";
}

Enquanto:
int i = 0; 
while(i < 10) {
    cout << "Estrutura de repetição Enquanto" << "\n";
    i++;
}

Repita:
int i = 0; 
do {
    cout << "Estrutura de repetição Repita" << "\n";
    i++;
} while(i < 10);

C

Para:
int i = 0;
for(i = 0; i < 10; i++) {
    printf("Estrutura de repetição Para \n");
}

Enquanto:
int i = 0;
while(i < 10) {
    printf("Estrutura de repetição Enquanto");
    i++;
}

Repita:
int i = 0;
do {
    printf("Estrutura de repetição Repita");
    i++;
} while(i < 10);

Todos os códigos foram compilados e funcionam perfeitamente, se você quiser algum outro exemplo em uma outra linguagem de programação deixe um comentário ou envie um e-mail solicitando o exemplo. Lembrando que você pode deixar um comentário pedindo uma explicação sobre um outro assunto assim como pode enviar um e-mail com a mesma finalidade!

E-mail: guilherme_1994_gui@hotmail.com   

Novidade!!! Agora vamos ter canal no Youtube =D

Fala pessoal tudo beleza, estou sumido a correria está forte por aqui. Estou querendo dar um start em um projeto antigo que vem desde o temp...