Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

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:

PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como criar vetores em PHP com a construção array() e usando inteiros como chaves

Quantidade de visualizações: 8677 vezes
A linguagem PHP nos permite criar vetores (arrays) e informar os valores inteiros que queremos como chaves, ou seja, não precisamos, obrigatoriamente, iniciar os índices dos elementos em 0.

Veja o código a seguir:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $linguagens = array(10 => 'Java',
    11 => 'Python', 12 => 'C++');
             
  echo "A linguagem escolhida foi: " . 
    $linguagens[11];
?>
 
</body>
</html>

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

A linguagem escolhida foi: Python


Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet

Como usar o componente TClientDataSet do Delphi em suas aplicações de banco de dados

Quantidade de visualizações: 16319 vezes
Um objeto da classe TClientDataSet implementa um conjunto de dados independente de banco de dados. Este controle representa um conjunto de dados em memória (in-memory).

Antes de prosseguirmos, veja a posição desta classe na hierarquia de classes do Delphi:

System.TObject
  Classes.TPersistent
    Classes.TComponent
      DB.TDataSet
        DBClient.TCustomClientDataSet
          DBClient.TClientDataSet
Por descendência, a classe TClientDataSet implementa as interfaces Classes.IInterfaceComponentReference, System.IInterface e DB.IProviderSupport.

Um controle TClientDataSet pode ser usado das seguintes formas:

a) Um conjunto de dados baseado em arquivo, único e totalmente funcional direcionado a aplicações compostas de apenas uma camada. Quando usado desta forma, o client dataset representa os dados armazenados em um arquivo dedicado na máquina do usuário.

b) Um buffer em memória local dos registros de um outro conjunto de dados. O outro conjunto de dados (a fonte dos dados) pode residir no mesmo formulário ou data module que o client dataset (por exemplo, quando o client dataset fornece navegação e edição para os dados de um conjunto de dados unidirecional). O conjunto de dados fonte pode também residir em um sistema separado quando o client dataset apoia a parte cliente de uma aplicação de bancos de dados de múltiplas camadas.

A forma mais comum de se usar um controle TClientDataSet é acessando a aba Data Acccess da Tool Palette (Paleta de Ferramentas) e arrastando-o para o seu formulário. Em seguida ajustamos algumas de suas propriedades em tempo de design e pronto. Veja o passo-a-passo para configurar um TClientDataSet para representar uma tabela no banco de dados MySQL (outras dicas minhas mostram como efetuar a conexão com outros bancos de dados):

1) Certifique-se de que o banco de dados MySQL está devidamente configurado e funcionando. Inicie-o, anote o nome de usuário e senha e vamos começar.

2) Vá até a aba de componentes dbExpress e arraste um componente TSQLConnection para o formulário. Este é o componente responsável pela conexão com o banco de dados. Selecione o componente no formulário de forma a acessar suas propriedades no Object Inspector. Em seguida siga atentamente as observações a seguir:

a) Vá na propriedade ConnectioName e selecione MySQLConnection. Automaticamente a propriedade Driver é definida como MySQL. A propriedade LibrayName será definida como dbxmys.dll. O mesmo acontece com a propriedade VendorLib, que é definida como libmysql.dll. dbxmys.dll é fornecida com o Delphi enquanto libmysql.dll vem com a instalação do MySQL e deverá estar em C:\Windows\System para que sua aplicação seja executada com sucesso.

b) O simples fato de definirmos o valor MySQL para a propriedade ConnectionName faz com que os parâmetros de conexão sejam criados com os valores padrões e guardados na propriedade Params. O próximo passo é alterar estes valores de forma a refletir a realidade do banco de dados que vamos usar. Vá em Params e acione o editor Value List Editor. Em HostName você deverá informar o nome ou IP do servidor MySQL. Se estiver rodando localmente use apenas "localhost". Em Database informe o nome da base de dados, por exemplo, "estoque". Em User_Name informe o usuário do banco de dados. Geralmente é "root". Em Password informe a senha do banco de dados. Pressione OK.

c) Vá na propriedade LoginPrompt e altere seu valor para False. Isso evita que a tela de login seja exibida quando tentarmos efetuar a conexão. Agora vá na propriedade Connected e altere seu valor para True. Se correr tudo bem você já estará conectado ao banco de dados MySQL.

3) Agora coloque um componente TSQLDataSet no formulário e defina sua propriedade SQLConnection para o componente TSQLConnection que representa a conexão com o banco de dados. Em seguida defina o valor "ctTable" para a propriedade CommandType. Na propriedade CommandText você deverá informar o nome da tabela que será representada por este TSQLDataSet. Finalmente ajuste a propriedade Active para True.

