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:

Java ::: Pacote java.util ::: Iterator

Como usar objetos da interface Iterator do Java em suas aplicações

Quantidade de visualizações: 3064 vezes
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois:

a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento.
b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration.

As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner.

Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList:

package estudos;

import java.util.ArrayList;
import java.util.Iterator;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma ArrayList
    ArrayList<String> pessoas = new ArrayList();
    pessoas.add("Osmar");
    pessoas.add("Carlos");
    pessoas.add("Fernanda");
    
    // vamos obter um Iterator para a lista e percorrer todos os elementos
    for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){
      System.out.println(pessoa.next());
    }
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

Osmar
Carlos
Fernanda



CSS ::: Dicas & Truques ::: Media Queries

CSS3 - O que são CSS media queries e como usá-las em suas páginas web para criar designs responsivos

Quantidade de visualizações: 1768 vezes
Os desenvolvedores web acostumados com o CSS2 com certeza vão se lembrar das media types e como as usávamos, ou ainda usamos, para definir o tipo de mídia para a qual uma determinada folha de estilo será aplicada. Com media types é possível, por exemplo, oferecer estilos diferentes dependendo se o tipo de mídia for all, screen ou print, ou seja, todos os tipos (all), somente tela (screen), ou impressão (print).

O CSS3 trouxe ainda mais comodidade por meio das media queries, que, na verdade, são uma extensão das media types. Com as media queries é possível aplicar uma folha de estilo CSS baseado não somente no tipo de mídia, mas também baseado nas características do navegador web, tais como largura e altura do viewport (a área disponível para exibição dos elementos da página web), a largura e altura do dispositivo, sua orientação e resolução, etc.

Veja, por exemplo, como podemos aplicar uma imagem de fundo diferente na página HTML dependendo do tamanho da tela:



E aqui o código completo para a página HTML e as definições CSS:

<html>
<head>
<title>Estudando CSS3</title>

<meta name="viewport" content="width=device-width, initial-scale=1">
 
<style>
/* demais resoluções */
body{
  background-image: url("horizontal.jpg");
  background-repeat: no-repeat;
}

/* max-width (largura máxima)  */
@media screen and (max-width: 600px) {
  body{
    background-image: url("vertical.jpg");
    background-repeat: no-repeat;
  }
} 
</style>

</head>
<body>
 
</body>
</html>

Este exemplo é bem simples, mas dará a você uma idéia de como iniciar hoje o mesmo o uso das media queries em CSS. Note que, se a resolução for no máximo 600px, a página terá como fundo a imagem "vertical.jpg". Se a página for aberta em outras resoluções, a imagem de fundo será "horizontal.jpg".

Abra o exemplo no seu navegador e experimente redimensionar a janela. Veja como a imagem de fundo é trocada automaticamente ao atingir a resolução que definimos para o atributo max-width da media query. Esta técnica é muito utilizada quando queremos criar uma página web responsiva, ou seja, com design responsivo.


Java ::: Pacote java.lang ::: String

Como verificar se uma string Java contém uma determinada sequencia de caracteres (ou substring) usando o método contains()

Quantidade de visualizações: 11928 vezes
Em algumas situações precisamos verificar se uma sequencia de caracteres ou substring está contida em uma string. Para isso podemos usar o método contains() da classe String. Veja sua assinatura:

public boolean contains(CharSequence s)

Note que o método recebe um argumento do tipo CharSequence, que é uma interface implementada pelas classes CharBuffer, Segment, String, StringBuffer e StringBuilder. O método retorna true se a sequencia de caracteres for encontrada e false em caso contrário.

Veja um trecho de código no qual usamos este método para verificar se uma palavra está contida em uma frase:

public class Main {
  public static void main(String[] args) {
    // vamos declarar uma string
    String frase = "Gosto muito de Java e PHP";
    
    // vamos verificar se a string contém a palavra "Java"
    if(frase.contains("Java")){
      System.out.println("A frase contém a substring informada");
    }
    else{
      System.out.println("A frase não contém a substring informada");	
    }
  }
}

