![]() |
|
|
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. |
||
Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o Índice de Esbeltez de um pilar em Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 600 vezes |
![]() O índice de esbeltez de um pilar, representado pela letra grega λ (lambda) é uma relação que mede a altura do pilar em relação à sua largura ou seção transversal. Esse índice é usado para avaliar a suscetibilidade de um pilar à flambagem, que é um tipo de falha estrutural que pode ocorrer em pilares esbeltos sob compressão. Segundo a NBR 6118, 15.8.2, os pilares devem ter índice de esbeltez menor ou igual a 200 (λ ≤ 200). Apenas no caso de postes com força normal menor que 0,10 fcd x Ac, o índice de esbeltez pode ser maior que 200. O índice de esbeltez é a razão entre o comprimento de flambagem e o raio de giração, nas direções a serem consideradas. De acordo com o comprimento de flambagem, os pilares classificam-se como: curto, se λ < 35; medianamente esbelto, se 35 < λ < 90; esbelto, se 90 < λ < 140; e muito esbelto, se 140 < λ < 200. A fórmula para o cálculo do índice de esbeltez pode ser definida como: \[\lambda = 3,46 \cdot \frac{le}{h} \] Onde: λ = número adimensional representando o índice de esbeltez ao longo da direção escolhida (x ou y); le = algura do pilar, ou seja, o comprimento do pilar em centímetros. h = dimensão escolhida (x ou y) em centímetros. De acordo com a norma NBR 6118 (ABNT, 2014), se o índice de esbeltez na direção escolhida for menor que 35, nós não precisamos considerar os efeitos locais de 2ª ordem. Vamos agora ao código Python? Pediremos ao usuário para informar o comprimento (altura) do pilar em metros, as dimensões nas direções x e y e mostraremos os índices de esbeltez nas direções x e y do pilar com as respectivas anotações da necessidade ou não da consideração dos efeitos locais de 2ª ordem. Veja:
# método principal
def main():
# vamos pedir o comprimento do pilar em metros (pé direito)
le = float(input("Informe o comprimento do pilar (em metros): "))
# vamos converter o comprimento em metros para centímetros
le = le * 100.0
# vamos pedir as dimensões do pilar
hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))
# agora vamos calcular o índice de esbeltez na direção x
lambda_x = 3.46 * (le / hx)
# agora vamos calcular o índice de esbeltez na direção y
lambda_y = 3.46 * (le / hy)
# e mostramos os resultados
print("\nO índice de esbeltez na direção x é: {0}".format(round(lambda_x, 2)))
# precisamos considerar os efeitos locais de segunda ordem na direção x?
if lambda_x < 35:
print("Não considerar os efeitos locais de 2ª ordem na direção x")
else:
print("Considerar os efeitos locais de 2º ordem na direção x")
print("\nO índice de esbeltez na direção y é: {0}".format(round(lambda_y, 2)))
# precisamos considerar os efeitos locais de segunda ordem na direção y?
if lambda_y < 35:
print("Não considerar os efeitos locais de 2ª ordem na direção y")
else:
print("Considerar os efeitos locais de 2ª ordem na direção y")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o comprimento do pilar (em metros): 2.88 Informe a dimensão do pilar na direção x (em cm): 40 Informe a dimensão do pilar na direção y (em cm): 19 O índice de esbeltez na direção x é: 24.91 Não considerar os efeitos locais de 2ª ordem na direção x O índice de esbeltez na direção y é: 52.45 Considerar os efeitos locais de 2ª ordem na direção y |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como salvar o conteúdo de um JTextArea em um arquivo (usando um JFileChooser para localizar o diretório e arquivo)Quantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como é possível como salvar o conteúdo de um JTextArea em um arquivo texto. Essa operação é muito frequente em aplicações Java Swing. Note que faremos uso de um JFileChooser para localizar o arquivo no qual o conteúdo será gravado, ou poderemos informar o nome do arquivo. Observe também o uso do método write() da classe FileWriter para escrever o conteúdo no arquivo. Para finalizar, perceba que não fiz os devidos tratamentos de erros e as mensagens de sucesso das operações e coisas. Fica como exercício para você finalizar. Veja o código completo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Estudos extends JFrame{
JTextArea textArea;
JButton btn;
public Estudos() {
super("Salvando o conteúdo de um JTextArea em um arquivo");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
textArea = new JTextArea(10, 20);
textArea.setLineWrap(true);
btn = new JButton("Salvar Arquivo");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser fc = new JFileChooser();
if(fc.showSaveDialog(Estudos.this) != JFileChooser.APPROVE_OPTION){
return;
}
File arquivo = fc.getSelectedFile();
if(arquivo == null){
return;
}
FileWriter writer = null;
try {
writer = new FileWriter(arquivo);
writer.write(textArea.getText());
}
catch(IOException ex){
// Possiveis erros aqui
}
finally {
if(writer != null){
try{
writer.close();
}
catch (IOException x){
// trate os erros aqui
}
}
}
}
}
);
c.add(textArea);
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Java ::: Fundamentos da Linguagem ::: Modificadores |
Como usar o modificador synchronized da linguagem JavaQuantidade de visualizações: 24399 vezes |
|
O modificador synchronized tem seu uso e importância destacados quando várias threads (fluxos de execução) estão sendo executadas em um programa. Tais threads podem tentar acessar métodos de uma ou mais classes ao mesmo tempo. No entanto, pode ser necessário planejarmos o sistema de forma que determinados métodos possam ser acessados por somente uma thread de cada vez, talvez para garantir a integridade de valores das diversas variáveis envolvidas no processo. É aqui que o modificador synchronized é usado. Ao marcarmos um método como synchronized, o sistema de execução Java garantirá que apenas uma thread de cada vez acesse tal método. Se outras threads tentarem fazer o mesmo, elas serão colocadas em espera até que a thread atual finalize seu trabalho e libere o método. Um exemplo de aplicação do modificador synchronized pode ser visto em uma classe Pilha. Como sabemos, esta estrutura de dados possui métodos para inserir um novo item no topo da pilha e para removê-lo do topo (lembra? LIFO: Last In First Out). Ora, para evitar que uma thread remova o elemento do topo ao mesmo tempo em que outra está tentando inserir, tais métodos devem ser marcados como synchronized. Isso evitará que os dados sejam corrompidos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escreva um programa em Java que usa a função log10() para informar a quantidade de dígitos em um número inteiroQuantidade de visualizações: 1023 vezes |
|
Pergunta/Tarefa: Escreva um algorítmo em Java que peça para o usuário informar um número inteiro de qualquer tamanho, ou seja, qualquer quantidade de dígitos. Em seguida seu código deverá informar a quantidade de dígitos contida no número inteiro digitado pelo usuário. Seu programa deverá, obrigatoriamente, usar a função log10() da classe Math. Sua saída deverá ser parecida com: Informe um número inteiro de qualquer tamanho: 847 O número informado possui 3 dígitos Veja a resolução comentada deste exercício usando Java console:
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar um número inteiro
System.out.print("Informe um número inteiro de qualquer tamanho: ");
int numero = Integer.parseInt(entrada.nextLine());
// agora vamos obter a quantidade de dígitos no
// número informado
int tamanho = ((int) Math.log10(numero)) + 1;
// mostramos o resultado
System.out.println("O número informado possui " + tamanho +
" dígitos");
}
}
|
Delphi ::: Dicas & Truques ::: Recursão (Recursividade) |
Como calcular fatorial em Delphi usando recursividadeQuantidade de visualizações: 13612 vezes |
|
O fatorial de um determinado número, representado por n! equivale a multiplicar este número por seus antecessores. Assim, o fatorial de 4 (4!) pode ser calculado da seguinte forma: 4 x 3 x 2 x 1 = 24 Sempre que falamos de recursão, o cálculo de fatorial nos auxilia na exemplicação por ser relativamente fácil de se entender todas as etapas do processo. O código abaixo mostra uma função recursiva em Delphi que calcula o fatorial de qualquer número. Tenha cuidado. Calcular o fatorial de um número maior que 10 pode tornar sua máquina extremamente lenta, além de, muitas vezes, não retornar os resultados esperados.
// função recursiva para calcular o fatorial
// de um determinado número
function fatorial(n: Integer): Integer;
begin
if n = 0 then
Result := 1
else
Result := n * fatorial(n - 1);
end;
// vamos chamar a função recursiva
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
var
res: Integer;
begin
// vamos calcular o fatorial de 5
res := fatorial(5);
// vamos mostrar o resultado
ShowMessage('O fatorial de 5 é: ' + IntToStr(res));
end;
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 |
|
Android Java - Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