4) O próximo passo é colocar no formulário um componente TDataSetProvider (na aba Data Access). Este componente é responsável por fazer a conexão com o conjunto de dados (dataset), extrair os dados do SQLDataSet e gerar os comandos de atualização SQL adequados. Assim, informe o valor "SQLDataSet1" para a sua propriedade DataSet.

5) Finalmente chegamos ao componente TClientDataSet. Vá na aba Data Acccess e arraste um TClientDataSet para o formulário. Em seguida informe o valor "DataSetProvider1" para sua propriedade ProviderName. Ajuste sua propriedade Active para True.

6) Hora de exibir e manipular os dados. Vá na aba Data Access e arraste um controle TDataSource para o formulário. Aponte sua propriedade DataSet para "ClientDataSet1". Agora vá na aba Data Controls e arraste um TDBGrid para o formulário. Ajuste sua propriedade DataSource para "DataSource1". Se tudo correu bem, você já verá os registros da tabela serem exibidos no DBGrid.

7) Hora de executar a aplicação. Pressione F9 e vamos ao resultado. Experimente navegar e editar os registros no DBGrid. A aplicação permitirá que você faça isso. No entanto, ao fechar a aplicação e abrí-la novamente você perceberá que as alterações não foram refletidas no banco de dados. Para que isso aconteça, coloque o código abaixo no evento Click de um botão:

procedure TForm3.Button1Click(Sender: TObject);
begin
  if (ClientDataSet1.ChangeCount > 0) then
    ClientDataSet1.ApplyUpdates(-1);
end;

Pronto. Execute a aplicação novamente e faça modificações nos dados exibidos no DBGrid (é preciso sair da linha de edição para que os dados sejam atualizados no DBGrid). Clique no botão para atualizar os dados na tabela do banco de dados. Feche a aplicação a abra-a novamente. Note que agora os dados foram atualizados com sucesso.

Esta dica foi escrita e testada no Delphi 2009.


Java ::: Java para Engenharia ::: Eletricidade, Circuitos Elétricos e Eletrônicos

Como calcular corrente, voltagem, resistência e potência em um circuito série de corrente contínua usando Java

Quantidade de visualizações: 2413 vezes
Como calcular corrente, voltagem, resistência e potência em um círcuito série de corrente contínua usando Java

Nesta dica mostrarei como é possível usar operações básicas da linguagem Java para calcular a corrente, voltagem, resistência e potência em um circuito série de corrente contínua.

É conhecido como um circuito série um circuito composto exclusivamente por componentes elétricos ou eletrônicos conectados em série (de conexão em série, que é o mesmo que associação em série ou ligação em série). A associação em série é uma das formas básicas de se conectarem componentes elétricos ou eletrônicos. A nomeação descreve o método como os componentes são conectados.

Vanos começar analisando a seguinte imagem:



Esta imagem foi extraída do Simulador do PHET, no endereço https://phet.colorado.edu. Note que temos uma fonte de alimentação 90V, e três resistores (com resistências de 10&#937;, 20&#937; e 30&#937;).

Vamos começar relembrando os aspectos importantes dos circuitos em série:

1) A corrente elétrica I (medida em ampères (A), ou coulombs por segundo) é comum a todos os elementos do circuito.

2) A tensão elétrica V, (medida em volts (V), ou joules por coulomb) é dividida entre as cargas, ou seja, a soma das tensões nas cargas deve ser igual à tensão da fonte de alimentação.

3) A resistência elétrica R (medida em ohms (&#937;)) total do circuito é igual à soma de todas as resistências das cargas.

4) A potência total P (medida em watts (W)) é igual à soma das potências das cargas que compõem o circuito.

Vamos escrever um pouco de código então? Veja nosso primeiro código Java que calcula a corrente total, a tensão total, a resistência total e a potência total do circuito em série mostrado na imagem:

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    System.exit(0);
  }
} 

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

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Pronto! Agora que já sabemos o valor da corrente elétrica, e sabemos que a corrente é comum a todos os elementos do circuito em série, podemos calcular a tensão individual dos componentes. Assim, veja um trecho de código Java que calcula a tensão elétrica nos três resistores (lembre-se: tensão é o produto da corrente pela resistência):

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    // mostra as tensões nos resistores
    System.out.println("\nTensão nos resistores individuais:");
    double e1 = resist1 * iTotal;
    double e2 = resist2 * iTotal;
    double e3 = resist3 * iTotal;
    
    System.out.println("Tensão no Resistor 1: " + e1 + "V");
    System.out.println("Tensão no Resistor 2: " + e2 + "V");
    System.out.println("Tensão no Resistor 3: " + e3 + "V");
    
    System.exit(0);
  }
} 

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

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Tensão nos resistores individuais:
Tensão no Resistor 1: 15.0V
Tensão no Resistor 2: 30.0V
Tensão no Resistor 3: 45.0V

