Somando e subtraindo duas matrizes em Java

import java.util.Scanner;

public class Somando_Subtraindo_Matrizes {
   
    public static void main(String [] args){
       
   // Autor: João Matheus Santos Assis
   
        Scanner entrada = new Scanner(System.in);
   
        // Declarando as matrizes como inteiro, com dimensões 2X2
        int A[][] = new int [2][2];
        int B[][] = new int [2][2];
        // A matriz C armazenará a soma das matrizes A e B
        int C[][] = new int [2][2];
        // A matriz C armazenará a diferença das matrizes A e B
        int D[][] = new int [2][2];
   
       
   // Obtendo a primeira matriz
        System.out.println("PRIMEIRA MATRIZ!");
               
    for (int i=0; i<2; ++i){
        for (int j=0; j<2; ++j){
            System.out.printf("A[%d][%d]: \n",i,j);
            /*entrada.nextInt() é utilizado para lê
            valores inteiros digitados pelo usuário*/

            A[i][j] = entrada.nextInt();
        }       
    }
    
       
    // Obtendo a segunda matriz
        System.out.println("SEGUNDA MATRIZ!");
            
    for (int i=0; i<2; ++i){
        for (int j=0; j<2; ++j){
            System.out.printf("B[%d][%d]: \n",i,j);
            B[i][j] = entrada.nextInt();
        }            
    }
       
       
       
        System.out.printf("SOMA DAS MATRIZ A e B!\n");
    
    for (int i=0; i<2; ++i){
        for (int j=0; j<2; ++j){
            // \t tem função de tabulação
            // \n tem função de quebra linha
            C[i][j] = A[i][j] + B[i][j];
            System.out.printf("%d\t",C[i][j]); 
        }
          System.out.printf("\n");
    }
       
       
        System.out.println("\nDIFERENÇA DAS MATRIZ A e B!");
    for (int i=0; i<2; ++i){
        for (int j=0; j<2; ++j){
            D[i][j] = A[i][j] - B[i][j];
            System.out.printf("%d\t",D[i][j]);   
        } 
          System.out.printf("\n");      
    }
   
   
    }   
}

Palavras-Chaves: Soma, Subtração, matriz, Java.


Artigos relacionados em Java:




Feito no NetBeans-5.5.1 | Executável

Desenhando um quadrado em Pascal

Program QUADRADO;
uses crt;
var i, j, x : integer;
begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis

     {
      Desenhando um quadrado com o caractere -X- em pascal, utilizando
      o comando for e o gotoxy. O quadrado irá ter lados 20 por 20, o
      quadrado não vai contér preenchimento interno.
     }


     writeln; // Quebra de linha.

     // Lado superior do quadrado.
     for i := 1 to 20 do
         write('X');

     writeln;

     {
      Utilizando o gotoxy(COLUNA, LINHA)
      A variável x irá conter o valor da coluna, alternando entre 1 e 20.
      A variável i irá conter o valor da linha.
     }
     for i := 3 to 20 do begin
         x := 1;
         for j := 1 to 2 do begin
             gotoxy(x, i);
             write('X');
             x := 20;
         end;
         writeln;
     end;

     // Lado inferior do quadrado.
     for i := 1 to 20 do
         write('X');

     writeln;
     writeln;
     writeln;

readkey;
end.


Palavras-Chaves: gotoxy, quadrado, Pascal.


Artigos relacionados em Pascal:




Feito no Dev-Pascal 1.9.2 | Executável

*Obs.: Para que realmente pareça um quadrado é preciso modificar a fonte para 8X8.

IMC em Java

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;

 /* O Índice de Massa Corporal representada pela sigla IMC
  é a medida do grau de obesidade de uma pessoa, considerando
  a altura e a massa de uma pessoa.*/

public class IMC extends JPanel{
   
    // Autor: João Matheus Santos Assis
   
    float Mass_a, Altur_a, Resultad_o;
   
    private JPanel Obter_dados = new JPanel();
    private JPanel Exibir_Resultado = new JPanel();

    private JLabel Exibi_IMC = new JLabel();
    private JLabel EXibi_Status = new JLabel();
   
    // Espera-se que a massa esteja em quilogramas e a altura em metros.
    private JLabel Massa = new JLabel("Massa (Kg): ");
    private JLabel Altura = new JLabel(" Altura (m): ");

    private JTextField M_assa = new JTextField(9);
    private JTextField A_ltura = new JTextField(9);

    private JButton Calcular = new JButton("Calcular");
    private JButton Limpar = new JButton("Limpar");

