Mostrando postagens com marcador programação. Mostrar todas as postagens
Mostrando postagens com marcador programação. Mostrar todas as postagens

30 de novembro de 2010

Linguagem de Programação: Java

Introdução a Programação JAVA


A linguagem Java foi desenvolvida em 1990 por uma equipe gerenciado por James Gosling na empresa Sun Microsystems.É uma linguagem de alto nível orientada a objetos. É a primeira verdadeiramente multi-plataforma e funciona em qualquer sistema operacional. O Java surgiu baseada na Linguagem C, também e comum o C++. A origem do Java veio de uma ilha na Indonésia produtora de uma grande variedade de café homônimo, a equipe percebeu como a bebida é apreciada por profissionais da área de informática e ao tomar um café numa lanchonete local, acharam muito justo fazer essa "homenagem" colocando o nome da ilha na linguagem. Diferentemente das linguagens convencionais, que são compiladas para código nativo, a linguagem Java é compilada para um bytecode que é executado por uma máquina virtual. A linguagem de programação Java é a linguagem convencional da Plataforma Java, mas não sua única linguagem.
Duke (mascote do Java)

Necessidades Básicas

Para se programar em Java é necessário algumas ferramentas como:

+JDK(Ja developer kid) - um pacote com as principais classes da linguagem e um copilador.
+IDE - Uma IDE facilita muito o desenvolvimento. 

As ferramentas mais  é o NetBeans (SUM MicroSustems) e o eclipse (eclipse.org).

Compilação e Execução de códigos Java.

Java é a unica linguagem de programação realmente multi-plataforma graças a JVM(Java Virtual Machine), que é responsável pela execução de um programa escrito em Java. Um código escrito é traduzido para bytecode, que é lido e executado pela JVM(instalado na máquina). Esse processo de compilação e execução chega a ser até 20 vezes mais lento que a linguagem C, mas isso impede que o Java seja implementado com qualquer tipo de software. A JVM cria um ambiente virtual independente para a máquina que você está trabalhando, isso deu ao Java grande impulso para sua disseminação ser tão elevada quando comparada as outras linguagens. Nunca anteriormente nenhuma nova linguagem de programação recebeu tanta atenção e tornou-se tão popular em tão pouco tempo. Desde o seu surgimento, Java tornou-se uma escolha atraente para o desenvolvimento de aplicações Internet/intranet. O fenômeno Java cativou a imaginação de programadores em todo mundo e está proporcionando o desenvolvimento de uma nova geração de aplicações distribuídas. 


Compilando programa em Java

A primeira coisa a fazer para utilizar a linguagem Java é instalar o Java Development Kit, ou JDKdownload. Depois da instalação do JDK(Java Development Kit), é essencial a configuração da variável PATH do seu Windows. Se não instalou clique aqui para aprender a instalar. 


Os programas em Java podem ser criados em qualquer editor que suporte o salvamento de arquivos texto sem formatação, isto é, não devem ser utilizados aplicativos como Word e WordPad (a não ser que sempre seja salvo um arquivo de texto puro).


Portanto, abra o editor de sua preferência (pode ser até... o Notepad!) e digite o um programa qualquer. Crie uma pasta (por exemplo, "softwares") para seu uso (de preferência em outra unidade de disco e não no C:). Ao final, salve o arquivo dentro desta pasta, com o bemvindo.java(como exemplo na figura abaixo) - tenha a certeza de utilizar exatamente este nome.

Exemplos de códigos


O método main é onde se inicia o programaa. Pode estar presente em qualquer classe. Os parâmetros de linha de comando são enviados para o array de Strings chamado args.



Exemplo Criação de classes:

public abstract class Montanha {
public abstract void fazerBarulho();
}
public class Cachorro extends Animal {
public void fazerBarulho() {
System.out.println("AuAu!");
}
}
public class Gato extends Animal {
public void fazerBarulho() {
System.out.println("Miau!");
}
}
O exemplo acima cria a classe Animal e duas classes derivadas de Animal. É importante observar que nas classes derivadas temos a redefinição do método fazerBarulho(). Esta redefinição é classificada como uma sobreposição (override) de métodos. O conceito de sobreposição somente pode ser identificado e utilizado quando temos classes dispostas em um relacionamento de herança.

