sábado, 10 de março de 2012
O que é um ERP? Breve vídeo aula ...
É uma produção bem básica e caseira, e assistindo depois de tanto tempo ... concluí que eu falo muito caipira rsrsrs puxo o "r" pra caramba rsrsrs.
De qualquer forma fica aí a dica, uma breve explicação do que é um ERP e alguns exemplos:
Tomara que algum dia seja útil pra alguém ;-) desculpe pelo som ir ficando mais baixo no final :-$
domingo, 4 de abril de 2010
Linguagem de Programação - Java - Aula 5
Estrutura de repetição é uma estrutura de desvio do fluxo de controle que realiza e repete diferentes computações ou ações dependendo se uma condição é verdadeira ou falsa.
Nesse link postado acima, na wikipédia, há uma explicação detalhada a respeito do assunto, vale a pena conferir.
Em java, os loops são feitos da seguinte forma:
While: Enquanto i, que é uma variável inteira, for menor ou igual a 20, deve-se imprimir em tela o valor de i. O “i++” é usado para incrementar o valor, ou seja, cada vez que passar aí, fará i = i + 1;
while ( i <= 20)
{
System.out.println(i);
i++;
}
For: Para i que começa valendo 1 até i ser menor ou igual a 20 deve fazer também imprimir em tela o valor de i. Note que na própria estrutura da condição, já definimos que o i deve ser incrementado.
for(i = 1; i <= 20; i++)
{
System.out.println(i);
}
Do while: O programa passará pelo menos uma vez pela estrutura e continuará até que a condição se torne falsa.
do{
System.out.println(i);
i++;
}while(i <= 20);
As estruturas de repetição são muito usados, segue um exemplo de uma tabuada feita usando o for, e é possível fazer usando qualquer tipo de loop, fica aí o desafio para tentarem de outras formas.
int valor = 0;
for (int i = 1; i <= 10; i++)
{
valor = 7 * i;
System.out.println("7 x " + i + " = " + valor);
}
Agora sim a aula 5ª aula. Nesta aula, começaremos a trabalhar realmente com o conceito de classes, atributos e métodos, usando como exemplo um cadastro. Se houver dúvidas no conceito de cada coisa, vale a pena recordar a 1ª aula onde explica claramente o que é cada detalhe.
Vamos então definir duas classe, uma classe Pessoa e a outra ExemploPessoa, na classe Pessoa vamos mostrar ao java o que é uma pessoa, que dados serão requeridos. Toda pessoa tem nome, endereço e telefone, portanto, esses serão nossos atributos. Segue então como ficará a classe Pessoa, onde o que está em itálico são os comentários de cada parte do código.
Abaixo do código, segue as imagens possibilitando um melhor entendimento e visualização da identação.
/*Essa classe não terá o método main pq só a classe principal que executa e inicia o programa é que tem o main
*
* Lembrando que uma classe precisa ter atributos e métodos
*
* Atributos: nome, endereço, telefone = são privados e só podem ser acessados dentro da classe
*
* Metodos: Pessoa() e Pessoa(String, String, String) = são públicos, são a forma de comunicação entre as classes */
public class Pessoa {
private String nome;
private String endereco;
private String telefone;
public Pessoa() //Métodos que possuem o mesmo nome da classe são chamados de métodos construtores, sua função é definir como um objeto será criado, ele somente pode ser usado na criação de um objeto, pq a função é falar como o obj deve ser criado - instância)
{ //esse método cria um objeto vazio, pq o usuario vai digitar depois os dados,
//ainda não há valor definido, mas o objeto ja existe
}
public Pessoa(String _nome, String _endereco, String _telefone) //segundo metodo construtor
//nesse construtor é criado um objeto e ja sabe os dados do objeto, por isso foi passado com parâmetros, usar o anderline na frente (_nome) é convenção para identificar melhor e facilitar a manutenção
{
nome = _nome; //recebe os valores dos parâmetros e passa para os atributos
endereco = _endereco;
telefone = _telefone;
}
public void DefinirNome(String _nome) //o objetivo desse metodo: permite alterar o valor do atributo nome
{
nome = _nome;
}
public void DefinirEnd(String _endereco) //o objetivo desse metodo: permite alterar o valor do atributo endereco
{
endereco = _endereco;
}
public void DefinirTel(String _telefone) //o objetivo desse metodo: permite alterar o valor do atributo telefone
{
telefone = _telefone; //ele não retorna valor (void), apenas pega o parametro e atribui ao atributo
}
public String ObterNome() //metodos que retornam precisam mostrar o tipo de dado que retorna, no caso uma String
{
return (nome);
}
public String ObterEnd()
{
return (endereco);
}
public String ObterTel()
{
return (telefone);
}
// Demais métodos ...
}
A classe ExemploPessoa é a que realmente executará o programa, nela contém o método main, e é nela que colocaremos os dados das pessoas. Segue abaixo como ela deve ficar.
/*A classe principal, aqui é que pode usar as outras classes*/
public class ExemploPessoa {
public static void main(String[] args) throws IOException
{
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in)); //cria o objeto teclado
Pessoa p1 = new Pessoa(); // A classe Pessoa será um modelo para mostrar o que será uma pessoa para o programa, o p1 é um objeto, o new é o operador de instancia (a partir de uma classe cria-se um objeto) e o Pessoa() é o método construtor, ele sempre vai aparecer com o new
//esse metodo é vazio, isso seria necessário pq por exemplo, num banco de dados como ele vai retornar um valor se não leu ainda o banco? Então com o metodo construtor vazio ele faz a leitura e depois ele usa um metodo
construtor para atribuir valor
System.out.println("Informe o nome: "); //obtendo valores para p1
p1.DefinirNome(teclado.readLine());
System.out.println("Informe o endereço: ");
p1.DefinirEnd(teclado.readLine());
System.out.println("Informe o telefone: ");
p1.DefinirTel(teclado.readLine());
Pessoa p2 = new Pessoa("Ana", "Rua das Flores, 100", "4532-2322"); //uma classe pode dar origem a vários objetos, cria o objeto (new) e usa o segundo construtor com os devidos parâmetros
/*Polimorfismo = uma classe pode ter vários métodos com o mesmo nome, porém, com parâmetros diferentes*/
System.out.println("Pessoa 1"); //Imprimindo os valores de p1
System.out.println("Nome: " + p1.ObterNome()); //está buscando os valores armazenados dentro do p1
System.out.println("Endereço: " + p1.ObterEnd());
System.out.println("Telefone: " + p1.ObterTel() + "\n");
System.out.println("Pessoa 2"); //Imprimindo os valores de p2
System.out.println("Nome: " + p2.ObterNome());
System.out.println("Endereço: " + p2.ObterEnd());
System.out.println("Telefone: " + p2.ObterTel());
}
}
Todos os créditos dessas aulas para o professor Claudio Luís V. Oliveira, que com muita paciência e persistência tem nos ensinado de uma forma agradável e eficiente.
Linguagem de Programação – Java – Aula 1
Linguagem de Programação – Java – Aula 2 e 3Linguagem de Programação - Java - Vetores - Aula 4
sexta-feira, 2 de abril de 2010
Linguagem de Programação - Java - Vetores - Aula 4
Um vetor mantém uma série de elementos de dados, do mesmo tipo, cada um numa posição pré definida. Então, por exemplo, ao cadastrar 5 nomes, poderíamos usar:
5 variáveis = String nome1, nome2, nome3, nome4, nome5; ou
1 vetor = nome[i] , onde o meu “ i ” será incrementado determinando 5 posições distintas para cada nome
Traduzindo para java. Declaramos um vetor da seguinte forma:
String nome[] = new String[5]; = no caso de um vetor de String ou
int i[] = new int[10]; = no caso de um vetor de inteiros, o número entre colchetes [10] é onde definimos o tamanho do vetor, isso quer dizer que ele terá 10 posições.
Os elementos de um vetor podem ser inseridos no momento da criação do mesmo conforme mostrado abaixo:
int i[] = {64, 87, 32, 07, 86};
char linguagem[] = { 'J', 'a', 'v', 'a' };
e assim por diante, colocando o tipo de dado que desejar usar.
Segue abaixo exemplos de como trabalhar com vetores. Tem o código colado aqui, com os devidos comentários em itálico , também abaixo, coloquei as imagem para que entendam melhor o código e toda a identação.
Exemplo 1:
int i[] = new int[5]; //declarando vetor com o nome i sendo inteiro
i[0] = 45; //atribuindo valor as posições do vetor, ele sempre começa do zero
i[1] = 2;
i[2] = 18;
i[3] = 61;
i[4] = 94;
//exibir o elemento que está no índice 3
System.out.println("O valor da posição 3 é " + i[3]);
//exibir o tamanho do vetor
System.out.println("Tamanho: " + i.length);
//exibir tds os elementos do vetor
for(int a = 0; a < style="font-style: italic;"> //exibir tds os elementos do vetor de forma invertida
for(int b = i.length - 1; b >= 0; b--) //coloca length - 1 pq o vetor tem tamanho 5
//mas o último elemento está na posição i[4]
{
System.out.println("O valor na posição " + b + " de forma invertida é " + i[b]);
}
//exibir o maior elemento do vetor
int maior = i[0];
for(int c = 0;c <> maior)
maior = i[c];
}
System.out.println("O maior valor é " + maior);
//exibir o menor elemento do vetor
int menor = i[0];
for(int c = 0;c < menor =" i[c];" style="font-style: italic;"> //exibir a soma dos elementos do vetor
int soma = 0;
for(int d = 0;d < soma =" soma" style="font-style: italic;"> //exibir o valor da média dos elementos
int tam = i.length;
int media = soma / tam;
System.out.println("A média é " + media);
//exibir os elementos do vetor que são maiores ou iguais a média
for(int e = 0;e <>= media)
System.out.println("O valor maior ou igual a média que é " + media + " são " + i[e]);
}
Para aumentar é só clicar na imagem.
Exemplo 2 - Manipulação de Strings:
String saudacao = "Boa noite para todos";
System.out.println("Tamanho: " + saudacao.length());
//Convertendo td para Maiúsculo
System.out.println("Maiúsculas: " + saudacao.toUpperCase());
//Convertendo td para Minúsculo
System.out.println("Minúsculas: " + saudacao.toLowerCase());
//Mostrar apenas um caractere, coloca entre parenteses a posição do caractere, ex --> 5
System.out.println("Um caractere --> " + saudacao.charAt(5));
//Mostrar uma parte da String, mostrando a posição, exemplo de 4 a 9,
//ele entende que deve parar na posição 9
System.out.println("Uma parte da String --> " + saudacao.substring(4,9));
//Mostrar uma parte da String, mostrando a posição, exemplo de 10 a 14,
//ele entende que deve parar na posição 14
System.out.println("Uma parte da String --> " + saudacao.substring(10,14));
//Usando charAt exibir apenas as vogais da String
System.out.print("Apenas vogais: ");
for (int i = 0;i < letra =" saudacao.charAt(i);" letra ="=" letra ="=" letra ="=" letra ="=" letra ="=">
E a imagem:
É isso aí, espero que seja de ajuda, caso tenham alguma dúvida, deixe aqui nos comentários ou me mande por e-mail, auxilio no que for possível.
Desejo aproveitar e dar todos os créditos dessas aulas para o professor Claudio Luís V. Oliveira, que com muita paciência e persistência tem nos ensinado de uma forma agradável e eficiente.
Linguagem de Programação – Java – Aula 1
Linguagem de Programação – Java – Aula 2 e 3Bons estudos ;-)
sexta-feira, 26 de fevereiro de 2010
Linguagem de Programação – Java – Aula 2 e 3
Na aula anterior, ficou um exercício pendente, onde deveríamos fazer uma classe chamada Matematica que realize as 4 operações básicas(+ - * /) sobre 2 números float. E depois, utilizando a classe Matematica, escreva uma classe chamada programa que realize as seguintes operações: 5.3 + 4.7. É possível construir esse programa? Por que?
Bem, vamos a classe Matemática então, vou colocar o código por inteiro, mas também colocarei uma imagem de como ele ficou, para que tenham uma melhor visualização da identação e vejam melhor os comentários:
package calculadora;
public class Matematica {
private float num1; //definir atributos sempre como private
private float num2;
private float resultado;
public void somar(){ //definindo métodos
resultado = num1 + num2; //realizando as operações
}
public void subt(){
resultado = num1 - num2;
}
public void mult(){
resultado = num1 * num2;
}
public void div(){
resultado = num1 / num2;
}
public float mostrar(){ //metodo que retornará o resultado, por isso não deve ser void,
//e precisa ser do mesmo tipo do atributo, no caso retornará
//um float
return(resultado);
}
}
o código acima é o mesmo da imagem abaixo:

Não, não é possível pois os atributos são privados e não há métodos que permitam a entrada de valores na classe, para resolver isso, ou cria um método entrada(), ou, programando de forma porca, coloque os atributos como públicos. Faremos acrescentando um novo método:
public void entrada (float n1, float n2){ //entre parenteses está a definição de parametros
//este método será usado como forma de enviar dados para dentro da classe
num1 = n1;
num2 = n2; //atributos recebendo parametros
}
Portanto ficará assim:
Pronto, agora é possível resolvermos aquele problema. Continuando, vamos fazer a classe onde realmente realizará as operações, a chamei de classe CalculadoraSimples:
package calculadora;
/*A classe realizará as seguintes operações:
* 5.3 + 4.7 e apresentar o resultado */
public class CalculadoraSimples
{
public static void main(String[] args)
{
Matematica calc = new Matematica();//instanciando a classe Matematica,calc é um objeto
//Somar
calc.entrada(5.3f, 4.7f); //atribuindo valores para os parametros n1 e n2
//sempre que passa um numero com casa decimal, ele acha que é double, mas haviamos
//definido que ele seria float, por isso, colocar o f na frente do numero para
//forçar ele entender que é float
calc.somar();
System.out.println("Resultado = " + calc.mostrar());
//Multiplicação
calc.entrada(3, 1.5f);
calc.mult();
System.out.println("Resultado da multiplicação = " + calc.mostrar());
}
}
imagem:

Beleza, continuando, na aula de ontem aprendemos realizar a entrada de dados com o teclado e a converter valores.
Entrada de dados:
Inicialmente deve-se realizar a importação do pacote java.io, pois, ele contém as classes necessárias que permitirão a entrada de dados através do teclado. A utilização dessas classes requer que o tratamento de exceções seja habilitado, neste exemplo, isso será realizado através da palavra reservada throws.
O próximo passo consiste em criar um objeto pertencente a classe BufferedReader, o qual permitirá receber os dados da System.in que representa o acesso ao dispositivo de hardware teclado. Concluindo este exemplo, o método readLine() obtém o conteúdo digitado até que o usuário pressione a tecla Enter.
É importante salientar que toda entrada de dados é recebida pela linguagem como um objeto pertencente a classe String sendo que, quando necessário, devemos realizar aconversão para o tipo de dados desejado.
Exemplo:
package entradaDeDados;
import java.io.*; //importando pacote para habilitar entrada de teclado
//pacotes em java são conjuntos de classes, esse pacote cuida de classes responsáveis
//por entrada e saida de dados
public class EntradaDeDados
{
public static void main(String[] args) throws IOException
{
String nome, sobrenome, idade; //declarando a variavel nome e idade do tipo String
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in)); //cria objeto teclado
System.out.print("Informe o seu nome:"); //saida na tela
nome = teclado.readLine(); //onde pega os valores do teclado, sempre recebe
//em String, caso precise de outros dados, tem que
//converter
System.out.print("Informe seu sobrenome:");
sobrenome = teclado.readLine();
System.out.print("Informe sua idade:"); //o print serve para escrever na frente
idade = teclado.readLine();
System.out.println("Olá, " + nome + " " + sobrenome + " , você tem " + idade + " anos" + "."); //saida em tela
}
}