    public IMC(){
       
        // Definindo a fonte dos JLabel's
        Massa.setFont(new Font("Tahoma", Font.BOLD, 14));
        Altura.setFont(new Font("Tahoma", Font.BOLD, 14));
       
       
        // Adicionando os componentes
        Obter_dados.add(Massa);
        Obter_dados.add(M_assa);
        Obter_dados.add(Altura);
        Obter_dados.add(A_ltura);
        Obter_dados.add(Calcular);
        Obter_dados.add(Limpar);
        Obter_dados.add(Exibi_IMC);

        add(Obter_dados);
        // Adicionando título ao JLabel
        Obter_dados.setBorder(BorderFactory.createTitledBorder("IMC"));
        // Dimensão do JPanel 210 de comprimento por 150 de largura
        Obter_dados.setPreferredSize(new Dimension(210,150));
       
        Exibir_Resultado.add(EXibi_Status);
       
        add(Exibir_Resultado);
        Exibir_Resultado.setBorder(BorderFactory.createTitledBorder("Resultado"));
        Exibir_Resultado.setPreferredSize(new Dimension(210,90));
       
       
        Calcular.addActionListener(new ActionListener(){
           
            public void actionPerformed( ActionEvent event){
           
            // Obtendo a massa e a altura e convertendo de String para float
            Mass_a = Float.valueOf(M_assa.getText());
            Altur_a = Float.valueOf(A_ltura.getText());
           
            // Calculo de IMC: massa dividida pelo quadrado da altura
            Resultad_o = Mass_a / (Altur_a * Altur_a);
           
            EXibi_Status.setText(Verifica(Resultad_o));
            Exibi_IMC.setText(String.valueOf(Resultad_o));
           
           
            }});
           
           
            Limpar.addActionListener(new ActionListener(){
               
            public void actionPerformed(ActionEvent event){
               
                // Apagando os conteúdos os JTextField's'
                M_assa.setText("");
                A_ltura.setText("");
                Exibi_IMC.setText("");
           
            }               
            });
       
    }
   
   
    public String Verifica (float Resultad_o){
        String resultado = null;
       
        // Verificando a situação do indivíduo
       
        if (Resultad_o<18.5)
              resultado="Baixo peso";
        else if (Resultad_o>=18.5 && Resultad_o<24.9)
              resultado="Normal";
        else if (Resultad_o>=25.0 && Resultad_o<=29.9)
              resultado="Pre-obeso";
        else if (Resultad_o>=30.0 && Resultad_o<=34.9)
              resultado="Obesidade classe I (leve)";
        else if (Resultad_o>=35.0 && Resultad_o<39.9)
              resultado="Obesidade classe II (moderada)";
        else if (Resultad_o>=40.0)
              resultado="Obesidade classe III (grave,morbida)";
       
        // Retorna a variável resultado no modo String
        return resultado;
       
    }
   
    public static void main(String[] args){
       
        JFrame Janela = new JFrame();
        IMC imc = new IMC();
       
        Janela.add(imc);
       
        Janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Janela.setTitle("Calculando o IMC");
        Janela.setSize(240,300);
        Janela.setVisible(true);
        Janela.setResizable(false);
        Janela.setLocationRelativeTo(null);
    }
}



Palavras-chaves: IMC-Massa-Altura-Calcular-Limpar.


Artigos relacionados em Java:

Feito no NetBeans-5.5.1 | Executável





Feito no NetBeans-5.5.1 | Executável


Tabela ASCII em Pascal

Program TABELA_ASCII;
uses crt;
var
i, x, y : integer;
begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis


     // Inicializando as variáveis, atribuindo valor 1.
     x := 1;
     y := 1;


     // Programa imprimi os caracteres da tabela ASCII de 1 até 216.
     for i := 1 to 216 do begin
         // Gotoxy(COLUNA, LINHA);
         gotoxy(x, y);

         {
          O comando chr é o responsável por obter o caractere
          da tabela ASCII, de acordo com seu parâmetro.
         }
         write(i, ': ', chr(i) );
         x := x + 9; // Incrementando o contador.

         // Como é inicializado com 1, temos: 1 + 9 * 9 = 82.
         if (x = 82) then begin
            x := 1;
            y := y + 1;
         end;

     end;
     
readkey;
end.


Palavras-chaves: tabela ASCII, chr(), gotoxy(Coluna,Linha), Pascal.


Artigos relacionados em Pascal:





Feito no Dev-Pascal 1.9.2 | Executável