Java não suporta herança múltipla, devido a possibilidade de uma classe pai ter um método com o mesmo nome de outra classe pai, e gerar possíveis falhas ao chamar o método, e todas as classes em Java derivam de da classe Object. A única possibilidade de se ver herança múltipla em Java é no uso de interfaces, pois uma classe pode herdar várias interfaces.

Programa em Java para somar dois números inteiros:
import javax.swing.JOptionPane;
public class Soma{
 
  public static void main(String[]args){
 
    //declaração das variáveis
    String numeroA, numeroB;
    int numero1, numero2, soma;
 
    //pede dois números inteiros
    numeroA = JOptionPane.showInputDialog("Entre com o primeiro número inteiro");
    numeroB = JOptionPane.showInputDialog("Entre com o segundo número inteiro");
 
    //converte os números de string para inteiro
    numero1 = Integer.parseInt(numeroA);
    numero2 = Integer.parseInt(numeroB);
 
    //outra forma de conversão seria utilizar o método valueOf
    numero1 = Integer.valueOf(numeroA);
    numero2 = Integer.valueOf(numeroB);
 
    //efetua a soma dos números
    soma = numero1 + numero2;
 
    //mostra o resultado da soma para o usuário
    JOptionPane.showMessageDialog(null,"A soma dos números é: " +
    soma,"Resultado",JOptionPane.PLAIN_MESSAGE);
  }
}


Referencias: http://www.inf.pucrs.br/ Guia do Hardware

10 de novembro de 2010

Humor: 20 desculpas de programador

20 - ”Verdadeiramente. Isto é muito estranho…”

19 -”Isto nunca aconteceu antes.”

18 -”Isto funcionava bem até ontem.”

17 -”O que? Como isto é possível?”

16 -”Isto deve ser um problema com o seu hardware.”

15 -”Confessa. O que você digitou de errado para travar?”

14 -”Na realidade os dados que você utilizou estão fora de uso.”

13 -”Eu não mexo neste código há semanas!”

12 -”Você deve estar rodando a versão errada.”

11 -”É apenas uma coincidente falta de sorte.”

10 -”Você tem de concordar é impossível testar todas as possibilidades.”

09 -”Este pode não ser o código que eu fiz.”

08 -”Isto funciona, mas nunca havia sido pensado.”

07 -”Alguém deve ter alterado meu código.”

06 -”Você verificou se não tem um vírus no seu computador.”

05 -”Porque você quer fazer isto logo desta maneira.”

04 -”Tudo bem, mesmo que não funcione, aparentemente funciona?”

03 -”Esta versão não é compatível com seu computador.”

02 -”Onde você estava quando o programa estava funcionando?”

01 -”Só sei de uma coisa. No meu computador funciona.”






Fonte: forum.intonses.com.br/

9 de novembro de 2010

Dicas: Site para executar seu código de programação

CodePad é um site onde você pode executar códigos pela web das 10 linguagens de programação mais populares da Internet.  A finalidade do serviço é educativa e ainda permite que você utilize o site para divulgar códigos feitos por você para seu amigos. Um endereço único lhe será fornecido para acessar o código. As pessoas poderão enviar comentários e sugestões sobre seu código, e poderá testar seu código em qualquer lugar pela internet. Nele você encontra diversas linguagens para você brincar, como PHP, Python, C e muitas outras. Além de executar e mostrar a saída do código, você poderá compartilhar o código. Vale a pena conferir.



Codiped recebendo uma programação em C

8 de novembro de 2010

Algoritmo e Programação: Lista 4

Todos os programas foram desenvolvidos na linguagem de programação C, e sem utilizar diretivas específicas de sistemas operacionais, como system("pause"), getch( ) ou conio.h. Nenhum dos testes estão impressas mensagens com solicitação de dados ao usuário.


1. Escreva um programa que recebe dois números inteiros e imprima na tela a soma destes números.



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n1,n2,soma;
  5. scanf("%d%d",&n1,&n2);
  6. soma=n1+n2;
  7. printf("%d",soma);
  8. return 0;
  9. }


