![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Mecânica - Movimento Retilíneo Uniforme (MRU) |
Exercícios Resolvidos de Física usando Java - Dois automóveis, A e B, movem-se em movimento uniforme e no mesmo sentido. Suas velocidades escalares têm módulos respectivamente iguais a...Quantidade de visualizações: 2964 vezes |
|
Pergunta/Tarefa: Dois automóveis, A e B, movem-se em movimento uniforme e no mesmo sentido. Suas velocidades escalares têm módulos respectivamente iguais a 15 m/s e 10 m/s. No instante t = 0, os automóveis encontram-se nas posições indicadas abaixo: ![]() Determine: a) o instante em que A alcança B; b) a que distância da posição inicial de A ocorre o encontro. Resposta/Solução: Este é um dos exemplos clássicos que encontramos nos livros de Física Mecânica, nos capítulos dedicados ao Movimento Retilíneo Uniforme (MRU). Em geral, tais exemplos são vistos como parte dos estudos de encontro e ultrapassagem de partículas. Por se tratar de Movimento Retilíneo Uniforme (MRU), as grandezas envolvidas nesse problema são: posição (deslocamento), velocidade e tempo. Assim, já sabemos de antemão que o veículo B está 100 metros à frente do veículo A. Podemos então começar calculando a posição atual na qual cada um dos veículos se encontra. Isso é feito por meio da Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme - MRU. Veja o código Java que nos retorna a posição inicial (em metros) dos dois veículos:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// valocidade do veículo A
double vA = 15; // em metros por segundo
// valocidade do veículo B
double vB = 10; // em metros por segundo
// posição inicial dos dois veículos
double sInicialA = 0;
double sInicialB = 100;
// tempo inicial em segundos
double tempo_inicial = 0;
// calcula a posição atual dos dois veículos
double sA = sInicialA + (vA * tempo_inicial);
double sB = sInicialB + (vB * tempo_inicial);
// mostra os resultados
System.out.println("A posição do veículo A é: " + sA + " metros");
System.out.println("A posição do veículo B é: " + sB + " metros");
}
}
Ao executar esta primeira parte do código Java nós teremos o seguinte resultado: A posição do veículo A é: 0.0 metros A posição do veículo B é: 100.0 metros Agora que já temos o código que calcula a posição de cada veículo, já podemos calcular o tempo no qual o veículo A alcança o veículo B. Para isso vamos pensar direito. Se o veículo A vai alcançar o veículo B, então já sabemos que a velocidade do veículo A é maior que a velocidade do veículo B. Sabemos também que a posição do veículo B é maior que a posição do veículo A. Só temos que aplicar a fórmula do tempo, que é a variação da posição dividida pela variação da velocidade. Veja o código Java que efetua este cálculo:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// valocidade do veículo A
double vA = 15; // em metros por segundo
// valocidade do veículo B
double vB = 10; // em metros por segundo
// posição inicial dos dois veículos
double sInicialA = 0;
double sInicialB = 100;
// tempo inicial em segundos
double tempo_inicial = 0;
// calcula a posição atual dos dois veículos
double sA = sInicialA + (vA * tempo_inicial);
double sB = sInicialB + (vB * tempo_inicial);
// calculamos o tempo no qual o veículo A alcança o veículo B
double tempo = (sB - sA) / (vA - vB);
// mostra os resultados
System.out.println("A posição do veículo A é: " + sA + " metros");
System.out.println("A posição do veículo B é: " + sB + " metros");
System.out.println("O veículo A alcança o veículo B em " + tempo +
" segundos");
}
}
Ao executar esta modificação do código Java nós teremos o seguinte resultado: A posição do veículo A é: 0.0 metros A posição do veículo B é: 100.0 metros O veículo A alcança o veículo B em 20.0 segundos O item b pede para indicarmos a que distância da posição inicial de A ocorre o encontro entre os dois veículos. Agora que já sabemos o tempo do encontro, fica muito fácil. Basta multiplicarmos a velocidade do veículo A pelo tempo do encontro. Veja:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// valocidade do veículo A
double vA = 15; // em metros por segundo
// valocidade do veículo B
double vB = 10; // em metros por segundo
// posição inicial dos dois veículos
double sInicialA = 0;
double sInicialB = 100;
// tempo inicial em segundos
double tempo_inicial = 0;
// calcula a posição atual dos dois veículos
double sA = sInicialA + (vA * tempo_inicial);
double sB = sInicialB + (vB * tempo_inicial);
// calculamos o tempo no qual o veículo A alcança o veículo B
double tempo = (sB - sA) / (vA - vB);
// a que distância da posição inicial de A ocorre o encontro
double distancia_encontro = vA * tempo;
// mostra os resultados
System.out.println("A posição do veículo A é: " + sA + " metros");
System.out.println("A posição do veículo B é: " + sB + " metros");
System.out.println("O veículo A alcança o veículo B em " + tempo +
" segundos");
System.out.println("O encontro ocorreu a " + distancia_encontro +
" metros da distância inicial do veículo A");
}
}
Agora o código Java completo nos mostra o seguinte resultado: A posição do veículo A é: 0.0 metros A posição do veículo B é: 100.0 metros O veículo A alcança o veículo B em 20.0 segundos O encontro ocorreu a 300.0 metros da distância inicial do veículo A Para demonstrar a importância de se saber calcular a Função Horária da Posição ou Deslocamento em Movimento Retilíneo Uniforme (MRU), experimente indicar que o veículo A saiu da posição 20 metros, e defina a posição inicial do veículo B para 120 metros, de modo que ainda conservem a distância de 100 metros entre eles. Você verá que o tempo do encontro e a distância do encontro em relação à posição inicial do veículo A continuam os mesmos. Agora experimente mais alterações nas posições iniciais, na distância e também nas velocidades dos dois veículos para entender melhor os conceitos que envolvem o Movimento Retilíneo Uniforme (MRU). |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o peso que um pilar aguenta usando Python - Python para Engenharia CivilQuantidade de visualizações: 697 vezes |
![]() O sonho de todo estudante de Engenharia Civil é poder responder, com segurança, a uma das perguntas mais recorrentes no nosso dia-a-dia: Quanto de peso um pilar aguenta? Para responder, basta nos lembrarmos de que o concreto é muito resistente à compressão, e, no caso dos pilares, a armadura é usada, em sua maior parte, para combater a flambagem, que é quando o pilar tende a fletir para os lados, parecendo-se com um arco ou com uma barriga de chope. Então, uma vez que o pilar recebe sua carga em seu eixo (carga axial) e o concreto é muito resistente à compressão, só precisamos nos concentrar na resistência característica do concreto à compressão e na área da seção transversal do pilar. Sempre que falamos de resistência do concreto, nós estamos falando de FCK C15, C20, C25, C30, etc, que são os termos usados para designar sua resistência. Assim, um concreto C25 é o mesmo que 25 MPa, ou seja, esse concreto resiste a 250Kg/cm2. Os concretos usinados, em geral, vêm com resistência de 25 MPa para cima, enquanto aquele concreto que fazemos na obra, na betoneira, usando a combinação de 3x1, chega no máximo a 15 MPa. Além disso, é importante nos lembrarmos de que a norma NBR 6118/2014 exige que o concreto seja igual ou superior a 25 MPa. Há também o fator de segurança de 40%, também exigido pela norma NBR 6118/2014. Dessa forma, se o concreto for de 25 MPa, aplicado o fator de segurança, só podemos contar com 15 MPa mais ou menos, o que daria 150Kg/cm2. Vamos ver código agora? Veja o código Python completo que pede os lados b (base) e h (altura) do pilar e o FCK do concreto usado e retorna o peso que o pilar suporta (já aplicado o fator de segurança):
# Algoritmo Python que calcula o peso suportado por um pilar
# dados os seus lados e o FCK do concreto
# função principal do programa
def main():
# vamos ler o lado b do pilar
base = float(input("Informe a base (b) do pilar em cm: "))
# vamos ler a altura h do pilar
altura = float(input("Informe a altura (h) do pilar em cm: "))
# vamos calcular a área da seção transversal do pilar
area = base * altura
# agora vamos ler o FCK do concreto em MPa
fck = float(input("Informe o FCK do concreto em MPa: "))
# vamos calcular o peso suportado pelo pilar
peso_suportado = area * (fck * 10)
# vamos aplicar o fator de segurança de 40%
peso_suportado = peso_suportado / 1.4
# e mostramos o resultado
print("A área da seção transversal é: {0} cm2".format(area))
print("Esse pilar suporta {0} kg".format(peso_suportado))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe a base (b) do pilar em cm: 14 Informe a altura (h) do pilar em cm: 26 Informe o FCK do concreto em MPa: 20 A área da seção transversal é: 364.0 cm2 Esse pilar suporta 52000.0 kg Lembre-se de que a área mínima da seção de um pilar, de acordo com a NBR 6118/2014 é de 360 cm2. |
Java ::: Coleções (Collections) ::: HashSet |
Java Collections - Como usar a classe HashSet em seus programas JavaQuantidade de visualizações: 5729 vezes |
A classe HashSet, no pacote java.util, é uma classe concreta que implementa a interface Set. Na maioria das vezes nós usamos objetos desta classe para armazenar elementos não duplicados (ainda que o elemento null seja permitido). Veja sua posição na hierarquia de classes da plataforma Java:
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.HashSet<E>
Veja um trecho de código no qual inserimos cinco elementos do tipo String em um HashSet e os listamos em seguida:
package estudos;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Estudos{
public static void main(String[] args) {
// vamos criar uma instância da classe HashSet
Set<String> conjunto = new HashSet<>();
// vamos inserir cinco Strings neste conjunto
conjunto.add(null); // o elemento null é permitido
conjunto.add("Marcos");
conjunto.add("Osmar");
conjunto.add("Osmar"); // elemento duplicado aqui
conjunto.add("Fernanda");
// vamos exibir os elementos
Iterator iterator = conjunto.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
Ao executarmos este código teremos o seguinte resultado: null Fernanda Marcos Abel Osmar |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em C# usando a função Delete() da classe DirectoryInfoQuantidade de visualizações: 2 vezes |
|
O método Delete() da classe DirectoryInfo do C# é muito útil quando precisamos excluir um diretório. Esta função é do tipo void, ou seja, não retorna nada. Veja um código completo demonstrando o seu uso:
using System;
using System.IO;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// vamos criar uma nova instância da classe DirectoryInfo
DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens");
// vamos tentar excluir o diretório
try {
dir.Delete();
Console.WriteLine("Diretório excluído com sucesso.");
}
catch (Exception e) {
Console.WriteLine("Não foi possível excluir o diretório: {0}", e.ToString());
}
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Diretório excluído com sucesso. Se o diretório a ser excluido não estiver vazio, a chamada ao método System.IO.DirectoryInfo.Delete() poderá gerar o seguinte erro: Não foi possível excluir o diretório: System.IO.IOException: A pasta não está vazia. : 'C:\estudos_csharp\imagens' at System.IO.FileSystem.RemoveDirectoryInternal(String fullPath, Boolean topLevel, Boolean allowDirectoryNotEmpty) at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive) at System.IO.DirectoryInfo.Delete() at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 12 |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