União, Intersecção e Diferença de dois vetores em C/C++

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


  //Autor: Mathias Santos Assis

 main(){
  
   /*O vetor A e B pode armazenar até 10 elementos*/
  
   /*Considerando a hipótese de que todos os elementos
   do vetor A seja diferente do vetor B, o vetor
   união é declarado com 20 posições*/

  
   /*Considerando a hipótese de que todos os elementos
   do vetor A seja iguais do vetor B, o vetor
   interseccao é declarado com 10 posições*/

  
   /*Considerando a hipótese de que todos os elementos
   do vetor A seja diferentes do vetor B, o vetor
   Diferenca é declarado com 10 posições*/

  
   int A[10],B[10], Uniao[20], interseccao[10], Diferenca[10];
   int op, aux, preenchimento_A, preenchimento_B;
  
     preenchimento_A = preenchimento_B = 0;
  
    // Menu de opção
    printf("<1> Inserir Novo vetor A\n");
    printf("<2> Inserir Novo vetor B\n");
    printf("<3> Uniao de A e B\n");
    printf("<4> Interseccao de A e B\n");
    printf("<5> Diferenca de A e B\n");
    printf("<6> Sair\n");

 
  /* Laço infinito (será repetido o bloco
      permanentemente até que o comando
      break seja utilizado)*/
 
  for (int repeat=0; repeat<1; --repeat){ 
 
    op = 0; // Garante que ocorra o laço abaixo
    while ((op<1) || (op>6)){
      printf("\nA opcao deve esta entre 1 e 6.\n");
      printf("Digite opcao: ");
      scanf("%d",&op);
    } printf("\n"); // Quebra de linha
   
   

    
     int Dif,Ok; // Declarando novas variáveis
     


     /*Tanto o vetor A como o B, que é preenchido
       escolhendo as repectivas opções 1 e 2,
       não é permitido a inserção de valores
       repetidos dentro do vetor. Ex.: A[0]=4;
       Nenhuma outra posição dentro do vetor
       alocará o número
4.*/


     if (op == 1){
       for (int i=0; i<10; ++i){
            
         printf("A[%d]: ",i);
         scanf("%d",&A[i]);
        
        
         Ok=0; // Inicializando a variável
         if (i>0){ while (Ok != 1){       
         Dif=0;
                
           for (int j=0; j<i; ++j)
               if (A[i]!=A[j]) Dif++;
          
           /* Caso o valor digitado ainda não
            persista no vetor, este será alocado.*/
   
           if (Dif==i) Ok=1; // Quando Ok é igual a 1, o laço while é finalizado
              else{
               printf("A[%d]: ",i);
               scanf("%d",&A[i]);
              }
         }}
       }
      
       printf("\n");
         // Ordenando o vetor A em ordem crescente
         for (int i=0; i<10; ++i){
           for (int j=0; j<10; ++j){
             if (A[j]>A[i]){
               aux=A[j];
               A[j]=A[i];
               A[i]=aux;
             }
           }
         }
        
         // Exibindo o vetor A para o usuário
         for (int i=0; i<10; ++i)
          printf("%d\t",A[i]);
        
         /* A variável abaixo ao assumir valor 1,
         indica que o vetor A já foi preenchido */

         preenchimento_A = 1;
     }
    



     if (op == 2){
       for (int i=0; i<10; ++i){
            
         printf("B[%d]: ",i);
         scanf("%d",&B[i]);
        
        
         Ok=0;
         if (i>0){ while (Ok != 1){       
         Dif=0;
                
           for (int j=0; j<i; ++j)
               if (B[i]!=B[j]) Dif++;
              
           if (Dif==i) Ok=1;
              else{
               printf("B[%d]: ",i);
               scanf("%d",&B[i]);
              }
         }}
       }
      
       printf("\n");
         // Ordenando o vetor B em ordem crescente
         for (int i=0; i<10; ++i){
           for (int j=0; j<10; ++j){
             if (B[j]>B[i]){
               aux=B[j];
               B[j]=B[i];
               B[i]=aux;
             }
           }
         }
        
         // Exibindo o vetor B para o usuário
        for (int i=0; i<10; ++i)
          printf("%d\t",B[i]);
        
         /* A variável abaixo ao assumir valor 1,
         indica que o vetor B já foi preenchido */

         preenchimento_B = 1;
     }
    
    
    
    
    
     /* Quando a opção 3 é escolhida será
     gerado o vetor união do vetor A e B,
     que é formado por todos os elementos do
     vetor A ou B, excluindo as repetições*/


     int cont=10int cont_Igualdade;
     if (op == 3){
       /* Se os vetores A e B estiverem preenchido
       os comandos abaixo seram realizados*/

       if ((preenchimento_A ==1)&&(preenchimento_B ==1)){

         /* Como os elementos do vetor A são todos
         diferentes entre si, as 10 primeiras posições
         do vetor União seram ocupadas respectivamente
         pelas 10 primeiras posições do vetor A. */


         for (int i=0; i<10; ++i)
           Uniao[i]=A[i];
        
         for (int i=0; i<10; ++i){
             cont_Igualdade=0;
            
           for (int j=0; j<10; ++j)
             if (B[i] == A[j]) cont_Igualdade++;
          
             if (cont_Igualdade==0) Uniao[cont++]=B[i];
         }
        
         // Ordenando o vetor Uniao em ordem crescente
         for (int i=0; i<cont; ++i){
           for (int j=0; j<cont; ++j){
             if (Uniao[j]>Uniao[i]){
               aux=Uniao[j];
               Uniao[j]=Uniao[i];
               Uniao[i]=aux;
             }
           }
         }
        
         // Exibindo o vetor Uniao para o usuário
         for (int i=0; i<cont; ++i)
           printf("%d\t",Uniao[i]); 
          
       } else printf("Operacao invalida"); 
     }
    
    
    
    
     /* Quando a opção 4 é selecionada será
     gerado o vetor da interseccao do vetor A e B,
     que são os elementos comuns a ambos*/

     if (op == 4){
       if ((preenchimento_A ==1)&&(preenchimento_B ==1)){
         for (int i=0; i<10; ++i){
           for (int j=0; j<10; ++j){
             if (A[i] == B[j])
               // Exibindo o vetor Interseccao para o usuário
               printf("%d\t",A[i]);
           }
         }
       } else printf("Operacao invalida");
     }
    
    
    
    
    

     /*Quando a opção 5 é escolhida será
     gerado o vetor da diferença entre
     o vetor A e B.
     O vetor formado é constituido pelos elementos
     de A que não pertencem a B*/


     if (op == 5){
       if ((preenchimento_A ==1)&&(preenchimento_B ==1)){
                          
         for (int i=0; i<10; ++i){
             cont_Igualdade=0;
            
           for (int j=0; j<10; ++j)
             if (A[i] == B[j]) cont_Igualdade++;
          
             // Exibindo o vetor Diferenca para o usuário
             if (cont_Igualdade==0) printf("%d\t",A[i]);
         }
       } else printf("Operacao invalida");
     }
    
    
    
    
    
     /* Ao escolher a opção 6 o programa será
     encerrado, pois o laço for irá ser quebrado*/

     if (op == 6)
       break;    
    
 
    
     /* Ao fim de cada opção as duas
     linhas abaixo será executadas*/

     printf("\n");
       system("pause");
    
  }
    
 }