2. Escreva um programa que recebe dois n umeros inteiros e imprima na tela a subtra c~ao do maior pelo menor.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2. int main(){
  3. int n1,n2,sub;
  4. scanf("%d%d",&n1,&n2); 
  5. if(n1>n2){
  6. sub=n1-n2;
  7. }
  8. else sub=n2-n1;
  9. printf("%d",sub);
  10. return 0;
  11. }

3. Escreva um programa que recebe um inteiro e imprima "s" se ele for divis vel por 11 ou "n" caso contr ario.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  
  5. int n;
  6. scanf("%d",&n);
  7.  
  8. if(n%11==0){
  9. printf("S");
  10. }
  11. else printf("N");
  12.  
  13. return 0;
  14. }

4. Escreva um programa que recebe 2 números reais como entrada e imprima a relação entre eles: se são "iguais", "menor que" ou "maior que".

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  
  5. float n1,n2;
  6. scanf("%f%f",&n1,&n2);
  7.  
  8. if(n1>n2){ printf("%.f maior que %.f",n1,n2);}
  9. else if(n1<n2){ printf("%.f menor que %.f",n1,n2);}
  10. else printf("iguais");
  11.  
  12. return 0;
  13. }

5. Escreva um programa que recebe 3 numeros reais e imprima o menor e o maior deles.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n1,n2,n3;
  5. scanf("%d%d%d",&n1,&n2,&n3);
  6. if (n1>n2 && n1>n3){ printf("%d maior\n",n1);}
  7. if (n2>n1 && n2>n3){ printf("%d maior\n",n2);}
  8. if (n3>n1 && n3>n2){ printf("%d maior\n",n3);}
  9. if (n1<n2 && n1<n3){ printf("%d menor\n",n1);}
  10. if (n2<n1 && n2<n3){ printf("%d menor\n",n2);}
  11. if (n3<n1 && n3<n2){ printf("%d menor\n",n3);}
  12. return 0;

6. Escreva um programa que recebe 3 números inteiros e imprima eles em ordem crescente.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){

  4. int a,b,c,d;
  5. scanf("%d%d%d",&a,&b,&c);

  6. if(a > b)
  7. {
  8. d = a;
  9. a = b;
  10. b = d;
  11. }

  12. if(a > c)
  13. {
  14. d = a;
  15. a = c;
  16. c = d;
  17. }

  18. if(b > c)
  19. {
  20. d = b;
  21. b = c;
  22. c = d;
  23. }
  24. printf("%d %d %d\n",a,b,c);

  25. return 0;
  26. }

7. Escreva um programa que recebe como entrada o raio de um círculo e imprima o diâmetro, o per metro e a área desse círculo (considere = 3:14159).

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. float r,diam,area,per,pi=3.14159;
  5. scanf("%f",&r);
  6. diam = 2*r;
  7. per = pi*diam;
  8. area = pi*r*r;
  9. printf("%.2f\n%.2f\n%.2f\n",diam,per,area);
  10. return 0;
  11. }


8. Escreva um programa que recebe 4 números e imprima a média entre estes números com precisão de duas casas decimais.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. float n1,n2,n3,n4,media;
  5. scanf("%f%f%f%f",&n1,&n2,&n3,&n4);
  6. media= (n1+n2+n3+n4)/4;
  7. printf("%.2f\n",media);
  8. return 0;
  9. }


9. Escreva um programa que recebe um inteiro n e calcule e imprima a soma dos n primeiros números naturais.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n,soma=0;
  5. int i=0;
  6. scanf("%d",&n);
  7. for(i;i<n;i++){
  8. soma=soma+i;
  9. }
  10. printf("%d\n",soma);
  11. return 0;
  12. }

10. Escreva um programa que recebe um inteiro n e calcule e imprima a multiplica ção de todos os n umeros pares de 1 at e n.

obs.: uma declaração como int, pode possuir apenas 16 bits, 32 bits ou 64 bits.



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. int n,mult=1;
  5. int i=1;
  6. scanf("%d",&n);
  7. for(i;i<=n;i++)
  8. {
  9. if(i%2==0){
  10. mult=mult*i;
  11. }
  12. }
  13. printf("%d\n",mult);
  14. return 0;
  15. }