Conversão de tipos de dados:
A conversão é realizada em dois passos, primeiro é criado um objeto a partir da classe que receberá, como parâmetro, o objeto da classe String, isso porque um dado sempre é recebido como String. Em seguida o método é usado para retornar um valor do tipo de dados inteiro para a variável saída. Exemplo: Convertendo String para int:
String entrada = “12”;
int saida = new Integer(entrada).intValue();
Outro exemplo, convertendo String para double:
String valor = "125.7";
double saida = new Double(valor).doubleValue();
Segue o exemplo de aplicação na classe Soma:
package entradaDeDados;
import java.io.*;
public class Soma
{
public static void main(String[] args) throws IOException
{
String num1, num2; //variaveis
int resulSoma;
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in)); //cria objeto teclado
System.out.print("Informe o primeiro valor:"); //mensagem ao usuario
num1 = teclado.readLine(); //pegando valor do teclado
System.out.print("Informe o segundo valor:");
num2 = teclado.readLine();
int valor1 = new Integer(num1).intValue(); //convertendo valores
int valor2 = new Integer(num2).intValue();
resulSoma = valor1 + valor2; //efetuando a operação
System.out.println("O resultado entre " + num1 + " e " + num2 + " é " + resulSoma);
}
}

Agora um Exercício para testar e se divertir:
Efetuar o cálculo da qtde de litros de combustíveis gasta em uma viagem, utilizando um automóvel que faz 12 Km por litro. Para obter o calculo, o usuário deve fornecer o tempo gasto na viagem e a velocidade média.Desta forma, será possível obter a distância percorrida com a fórmula Distancia = tempo * velocidade . Tendo o valor da distancia, basta calcular a quantidade de litros de combustivel utilizada na viagem com a fórmula: Litros_usados = Distacia / 12. O programa deve apresentar os valores da velocidade média, tempo gasto, a distancia percorrida e a qtde de litros utilizados na viagem. Dica: trabalhe com valores reais
package exercicios;
import java.io.*; //para fazer uso do teclado
import java.text.*; //para formatar casas decimais
public class Exe4a {
public static void main(String[] args) throws IOException
{
String sTempo, sVelocidade;
double dDistancia, dDistPercorrida, dLitros;
NumberFormat mascara = new DecimalFormat("###.00"); //para formatar as casas decimais
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in)); //cria objeto teclado
System.out.println("Informe o Tempo de Viagem: ");
sTempo = teclado.readLine();
System.out.println("Informe a Velocidade: ");
sVelocidade = teclado.readLine();
//converter as variaveis
double dTempo = new Double(sTempo).doubleValue();
double dVelocidade = new Double(sVelocidade).doubleValue();
dDistPercorrida = dTempo * dVelocidade; //calculo de distacia percorrida
dLitros = dDistPercorrida / 12;
System.out.println("Velocidade Média = " + sVelocidade +
"\nTempo Gasto = " + sTempo +
"\nDistância Percorrida = " + dDistPercorrida +
"\nQuantidade de Litros = " + mascara.format(dLitros));
}
}

Pronto, por enquanto é só, mas os estudos continuam ao longo da semana, agora é melhor eu me concentrar na aqui na aula ;-)
Ahh uma dica, achei um material muito bom para servir de base de estudos, o curso de Java do Jedi, que por sinal, estou aproveitando também, é só conferir aqui.
Bons estudos para todos nós ;-)








