![]() |
|
|
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 Python |
||
|
||
|
|
||
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TClientDataSet |
Como tornar o TClientDataSet do Delphi somente leitura usando a propriedade ReadOnlyQuantidade de visualizações: 12345 vezes |
|
Em algumas situações gostaríamos que um TClientDataSet fosse somente leitura, ou seja, não queremos permitir inserção, atualização ou exclusão dos dados do dataset. Para isso podemos usar a propriedade ReadOnly. Se seu valor for True, os dados do TClientDataSet serão apenas para leitura. Se o valor for False, os dados podem ser modificados e/ou novos dados podem ser inseridos no dataset. O valor padrão é False. Em tempo de design a propriedade ReadOnly do TClientDataSet pode ser ajustada selecionando-se o componente no formulário e acessando o Object Inspector. Em tempo de execução esta propriedade pode ser ajustada por meio do seguinte trecho de código: procedure TForm3.Button3Click(Sender: TObject); begin // vamos tornar o TClientDataSet somente leitura ClientDataSet1.ReadOnly := True; end; Se necessário, podemos obter o valor desta propriedade em tempo de execução da seguinte forma:
procedure TForm3.Button3Click(Sender: TObject);
begin
// vamos verificar se o TClientDataSet é somente leitura
if ClientDataSet1.ReadOnly then
ShowMessage('O ClientDataSet é somente leitura')
else
ShowMessage('O ClientDataSet NÃO é somente leitura')
end;
Ao executarmos este código e clicarmos no botão teremos uma mensagem parecida com: "O ClientDataSet NÃO é somente leitura". É importante observar que se tentarmos efetuar alguma operação que modifica o conteúdo de um TClientDataSet somente leitura nós teremos uma exceção do tipo: Project Project2.exe raised exception class EDatabaseError with message 'ClientDataSet1': Cannot modify a read-only dataset'. Quando ajustamos o valor da propriedade ReadOnly para True, automaticamente a propriedade CanModify do dataset é ajustada para False. Importante: Mesmo que o valor da propriedade ReadOnly seja False, os usuários ainda podem ser impedidos de modificar os dados de um client dataset se este obtém seus dados a partir de um provider (por exemplo: TDataSetProvider). A propriedade Options do provider pode limitar se os dados podem ser editados e, se puderem, os tipos de alterações permitidos. Esta dica foi escrita e testada no Delphi 2009. |
Python ::: Python para Engenharia ::: Cálculo Diferencial e Integral |
Como calcular o limite de uma função usando Python e a biblioteca Sympy - Python para EngenhariaQuantidade de visualizações: 4906 vezes |
|
Como calcular o limite de uma função usando Python e a biblioteca Sympy Citando a Wikipédia: Na matemática, o limite de uma função é um conceito fundamental em cálculo e análise sobre o comportamento desta função quando próxima a um valor particular de sua variável independente. Informalmente, diz-se que __$\text{L}__$ é o limite da função __$\text{f(x)}__$ quando __$\text{x}__$ tende a __$\text{p}__$, escreve-se \[ \lim_{x \to p} f(x) = L \] quando __$\text{f(x)}__$ está arbitrariamente próximo de __$\text{L}__$ para todo __$\text{x}__$ suficientemente próximo de __$\text{p}__$. O conceito de limite pode ser estendido para funções de varias variáveis. A biblioteca SymPy da linguagem Python facilita muito o trabalho de se calcular limites. É claro que é sempre uma boa idéia saber calcular o limite de uma função "na mão" mesmo, até para sabermos se nosso código Python está correto. No entanto, em algumas situações, lançar mão da função limit() da SymPy nos poupará um tempo incrível. Dessa forma, a sintáxe para o cálculo do limite na SymPy segue o padrão limit(função, variável, ponto). Então, se quisermos calcular o limite de f(x) com x tendendo a 0, só precisamos fazer limit(f, x, 0). Vamos colocar esse conhecimento em prática então? Veja o seguinte limite: \[ \lim_{x \to 1} 5x^2 + 2x \] Agora observe o código Python completo que calcula e retorna o limite desta função:
# vamos importar a biblioteca SymPy
from sympy import *
def main():
# vamos definir o símbolo x
x = symbols("x")
# definimos a função
f = (5 * x ** 2) + (2 * x)
# finalmente calculamos o limite
limite = limit(f, x, 1)
# e mostramos o resultado
print("O limite da função é: %f." % limite)
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: O limite da função é: 7.000000. Logo, o limite da função no ponto __$\text{x}__$ = 1 vale 7, em outras palavras, 7 é o valor que __$f(5x^2 + 2x)__$ deveria ter em 1 para ser contínua nesse ponto. Vamos ver mais um exemplo? Observe o seguinte limite: \[ \lim_{x \to 1} \left(\frac{x^2 - 1}{x - 1}\right) \] Aqui temos um situação interessante. Note que temos que fazer uma manipulação algébrica na expressão, fatorando os termos. Porém, mesmo em situações assim o método limit() da Sympy consegue interpretar a expressão simbólica corretamente e nos devolver o limite esperado. Veja o código Python completo:
# vamos importar a biblioteca SymPy
from sympy import *
def main():
# vamos definir o símbolo x
x = symbols("x")
# definimos a função
f = (x ** 2 - 1) / (x - 1)
# finalmente calculamos o limite
limite = limit(f, x, 1)
# e mostramos o resultado
print("O limite da função é: %f." % limite)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O limite da função é: 2.000000. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Fenômenos dos Transportes, Hidráulica e Drenagem |
Exercício Resolvido de Python - Como calcular Vazão Volumétrica, Vazão Mássica e Vazão em Peso usando Python - Python para Fenômenos dos Transportes e HidráulicaQuantidade de visualizações: 668 vezes |
|
Pergunta/Tarefa: Uma torneira enche de água um tanque em 2 horas e 20 segundos. Determine a vazão em volume, em massa e em peso em unidades do SI. Considere que a densidade da água é igual a 1000 kg/m3 e g = 9,8 m/s2. Considere também que a capacidade do tanque é de 10 mil litros. Sua saída deverá ser parecida com: Informe a quantidade de horas: 2 Informe a quantidade de segundos: 20 Informe a capacidade do tanque (litros): 10000 Informe a densidade da água (kg/m3): 1000 Informe a força da gravidade (m/s2): 9.8 Total de segundos: 7220 Capacidade do tanque: 10.0 m3 Vazão Volumétrica: 0.0013850415512465374 m3/s Vazão Mássica: 1.3850415512465375 kg/s Vazão em Peso: 13.57340720221607 N/s Para obter a Vazão Volumétrica, que representa a quantidade de volume que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_v = \frac{V}{T} \] Onde: Qv = vazão volumétrica em metros cúbicos por segundo (m3/s); V = o volume do fluido em metros cúbicos (m3); T = o tempo em segundos (s). Para obter a Vazão Mássica, que representa a quantidade de massa que atravessa uma região em um determinado intervalo de tempo, nós vamos usar a seguinte fórmula: \[Q_m = \frac{M}{T} \] Onde: Qm = vazão mássica em quilos por segundo (kg/s); M = a massa do fluido em quilos (kg); T = o tempo em segundos (s). Para a Vazão em Peso nós só precisamos multiplicar a Vazão Mássica pelo peso da gravidade, ou seja, 9.8. Dessa forma, a Vazão em Peso é dada em N/s. Obs.: No código eu mostro como converter horas em segundos e litros em m3. Veja a resolução completa para o exercício em Python, comentada linha a linha:
# método principal
def main():
# vamos ler a quantidade de horas e segundos
hora = int(input("Informe a quantidade de horas: "))
segundos = int(input("Informe a quantidade de segundos: "))
# agora vamos ler a capacidade do tanque em litros
capacidade_tanque = int(input("Informe a capacidade do tanque (litros): "))
# vamos ler a densidade da água
densidade_agua = float(input("Informe a densidade da água (kg/m3): "))
# vamos ler a força da gravidade
gravidade = float(input("Informe a força da gravidade (m/s2): "))
# vamos calcular o total de segundos
segundos_hora = 3600
total_segundos = (2 * segundos_hora) + segundos
# vamos converter a capacidade do tanque de litros para m3
volume = capacidade_tanque / 1000.0
# vamos calcular a vazão volumétrica
vazao_volumetrica = volume / total_segundos
# vamos calcular a vazão mássica
vazao_massica = vazao_volumetrica * densidade_agua
# vamos calcular a vazão em peso
vazao_peso = vazao_massica * gravidade
# e mostramos o resultado
print("\nTotal de segundos: {0}".format(total_segundos))
print("Capacidade do tanque: {0} m3".format(volume))
print("Vazão Volumétrica: {0} m3/s".format(vazao_volumetrica))
print("Vazão Mássica: {0} kg/s".format(vazao_massica))
print("Vazão em Peso: {0} N/s".format(vazao_peso))
if __name__== "__main__":
main()
|
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor de ponto-flutuante em JavaScript usando a função parseFloat()Quantidade de visualizações: 8278 vezes |
|
Em algumas situações nós precisamos receber uma string informada pelo usuário e convertê-la para um valor real válido. Um valor em JavaScript é o mesmo que um valor com casas decimais, ou seja, um valor de ponto-flutuante. Esta tarefa pode ser realizada com o auxílio da função parseFloat(). Veja uma página HTML completa demonstrando o seu uso: <!doctype html> <html> <head> <title>Strings em JavaScript</title> </head> <body> <script type="text/javascript"> var valor1 = "87.32"; var valor2 = "Arquivo"; var valor3 = "65,54"; // vamos exibir os resultados document.write(parseFloat(valor1) + "<br>"); document.write(parseFloat(valor2) + "<br>"); document.write(parseFloat(valor3)); </script> </body> </html> Ao executarmos este código JavaScript nós teremos o seguinte resultado: 87.32 NaN 65 Note que apenas a primeira string pôde ser convertida para um valor fracionário com sucesso. |
Android Java ::: android.widget ::: Toast |
Como usar a classe Toast em suas aplicações AndroidQuantidade de visualizações: 10601 vezes |
|
Um objeto da classe pública Toast (do pacote android.widget) nos oferece uma forma de exibir uma pequena e rápida mensagem aos usuários de nossas aplicações Android. A mensagem exibida aparecerá como uma view flutuante sobre a tela atual da aplicação e não receberá foco. O objetivo é alertar o usuário sobre o sucesso ou fracasso de alguma atividade, aguardar alguns segundos e fazer a mensagem desaparecer. Veja a posição desta classe na hierarquia de classes do Android SDK: java.lang.Object android.widget.Toast Eis um exemplo de como usar um objeto desta classe para exibir uma breve mensagem quando o usuário clicar um botão na view:
package arquivo.estudos;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class EstudosActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
Toast.makeText(EstudosActivity.this,
"Bem-vindo à minha aplicação Android",
Toast.LENGTH_SHORT).show();
}
});
}
}
O botão usado neste exemplo foi criado em um layout XML com a seguinte declaração:
<Button
android:id="@+id/btn"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Clique" />
Veja que aqui nós usamos o método estático makeText() da classe Toast para exibir a mensagem ao usuário. A constante Toast.LENGTH_SHORT faz com que a mensagem seja exibida por um curto período de tempo. |
Veja mais Dicas e truques de Android Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