11. Escreva um programa que recebe um número x e um inteiro positivo n e imprima o resultado de x'n sem utilizar funções da biblioteca matemática.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int i, j;
  5. int x, n, result, aux;
  6. scanf("%d%d", &x,&n);
  7. if(n == 0) {
  8. result = 1;
  9. } else {
  10. result = x;
  11. for(i = 1; i < n; i++) 
  12. {
  13. aux = 0;
  14. for(j = 1; j <= x; j++)
  15. {
  16. aux = aux + result;
  17. }
  18. result = aux;
  19. }
  20. }
  21. printf("%d\n", result);
  22. return 0;
  23. }

12. Escreva um programa que recebe um inteiro n e imprima o fatorial de n.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int i;
  5. int x, result=1, aux;
  6.  
  7. scanf("%d", &x);  
  8.  
  9. for(i = 1; i <= x; i++) 
  10. {
  11. aux=i;
  12. result=result*i; 
  13. }  
  14. printf("%d\n", result);
  15. return 0;
  16. }

13. Escreva um programa que recebe uma sequência de números inteiros e imprima a soma destes números. Seu programa deve parar de ler novos números e imprimir a soma quando ler o número 0.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {  
  4. int n,result=0;
  5. do{
  6. scanf("%d",&n);
  7. result+=n;
  8. }while(n!=0);
  9. printf("%d\n", result);
  10. return 0;
  11. }

14. Escreva um programa que recebe n números, calcule a média entre eles e imprima quais destes números estão acima da média e quais estão abaixo da média. Seu programa deve primeiramente ler a quantidade de números (n) e imprimir primeiro aqueles que estão acima da média e depois os que estão abaixo da média na mesma ordem em que eles ocorrem no vetor.


Obs.: O código aceita somente números inteiros!



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,i=0;
  6. float media;
  7. scanf("%d",&n);
  8. int vet[n]; 
  9. for(cont=0;cont<n;cont++)
  10. {
  11. scanf("%d",&vet[cont]);
  12. i=i+vet[cont];
  13. }
  14.  
  15. printf("\n");
  16. media = i/cont;
  17. for(cont=0;cont<n;cont++)
  18. {
  19. if (vet[cont]>media)
  20. {
  21. printf("%d\n",vet[cont]);
  22. }
  23. }
  24.  
  25. printf("\n");
  26. for(cont=0;cont<n;cont++)
  27. {
  28. if (vet[cont]<media)
  29. {
  30. printf("%d\n",vet[cont]);
  31. }
  32. }
  33. return 0;
  34. }

15. Escreva um programa que recebe n números e imprima estes números na ordem inversa em que foram digitados. Seu programa deve primeiramente ler a quantidade de números (n).


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,i=0;
  6. scanf("%d",&n);
  7. int vet[n]; 
  8. for(cont=0;cont<n;cont++)
  9. {
  10. scanf("%d",&vet[cont]);
  11. }
  12. for(cont=n-1;cont>=0;cont--)
  13. {
  14. printf("\n%d",vet[cont]);
  15. }
  16. printf("\n");
  17. return 0;
  18. }


16. Escreva um programa que recebe n números e imprima a soma dos números que estão nos índices pares do vetor. Seu programa deve primeiramente ler a quantidade de números (n).



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,soma=0;
  6. scanf("%d",&n);
  7. int vet[n];
  8. for(cont=0;cont<n;cont++)
  9. {
  10. scanf("%d",&vet[cont]);
  11. if (cont%2==0) {
  12. soma=soma+vet[cont];
  13. }
  14. }
  15. //mostra os valores do vetor com o valor digitado
  16. /*for(cont=0;cont<n;cont++)
  17. {
  18. printf("vetor[%d]=%d\n",cont,vet[cont]);
  19. }*/
  20. printf("%d\n",soma);
  21. return 0;
  22. }

17. Escreva um programa que recebe n números, armazene-os em um vetor e depois lê mais um número e imprima "s" se este n úmero está no vetor ou "n" caso contrário.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,search,cont;
  6. int val=0;
  7. scanf("%d",&n)
  8. int vet[n];
  9. for(cont=0;cont<n;cont++)
  10. {
  11. scanf("%d",&vet[cont]);
  12. }
  13. scanf("%d",&search);
  14. for(cont=0;cont<n;cont++)
  15. {
  16. if(vet[cont]==search)
  17. {
  18. val=1;
  19. }
  20. }
  21. if (val==1){ printf("s\n");}
  22. else printf("n\n");
  23. return 0;
  24. }