Este método pode atirar uma exceção do tipo NullPointerException se o argumento fornecido for null.


Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca)

Python Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)

Quantidade de visualizações: 4257 vezes
Nesta dica veremos como implementar a ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção na linguagem Python.

A ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados.

A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação.

A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim por diante, até não receber mais cartas.

Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição.

Vamos ver a implementação na linguagem Python agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:

# método que permite ordenar o vetor de inteiros
# usando a ordenação Insertion Sort
def insertionSort(vetor):
  # percorre todos os elementos do vetor começando
  # pelo segundo elemento
  for i in range(len(vetor)):
    atual = vetor[i] # o valor atual a ser inserido
    # começa a comparar com a célula à esquerda de i
    j = i - 1
      
    # enquanto vetor[j] estiver fora de ordem em relação
    # a atual
    while((j >= 0) and (vetor[j] > atual)):
      # movemos vetor[j] para a direita e decrementamos j
      vetor[j + 1] = vetor[j]
      j = j - 1
      
      # colocamos atual em seu devido lugar
      vetor[j + 1] = atual

# função principal do programa
def main():
  # cria uma lista de inteiros
  valores = [4, 6, 2, 8, 1, 9, 3, 0, 11]
  
  # exibimos o vetor na ordem original
  print("Ordem original:\n")
  for i in range(len(valores)):
    print(valores[i], end = "  ")
    
  # vamos ordenar o vetor agora
  insertionSort(valores)
    
  # exibimos o vetor ordenado
  print("\n\nOrdenado:\n")
  for i in range(len(valores)):
    print(valores[i], end = "  ")

if __name__== "__main__":
  main()

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

Sem ordenação:

4 6 2 8 1 9 3 0 11

Ordenada usando Insertion Sort:

0 1 2 3 4 6 8 9 11


Delphi ::: Dicas & Truques ::: Rotinas de Conversão

Como converter uma string em um valor numérico inteiro em Delphi usando as funções StrToInt(), TryStrToInt() e StrToIntDef()

Quantidade de visualizações: 33850 vezes
Em algumas situações precisamos converter strings em valores numéricos do tipo inteiro. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos.

Vamos começar com a função StrToInt() da unit SysUtils. Esta função recebe uma string representando um valor inteiro válido e retorna um valor inteiro. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor1, valor2, soma: Integer;
begin
  // vamos receber as strings dos TEdits e converter
  // seus valores para inteiros
  valor1 := StrToInt(Edit1.Text);
  valor2 := StrToInt(Edit2.Text);

  // vamos obter a soma dos dois valores
  soma := valor1 + valor2;

  // vamos exibir o resultado. Note o uso de IntToStr() para
  // converter o valor inteiro em string
  ShowMessage('A soma é: ' + IntToStr(soma));
end;

Note que, se a string sendo convertida possuir um valor inteiro inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToInt(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Integer que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: Integer;
begin
  // vamos tentar converter o valor da caixa de texto
  // em um inteiro
  if TryStrToInt(Edit1.Text, valor) then
    ShowMessage('Conversão efetuada com sucesso.')
  else
    ShowMessage('Erro na conversão');
end;

Há ainda uma terceira possibilidade: usar a função StrToIntDef(). Esta função funciona exatamente da mesma forma que StrToInt(), exceto que agora, se houver um erro de conversão, um valor inteiro padrão será retornado. Veja:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: Integer;
begin
  // vamos converter o valor da caixa de texto
  // em um inteiro. Se a conversão não puder ser feita
  // o valor 10 será atribuído à varial valor
  valor := StrToIntDef(Edit1.Text, 10);

  // vamos exibir o resultado
  ShowMessage(IntToStr(valor));
end;

Caso você precise trabalhar com inteiros de 64 bits, poderá usar as funções StrToInt64(), StrToInt64Def() e TryStrToInt64().

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

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á 108 usuários muito felizes estudando em nosso site.