![]() |
|
|
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. |
||
Python ::: wxPython ::: Eventos e Tratadores de Eventos |
Como tratar o evento wx.EVT_PAINT em suas aplicações wxPython - Interfaces gráficas no PythonQuantidade de visualizações: 555 vezes |
|
Nesta dica mostrarei como podemos tratar o evento wx.PaintEvent em suas aplicações wxPython. Este evento é disparado todas as vezes que uma janela é redesenhada, ou seja, quando fazemos o redimensionamento da janela ou a maximizamos. Veja o código completo para uma aplicação wxPython na qual interceptamos o evento wx.PaintEvent para exibir a hora atual na janela, usando a função dc.DrawText(). Note o uso da função strftime() para formatar o conteúdo de um objeto datetime.
# vamos importar o framework wxPython
import wx
# mais alguns imports necessários
from datetime import datetime
import locale
# classe que representará a janela principal da
# aplicação wxPython
class JanelaPrincipal(wx.Frame):
# o método construtor
def __init__(self, *args, **kw):
# chama o construtor da classe wx.Frame
super(JanelaPrincipal, self).__init__(*args, **kw)
# Configurações do usuário
locale.setlocale(locale.LC_ALL, '')
# chama a função que inicializa a GUI
self.InicializarGUI()
# método usado para gerenciar o evento OnPaint
def OnPaint(self, e):
# Obtém um datetime da data e hora atual
hoje = datetime.today()
# vamos obter o contexto de desenho
dc = wx.PaintDC(self)
texto = "Evento OnPaint gerado às: {0}".format(
hoje.strftime("%X"))
dc.DrawText(texto, 20, 20)
# função que inicializa a GUI do programa
def InicializarGUI(self):
self.Bind(wx.EVT_PAINT, self.OnPaint)
# definimos o tamanho da janela
self.SetSize((450, 350))
# define a cor de fundo da janela (Windows 10)
self.SetBackgroundColour(wx.WHITE)
# definimos o título da janela
self.SetTitle('O evento OnPaint')
# e centralizamos a janela
self.Centre()
# função principal do programa Python
def main():
# vamos criar a aplicação wxPython
app = wx.App()
janela_principal = JanelaPrincipal(None)
janela_principal.Show()
app.MainLoop()
if __name__ == "__main__":
main()
|
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como chamar uma função de callback para os elementos individuais de um array usando a função forEach() - Vetores e matrizes em JavaScriptQuantidade de visualizações: 2180 vezes |
|
O método forEach(), adicionado à linguagem JavaScript por meio do ECMAScript 5 (JavaScript 5, ECMAScript 2009, ES5) é usado quando queremos acessar os elementos de um vetor individualmente e chamar, para cada um deles, uma função de callback personalizada. Veja no trecho de código abaixo como usar a função forEach() para obter a soma de todos os elementos maiores ou iguais a 20:
<script type="text/javascript">
function obterSoma(valor, indice, vetor){
if(valor >= 20){
soma = soma + valor;
}
}
var valores = new Array(21, 5, 30, 7, 12, 3);
// vamos obter a soma dos valores maiores ou iguais a 20
var soma = 0;
// percorremos os elementos do vetor individualmente
valores.forEach(obterSoma);
window.alert("A soma é: " + soma);
</script>
Uma função passada para o método forEach() pode conter os seguintes argumentos (nessa mesma ordem): a) O valor do item; b) O índice do item (opcional); c) O vetor a partir do qual o método forEach() está sendo chamado (opcional). Veja mais um código no qual obtemos a soma dos elementos cujos valores sejam maiores que seu antecessor (com exceção do primeiro elemento):
<script type="text/javascript">
function obterSoma(valor, indice, vetor){
if(indice == 0){
soma = soma + valor;
}
else{
if(valor > vetor[indice - 1]){
soma = soma + valor;
}
}
}
var valores = new Array(8, 5, 30, 7, 12, 3);
// vamos dos elementos cujos valores sejam
// maiores que seu antecessor (com exceção do
// primeiro elemento)
var soma = 0;
// percorremos os elementos do vetor individualmente
valores.forEach(obterSoma);
window.alert("A soma é: " + soma);
</script>
O resultado será 50, pois obtemos a soma dos valores 8, 30 e 12. |
VB.NET ::: Dicas & Truques ::: Data e Hora |
Como retornar o mês da data atual em VB.NET usando a propriedade Month da classe DateTimeQuantidade de visualizações: 8990 vezes |
|
A propriedade Month da classe DateTime do VB.NET é usada quando queremos retornar o mês de uma determinada data como um número inteiro, ou seja, esta propriedade retorna um valor inteiro na faixa de 1 até 12. Veja o código VB.NET completo para o exemplo:
Imports System
Module Program
Sub Main(args As String())
' Este exemplo mostra como extrair o mês da data
' atual. Lembre-se de que o mês começa em 1 (janeiro)
Dim agora As DateTime = DateTime.Now
'obtém o mês.
Dim mes As Integer = agora.Month
Console.WriteLine("O mês para esta data é: " & mes)
Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
End Module
Ao executar este código VB.NET nós teremos o seguinte resultado: O mês para esta data é: 7 |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando Python - Geometria Analítica e Álgebra Linear usando PythonQuantidade de visualizações: 4455 vezes |
|
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código Python que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:
# função principal do programa
def main():
# vamos ler os valores x e y
x = float(input("Informe o valor de x: "))
y = float(input("Informe o valor de y: "))
# vamos calcular a norma do vetor
norma = math.sqrt(math.pow(x, 2) + math.pow(y, 2))
# mostra o resultado
print("A norma do vetor é: %0.2f" % norma)
if __name__== "__main__":
main()
Ao executar este código nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.22 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") AutoCAD Civil 3D .NET C# - Como retornar a quantidade de estacas de um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API |
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 |