Para finalizar, vamos calcular a potência dissipada em cada um dos resistores de forma individual. Observe que a potência é o produto da tensão pela corrente (P = E.I). Eis o código:

package estudos_java;

public class Estudos{
  public static void main(String[] args){
    // Tensão total do circuito em série
    double eTotal = 90.0;
 
    // Resitência total
    double resist1 = 10.0;
    double resist2 = 20.0;
    double resist3 = 30.0;
    double rTotal = resist1 + resist2 + resist3;
    
    // Corrente elétrica total
    double iTotal = eTotal / rTotal;
    
    // Potência elétrica total
    double pTotal = eTotal * iTotal; 
    
    // mostra os valores
    System.out.println("Tensão total: " + eTotal);
    System.out.println("Resistência total: " + rTotal);
    System.out.println("Corrente total: " + iTotal);
    System.out.println("Potência total: " + pTotal);
    
    // mostra as tensões nos resistores
    System.out.println("\nTensão nos resistores individuais:");
    double e1 = resist1 * iTotal;
    double e2 = resist2 * iTotal;
    double e3 = resist3 * iTotal;
    
    System.out.println("Tensão no Resistor 1: " + e1 + "V");
    System.out.println("Tensão no Resistor 2: " + e2 + "V");
    System.out.println("Tensão no Resistor 3: " + e3 + "V");
    
    // mostra as potências dissapadas nos resistores
    System.out.println("\nPotência dissipada nos resistores individuais:");
    double p1 = e1 * iTotal; // Potência = Tensão x Corrente
    double p2 = e2 * iTotal;
    double p3 = e3 * iTotal;
    
    System.out.println("Potência no Resistor 1: " + p1 + "W");
    System.out.println("Potência no Resistor 2: " + p2 + "W");
    System.out.println("Potência no Resistor 3: " + p3 + "W");
    
    System.exit(0);
  }
} 

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

Tensão total: 90.0
Resistência total: 60.0
Corrente total: 1.5
Potência total: 135.0

Tensão nos resistores individuais:
Tensão no Resistor 1: 15.0V
Tensão no Resistor 2: 30.0V
Tensão no Resistor 3: 45.0V

Potência dissipada nos resistores individuais:
Potência no Resistor 1: 22.5W
Potência no Resistor 2: 45.0W
Potência no Resistor 3: 67.5W


MySQL ::: Dicas & Truques ::: Data e Hora

Como adicionar horas ao valor de um campo DATETIME ou TIME usando a função ADDTIME() do MySQL

Quantidade de visualizações: 13781 vezes
A função ADDTIME() é usada quando queremos adicionar horas, minutos, segundos ou milisegundos ao valor de um campo DATETIME ou TIME. Suponhamos que você tenha um campo DATETIME chamado data_hora_compra com o valor 2008-03-30 02:30:15. Veja como adicionar 3 horas ao valor deste campo:

SELECT ADDTIME(data_hora_compra, '3:00:00') FROM
tabela_estudos

O valor retornado será 2008-03-30 05:30:15. Veja agora a função aplicada a um campo TIME com o nome de hora_inicio e o valor 02:30:15. Agora vamos adicionar 20 minutos:

SELECT ADDTIME(hora_inicio, '00:20:00') FROM
tabela_estudos

O valor retornado será 02:50:15.

É possível ainda usar a função ADDTIME() para adicionar dias ao valor de um campo DATETIME. Por exemplo, se o valor do campo for 2008-03-30 02:30:15 e usarmos a query abaixo:

SELECT ADDTIME(data_hora_compra, '5 00:00:00') FROM
tabela_estudos

O resultado será 2008-04-04 02:30:15.


C# ::: Dicas & Truques ::: Programação Orientada a Objetos

C# para iniciantes - Programação orientada a objetos em C#: Classes, objetos, métodos e variáveis de instância

