Você está aqui: Cards de Hidrostática
Card 1 de 7
O que é Empuxo na Hidrostática?

Empuxo é a força exercida pelos fluidos em corpos submersos, total ou parcialmente. Também conhecido como teorema de Arquimedes.

A pressão do fluido sobre o corpo produz uma força resultante com a direção do peso, mas com o sentido contrário, de baixo para cima.

Qual é a fórmula do Empuxo?

A fórmula do empuxo na Hidrostática pode ser definida como:

\[E = d_f \cdot V_f \cdot g \]

Onde:

E é o módulo do empuxo, medido em Newtons (N);

df é a densidade do fluido, medida em kg/m3;

Vf é o volume do fluido deslocado, medido em m3;

g é a aceleração da gravidade, medida em m/s2.

A intensidade do empuxo é igual a do peso do volume de fluido deslocado, e age no centro de gravidade desse volume.

O empuxo é o produto entre três valores: densidade do fluido, volume de fluido deslocado e aceleração da gravidade.

A densidade é uma característica própria do fluido. Existem tabelas que oferecem valores de densidade para vários fluidos.

Para água a 4°C, a densidade é 1 g/cm3 ou 1.000 kg/m3.
Para o ar, a 20°C e pressão de 1 atmosfera, a densidade é de 0,0012 g/cm3 ou 1,2 kg/m3.

O volume de fluido deslocado depende da geometria do corpo, e se ele está total ou parcialmente submerso. Quanto maior o volume do corpo, mais líquido ele descola, logo, maior será o empuxo.

A aceleração da gravidade é de, aproximadamente, 9,81 m/s2.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Mouse e Teclado

Java Swing para iniciantes - Como detectar eventos do teclado em uma janela JFrame do Java Swing

Quantidade de visualizações: 13690 vezes
Eventos do teclado podem ser detectados em uma janela JFrame do Java Swing por meio da interface KeyListener. Neste exemplo temos uma JFrame que estende essa interface e fornece implementação para o seu método keyPressed().

Temos também um controle JTextArea desabilitado, o qual usamos para exibir a letra e o código da tecla pressionada.

Veja o resultado na imagem abaixo:



E aqui está o código Java Swing completo para o exemplo:

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame implements KeyListener{
  private JTextArea textArea;  
 
  public Estudos(){
    super("Eventos do Mouse e Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    textArea = new JTextArea(100, 150);
    textArea.setEnabled(false);    
    textArea.setDisabledTextColor(Color.BLACK); 
    c.add(textArea);
 
    addKeyListener(this);
 
    setSize(350, 250);
    setVisible(true);
  }
     
  public void keyPressed(KeyEvent e){
    textArea.setText(
      String.format("Tecla: %s - Código Unicode: %d", 
        e.getKeyText(e.getKeyCode()), e.getKeyCode()));
  }
     
  public void keyReleased(KeyEvent e){
    // sem implementação
  }
 
  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



wxWidgets ::: Dicas & Truques ::: wxFrame

Como usar a classe wxFrame para criar a janela principal de suas aplicações C++ wxWidgets

Quantidade de visualizações: 2186 vezes
A classe wxFrame, definida no arquivo <wx/frame.h>, herda diretamente da classe wxTopLevelWindow (que herda de wxWindow) e, em geral, é usada para representar a janela principal da aplicação. Em tempo de execução seu tamanho pode ser alterado, maximizado, restaurado e minimizado. Esta janela também inclui uma borda mais grossa, uma barra de títulos e, opcionalmente, uma barra de menus, uma barra de ferramentas ou uma barra de status.

Uma wxFrame pode atuar como um contâiner para outros controles, tais como botões, caixa de texto, listas, tabelas, etc. No entanto, não podemos inserir em uma wxFrame uma outra wxFrame ou um diálogo.

O construtor não vazio da classe wxFrame é:

wxFrame::wxFrame(wxWindow* parent, wxWindowID id,
  const wxString&  title, const wxPoint& pos = wxDefaultPosition,  
  const wxSize& size = wxDefaultSize,  
  long style = wxDEFAULT_FRAME_STYLE,
  const wxString& name = wxFrameNameStr)


O parâmetro parent pode ser, e geralmente é, NULL. Se esse valor for diferente de NULL, a frame será minimizada quando sua janela mãe foi minimizada e restaurada quando esta for restaurada. Note que estamos falando de aplicações de janelas de múltiplos documentos (janelas MDI).

O parâmetro id é o identificador da janela. Podemos informar -1 para indicar um valor default.

O parâmetro title é o texto a ser exibido na barra de títulos da janela.

O parâmetro pos é a posição da janela, expressa como um wxPoint (coordenada x e y). Se fornecermos o valor wxDefaultPosition para este parâmetro, a posição da janela será escolhida pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.

O parâmetro size é o tamanho da janela, expresso como um wxSize (largura e altura). O valor wxDefaultSize indica o tamanho padrão (default), escolhido pelo sistema de janelas ou pela biblioteca wxWidgets, dependendo da plataforma.

O parâmetro style é o estilo da janela. O valor padrão é wxDEFAULT_FRAME_STYLE (que pode ser redimensionada, possui um botão de minimizar, de maximizar, etc).

O parâmetro name é usado para associar a janela com um item nomeado, permitindo a personalização individual da janela em sistemas que usam o Motif. No Windows este parâmetro não possui nenhum efeito.

Vamos ao código agora. Veja os arquivos de definição e de implementação para a criação de uma janela wxFrame:

Código para janelaprincipal.h:

#ifndef _JANELAPRINCIPAL_H
#define _JANELAPRINCIPAL

#include <wx/wx.h>

// Definição da nossa janela wxFrame
class JanelaPrincipal : public wxFrame{
  public:
   // construtor não vazio
   JanelaPrincipal(const wxChar *titulo, int posX, int posY, 
     int largura, int altura);

   // destrutor
   ~JanelaPrincipal();
};

#endif // _JANELAPRINCIPAL_H

Código para janelaprincipal.cpp:

#include "janelaprincipal.h"

// arquivo de implementação
JanelaPrincipal::JanelaPrincipal(const wxChar *titulo, int posX,
  int posY, int largura, int altura) : wxFrame((wxFrame *)NULL, -1,
  titulo, wxPoint(posX, posY), wxSize(largura, altura)){

  // não vamos fazer nada aqui por enquanto	 
}

JanelaPrincipal::~JanelaPrincipal(){
  // por enquanto vamos deixar o construtor vazio
}

Agora veja o arquivo de definição e de implementação necessários para a criação e exibição da nossa janela:

Código para aplicacao.h:

#include <wx/wx.h>

// arquivo de definição

// declaramos a classe application
class MinhaAplicacao : public wxApp{
public:
  // é chamado no startup da aplicação
  virtual bool OnInit();
};

// declara MinhaAplicacao& GetApp()
DECLARE_APP(MinhaAplicacao)

Código para aplicacao.cpp

#include "aplicacao.h"
#include "janelaprincipal.h"

// arquivo de implementação

// aqui o wxWidgets cria nosso objeto MinhaAplicacao e o associa
// com a função de entrada main() ou WinMain()
IMPLEMENT_APP(MinhaAplicacao)

bool MinhaAplicacao::OnInit(){
  // vamos criar nossa janela
  JanelaPrincipal *janela = new JanelaPrincipal(wxT("Cadastro"),
	50, 50, 500, 400);
  // vamos exibir a janela wxFrame
  janela->Show(TRUE);
  // essa vai ser a janela principal da aplicação
  SetTopWindow(janela);
  
  // podemos iniciar o loop de eventos
  return true;
}

Note que, para que a janela seja visível na tela, devemos fazer uma chamada ao método Show() e fornecer o valor TRUE. Esta função é definida originalmente em wxWindow. Veja também que chamamos SetTopWindow() para informar ao wxWidgets que esta é a janela principal, razão pela qual fornecemos o valor NULL para o parâmetro parent.


Java ::: Dicas & Truques ::: Matemática e Estatística

Como testar se um número é primo em Java

Quantidade de visualizações: 2743 vezes
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos.

É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par.

Veja agora um código Java completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não:

package arquivodecodigos;
 
import java.util.Scanner;
 
public class Estudos{
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
     
    // vamos solicitar um número inteiro positivo
    System.out.print("Informe um número inteiro positivo: ");
    int numero = Integer.parseInt(entrada.nextLine());
    
    // o número é negativo?
    if(numero < 0){
      System.out.println("Número inválido.");
    }
    // é 0 ou 1?
    else if((numero == 0) || (numero == 1)){
      System.out.println("Número válido, mas não é primo. ");
    }
    // passou até aqui. Vamos testar se o número é primo
    else{
      boolean primo = true;
      for (int i = 2; i <= (numero / 2); i++){
        // se passar no teste, não é primo
        if (numero % i == 0) {
          primo = false;
          break;
        }
      }
      
      if(primo){
        System.out.println("O número informado é primo");
      }
      else{
        System.out.println("O número informado não é primo");
      }
    }
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Informe um número inteiro positivo: 9
O número informado não é primo


Java ::: Dicas & Truques ::: Gráficos

Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenho

Quantidade de visualizações: 14174 vezes
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade.

Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException.

O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Estudos extends JFrame{
  JLabel label;  

  public Estudos() {
    super("Desenhando em um JLabel");
    
    Container c = getContentPane();
    c.setLayout(new BorderLayout());

    // Cria um JLabel
    label = new JLabel();
    c.add(label, BorderLayout.CENTER);

    // Cria um botão
    JButton btn = new 
      JButton("Desenhar uma linha");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          
          // Desenha uma linha no JLabel
          Graphics graphics = label.getGraphics();
          graphics.drawLine(0, 0, 150, 100);
        
        }
      }
    );
    
    // Adiciona o botão à janela
    c.add(btn, BorderLayout.SOUTH);

    setSize(350, 250);
    setVisible(true);
  }
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso.


C++ ::: Fundamentos da Linguagem ::: Passos Iniciais

C++ do básico ao avançado - Conheça a origem da linguagem C++

Quantidade de visualizações: 13940 vezes
C++ começou como uma versão expandida de C. As extensões C++ foram inventadas primeiramente por Bjarne Stroustrup, em 1979, no Bell Laboratories em Murray Hill, New Jersey. Ele inicialmente chamou a nova linguagem de "C com classes". Contudo, em 1983 o nome foi mudado para C++.

Embora C fosse uma das linguagens preferidas e mais usadas para programação profissional em todo o mundo, a invenção de C++ se fez necessária devido a um fator de programação: o aumento da complexidade. No decorrer dos anos, programas de computador se tornaram maiores e mais complexos. Mesmo sendo uma excelente linguagem de programação, C tem seus limites. Em C, uma vez que um programa atinja a marca de 25.000 à 100.000 linhas de códigos, este se torna tão complexo que é difícil analisá-lo como um todo. A manutenção de seu código se torna um pesadelo. O propósito de C++ é quebrar esta barreira. A essência do C++ é permitir que programadores compreendam e gerenciem programas cada vez mais complexos.

A maioria das adições feitas ao C por Stroustrup suportam a programação orientada a objetos, às vezes chamada de POO. Stroustrup afirmou que algumas das características da orientação a objetos de C++ foram inspiradas em uma linguagem chamada Simula67. Assim, C++ representa a combinação de dois métodos poderosos de programação.

Desde que C++ foi inventada, ela já passou por três revisões importantes, com adições e modificações da linguagem. A primeira revisão ocorreu em 1985 e a segunda em 1990. A terceira ocorreu durante a padronização do C++. Há vários anos que este trabalho de padronização foi iniciado. Para esta finalidade, uma associação entre a ANSI (American National Standards Institute) e a ISO (International Standards Organization) resultou em um comitê de padronização.

O primeiro documento contendo o padrão proposto foi criado em 25 de janeiro de 1994. Neste documento, o comitê ANSI/ISO C++ manteve as características definidas por Stroustrup e acrescentou algumas outras. Mas, no geral, este documento inicial refletiu o estado de C++ na época.

Logo após a finalização do primeiro documento de padronização C++, um evento ocorreu e com ele a linguagem foi amplamente expandida: a criação da Standard Template Library (STL) por Alexander Stepanov. A STL é um conjunto de rotinas generícas que podemos usar para manipular dados. A STL não é somente poderosa e elegante, mas também muito extensa.


Desafios, Exercícios e Algoritmos Resolvidos de C++

Veja mais Dicas e truques de C++

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 101 usuários muito felizes estudando em nosso site.