Palavras-Chaves: vetor_A, vetor_B, união, intersecção, Difirença, Ordem Crescente, C/C++.


Artigos relacionados em C/C++:






Feito no Dev C++ 4.9.9.2 | Executável

Barra de Carregamento em Java

import java.awt.Cursor;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JProgressBar;

 /*Este programa simula o carregamento de uma página*/
 // Autor: João Matheus Santos Assis

public class Carregamento extends JFrame{
   
    private JProgressBar Barra_de_Carregamento = new JProgressBar();
    private JButton Iniciar = new JButton("Inicializar");
   
    // Fonte a ser utilizada no JLabel
    private Font Fonte = new Font("Lucida Console", Font.PLAIN, 18);
    private JLabel Status = new JLabel();
   
    public Carregamento(){
        super("Tela de carregamento...");
           
        // Layout do JFrame
            setLayout(new FlowLayout());
       
        // Propriedades da janela
        this.setSize(300,120);
        // Localização do programa na tela
        this.setLocation(100,100);
        this.setResizable(false);
        this.setVisible(true);
     
      // Quando true é exibido o percentual no carregamento
      Barra_de_Carregamento.setStringPainted(true);    
      this.add(Barra_de_Carregamento);
     
     
      this.add(Iniciar);
      Status.setFont(Fonte);
      this.add(Status);
   
   
    // Eventos que aconteceram ao click no botão Iniciar
    Iniciar.addActionListener(new ActionListener(){
       
        public void actionPerformed(ActionEvent event) {
           
            Rectangle progresso = Barra_de_Carregamento.getBounds();  
            progresso.x = 0;  
            progresso.y = 0;  
           
            Barra_de_Carregamento.setValue(0);  
            // Barra de carregamento tem valor mínimo igual a zero
            Barra_de_Carregamento.setMinimum(0);  
            // Barra de carregamento tem valor máximo igual a cem
            Barra_de_Carregamento.setMaximum(100);
         
           
          // Modifica o cursor para indicar carregamento
          setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));         
         
             for(int i=0 ; i <= 100 ; i++){
                // 0,1 segundos equivale a 1% da barra de carregamento
                try {Thread.sleep(100);} catch (InterruptedException Ig) {}
                // Atualizando o valor da barra de carregamento
                Barra_de_Carregamento.setValue(i);
                Barra_de_Carregamento.paintImmediately(progresso); 
             }
         
          // Devolve o cursor a forma inicial
          setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
          // Mensagem é exibida ao fim do primeiro carregamento
          Status.setText("Carregamento Concluido.");
         
        }
    });
     
    }
   
    public static void main(String[] args) {
        new Carregamento();
    }
   
}