Quantidade de visualizações: 31106 vezes
A melhor forma de entender a programação orientada a objetos é começar com uma analogia simples. Suponha que você queira dirigir um carro e fazê-lo ir mais rápido pressionado o acelerador. O que deve acontecer antes que você seja capaz de fazer isso? Bem, antes que você possa dirigir um carro, alguém tem que projetá-lo. Um carro geralmente começa com desenhos feitos pelos engenheiros responsáveis por tal tarefa, tal qual a planta de uma casa. Tais desenhos incluem o projeto de um acelerador que possibilita ao carro ir mais rápido. O pedal do acelerador "oculta" os mecanismos complexos responsáveis por fazer o carro ir mais rápido, da mesma forma que o pedal de freio "oculta" os mecanismos que fazem o carro ir mais devagar e o volante "oculta" os mecanismos que fazem com que o carro possa virar para a direita ou esquerda. Isso permite que pessoas com pequeno ou nenhum conhecimento de motores possam facilmente dirigir um carro.

Infelizmente, não é possível dirigir o projeto de um carro. Antes que possamos dirigí-lo, o carro deve ser construído a partir do projeto que o descreve. Um carro já finalizado tem um pedal de aceleração de verdade, que faz com que o carro vá mais rápido. Ainda assim, é preciso que o motorista pressione o pedal. O carro não acelerará por conta própria.

Agora vamos usar nosso exemplo do carro para introduzir alguns conceitos de programação importantes à programação orientada a objetos. A execução de uma determinada tarefa em um programa exige um método. O método descreve os mecanismos que, na verdade, executam a tarefa. O método oculta tais mecanismos do usuário, da mesma forma que o pedal de aceleração de um carro oculta do motorista os mecanismos complexos que fazem com que um carro vá mais rápido. Em C#, começamos criando uma unidade de programa chamada classe para abrigar um método, da mesma forma que o projeto de um carro abriga o design do pedal de acelerador. Em uma classe fornecemos um ou mais métodos que são projetados para executar as tarefas da classe. Por exemplo, a classe que representa uma conta bancária poderia conter muitos métodos, incluindo um método para depositar dinheiro na conta, outro para retirar dinheiro, um terceiro para verificar o saldo, e assim por diante.

Da mesma forma que não podemos dirigir o projeto de um carro, nós não podemos "dirigir" uma classe. Da mesma forma que alguém teve que construir um carro a partir de seu projeto antes que pudessémos dirigí-lo, devemos construir um objeto de uma classe antes de conseguirmos executar as tarefas descritas nela.

Quando dirigimos um carro, o pressionamento do acelerador envia uma mensagem ao carro informando-o da tarefa a ser executada (neste caso informando-o de que queremos ir mais rápido). Da mesma forma, enviamos mensagens aos objetos de uma classe. Cada mensagem é uma chamada de método e informa ao objeto qual ou quais tarefas devem ser executadas.

Até aqui nós usamos a analogia do carro para introduzir classes, objetos e métodos. Já é hora de saber que um carro possui atributos (propriedades) tais como cor, o número de portas, a quantidade de gasolina em seu tanque, a velocidade atual, etc. Tais atributos são representados como parte do projeto do carro. Quando o estamos dirigindo, estes atributos estão sempre associados ao carro que estamos usando, e cada carro construído a partir do projeto sofrerá variações nos valores destes atributos em um determinado momento. Da mesma forma, um objeto tem atributos associados a ele quando o usamos em um programa. Estes atributos são definidos na classe a partir da qual o objeto é instanciado (criado) e são chamados de variáveis de instância da classe.

Veremos agora como definir uma classe em C# e usar um objeto desta classe em um programa. Se estiver usando o Visual C# 2005 ou 2008, a forma mais comum de adicionar uma classe ao seu projeto é clicando com o botão direito no namespace do projeto (o primeiro filho do solution explorer) e escolhendo a opção Add -> Class. Em seguida dê o nome "Cliente.cs" para a classe e clique o botão Add. Imediatamente o código inicial para a classe será exibido, contendo o namespace e alguns using padrões. Agora faça sua classe Cliente parecida com o código abaixo (não altere nada em relação ao namespace):

class Cliente{
  private String nome;

  // Um método que permite definir um valor
  // para a variável privada nome
  public void setNome(String nome){
    this.nome = nome;
  }

  // Um método que permite obter o valor
  // da variável privada nome
  public String getNome(){
    return this.nome;
  }
}

Agora vamos aprender a usar esta classe a partir da classe principal do programa (aquela que contém o método Main). Veja:

static void Main(string[] args){
  // Cria uma instância da classe Cliente
  Cliente c = new Cliente();

  // Define um nome para o cliente
  c.setNome("Osmar J. Silva");

  // Obtém o nome do cliente
  string nome = c.getNome();
  Console.WriteLine(nome);

  Console.WriteLine("\n\nPressione uma tecla para sair...");
  Console.ReadKey();
}



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 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 Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


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