18. Escreva um programa que leia os números de uma matriz quadrada N x N (seu programa deve ler a dimensão N da matriz antes de tudo) e imprima a soma dos elementos da diagonal principal da matriz.

view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,cont,soma=0;
  6. int l,c; //linha e coluna
  7. scanf("%d",&n);
  8. int mat[n][n]; 
  9. for(l=0;l<n;l++)
  10. {
  11. for (c=0;c<n;c++)
  12. {
  13. scanf("%d",&mat[l][c]);
  14. }
  15. }
  16. // o comentado imprime a matriz na tela
  17. /*printf("\n");
  18. for(l=0;l<n;l++)
  19. { printf("\n");
  20. for (c=0;c<n;c++)
  21. {
  22. printf("%d ",mat[l][c]);
  23. }
  24. }
  25. */
  26. for(l=0;l<n;l++)
  27. {
  28. for (c=0;c<n;c++)
  29. {
  30. if (l==c){soma+=mat[l][c];}
  31. }
  32. }
  33. printf("\n%d\n ",soma);
  34. return 0;
  35. }

19. Escreva um programa que recebe duas matrizes de mesma dimensão N x M (seu programa deve ler as dimensões N e M da matriz antes de tudo) e imprima a soma destas matrizes.


view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.  
  5. int n,m, cont;
  6. int l,c;
  7. scanf("%d%d",&n,&m);
  8. int mat1[n][m],mat2[n][m],mat_soma[n][m];

  9. for(l=0;l<n;l++)
  10. {
  11. for (c=0;c<m;c++)
  12. {
  13. scanf("%d",&mat1[l][c]);
  14. }
  15. }
  16. for(l=0;l<n;l++)
  17. {
  18. for (c=0;c<m;c++)
  19. {
  20. scanf("%d",&mat2[l][c]);
  21. }
  22. } 
  23. for(l=0;l<n;l++)
  24. {
  25. for (c=0;c<m;c++)
  26. {
  27. mat_soma[l][c]=mat1[l][c]+mat2[l][c];
  28. }
  29. } 
  30. printf("\n");
  31. // imprime o valor das matrizes na tela
  32. /*for(l=0;l<n;l++)
  33. {
  34. printf("\n");
  35. for (c=0;c<m;c++)
  36. {
  37. printf("%d ",mat1[l][c]);
  38. }
  39. }
  40. printf("\n");
  41. for(l=0;l<n;l++)
  42. {
  43. printf("\n");
  44. for (c=0;c<m;c++)
  45. {
  46. printf("%d ",mat2[l][c]);
  47. }
  48. } 
  49. */
  50. for(l=0;l<n;l++)
  51. {
  52. printf("\n");
  53. for (c=0;c<m;c++)
  54. {
  55. printf("%d ",mat_soma[l][c]);
  56. }
  57. }
  58. return 0;
  59. }

20. Uma matriz quadrada é chamada triangular superior quando todos os elementos abaixo da diagonal principal são iguais a zero. Escreva um programa que lê uma matriz N x N e imprima "s" se ela e triangular superior ou "n" caso contrário.



view plaincopy to clipboard print:
  1. #include <stdio.h>
  2.  
  3. int main() {
  4. int n;
  5. int l,c;
  6. scanf("%d",&n);

  7. int mat[n][n];

  8. for(l=0;l<n;l++)
  9. {
  10. for (c=0;c<n;c++)
  11. {
  12. scanf("%d",&mat[l][c]);
  13. }
  14. }

  15. for(l=0;l<n;l++)
  16. {
  17. for (c=0;c<n;c++)
  18. {
  19. if(l>c && mat[l][c]!=0)
  20. {
  21. printf("n\n");
  22. return 0;
  23. }
  24. }
  25. }
  26. printf("s\n");

  27. return 0;
  28. }

Todas as questões foram resolvidas e testadas por, caso haja alguma forma diferenciada que possa facilitar o algoritmo, deixem comentários.

 
Design by @cleidimarviana | Bloggerized by Cleidimar Viana - Diário de Sistema