Palavras-chaves: JProgressBar-Iniciar-Sleep-Cursor-Java.


Artigos relacionados em Java:



Feito no NetBeans-5.5.1 | Executável

Feito no NetBeans-5.5.1 | Executável


Volume de uma pirâmide em C/C++

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

// Autor: João Matheus Santos Assis

 main(){
    
     // Neste programa a base é considerada quadrada.
      
       float base, altura,volume; // Declarando as variáveis
    
     printf("Base da piramide: ");
     scanf("%f",&base);
    
     printf("Altura: ");
     scanf("%f",&altura);
    
     /*O volume de uma pirâmide é dado pelo terço
     da área da base multiplicado pela sua altura*/
     volume = (float) 1/3 * pow(base,2) * altura;
    
     printf("Volume: %3.2f\n",volume);
    
    system("pause"); 
 }


Palavras-chaves: base-altura-volume-pirâmide.


Artigos relacionados em C/C++:


Feito no Dev C++ 4.9.9.2 | Executável

Utilização de registro em Pascal

Program ESTATISTICA;
uses crt;

type registro = record
     idade, salario, numeroDeFilhos: integer;
     {Aqui pode-se declarar variáveis de tipos
     diferentes como real, string, dentre outras.
     Ex: nome: string;}
end;


var
arquivo: array [1..3] of registro;
i, salarioTotal, numeroTotalDeFilhos, salarioAcimaDeMilReais : integer;


begin

     // Site: http://programjm.blogspot.com.br/
     // Autor: João Matheus Santos Assis

     {
      Esse programa trabalha com o uso de registro,
      que é uma ferramenta poderosa, pois trabalha
      com conjuntos de dados, estando logicamente
      ou não relacionados.
     }

     // Inicializando os contadores com zero.
     salarioTotal := 0;
     numeroTotalDeFilhos := 0;
     salarioAcimaDeMilReais := 0;

     writeln ('=>ESTUDO DAS CONDICOES SOCIO_ECONOMICAS DE UMA POPULACAO');
     writeln;

     // Coleta das informações para o banco de dados.
     for i := 1 to 3 do begin

         writeln ('Entrevistado numero ' ,i);

         write (' Idade.............: ');
         readln (arquivo[i].idade);

         write (' Salario R$........: ');
         readln (arquivo[i].salario);

         write (' Numero de filhos..: ');
         readln (arquivo[i].numeroDeFilhos);

         // Incrementando os contadores.
         salarioTotal := salarioTotal + arquivo[i].salario;
         numeroTotalDeFilhos := numeroTotalDeFilhos + arquivo[i].numeroDeFilhos;

         if (arquivo[i].salario > 1000) then
            salarioAcimaDeMilReais := salarioAcimaDeMilReais + 1;

         writeln;

     end;

     writeln;

     // Analise dos dados obtidos sobre uma dada população.
     write ('Media do salario da populacao R$........................: ');
     writeln (salarioTotal / 3 : 4:2);

     write ('Media do numero de filhos...............................: ');
     writeln (numeroTotalDeFilhos / 3 : 4:2);

     write ('Percentual de pessoas com salario superior a R$ 1000,00.: ');
     writeln (salarioAcimaDeMilReais / 3 * 100 : 4:2, ' %');

readkey;
end.


Palavras-chaves: registro-idade-salário-número/de/filhos-pascal.


Artigos relacionados em Pascal:




Feito no Dev-Pascal 1.9.2 | Executável