![]() |
|
|
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 |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o arco cosseno de um número em Java usando o método acos() da classe MathQuantidade de visualizações: 12261 vezes |
|
O arco cosseno, ou arco coseno (também chamado de cosseno inverso) pode ser representado por cos-1 x, arccos x ou acos x. Esta função é a inversa do cosseno, ou seja, se o cosseno é a relação entre o cateto adjacente ao ângulo e a hipotenusa, o arco cosseno parte desta relação para encontrar o valor do ângulo. Em Java, o arco cosseno de um número pode ser obtido por meio do método acos() da classe Math. Este método recebe um valor double e retorna também um double, na faixa 0 <= x <= PI, onde PI vale 3.1416. Veja um código Java completo no qual informamos um número e em seguida calculamos o seu arco-cosseno:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
double numero = 0.5;
System.out.println("O arco cosseno de " +
numero + " é " + Math.acos(numero));
}
}
Ao executar este código nós teremos o seguinte resultado: O arco cosseno de 0.5 é 1.0471975511965979 Não se esqueça de que as funções trigonométricas são usadas para modelar o movimento das ondas e fenômenos periódicos, como padrões sazonais. Elas formam a base para análises avançadas em engenharia elétrica, processamento digital de imagem, radiografia, termodinâmica, telecomunicações e muitos outros campos da ciência e da tecnologia. |
Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: Input e Output (Entrada e Saída) |
Como usar o método read_csv() do Pandas da linguagem Python para carregar um dataset e retorná-lo como um DataFrameQuantidade de visualizações: 5595 vezes |
|
Quando estamos desenvolvendo soluções em Data Science ou Machine Learning, é comum precisarmos carregar dados contidos em arquivos .csv (nos quais os registros são separados por vírgulas ou ponto-e-vírgula). Para isso podemos usar o método read_csv() da biblioteca Pandas do Python. Veja um exemplo no qual usamos o método read_csv() para carregar um dataset e depois exibir o DataFrame resultante. Para isso usaremos uma amostra de dados de empréstimos aprovados ou recusados. O arquivo .csv pode ser baixado aqui. Eis o código:
# importamos a biblioteca Pandas
import pandas as pd
def main():
# vamos carregar os dados do arquivo .csv
dados = pd.read_csv("C:\\estudos_python\\emprestimos.csv",
delimiter=";")
# vamos mostrar o DataFrame resultante
print(dados)
if __name__== "__main__":
main()
Quando executarmos este código nós teremos um resultado parecido com:
id nome idade sexo renda valor parc pont ap
0 1 MIGUEL728 24 M 1800 12500 30 34 S
1 2 RAUL46 61 M 2300 10000 24 59 S
2 3 JONAS264 28 M 800 12500 36 59 N
3 4 LETICIA135 71 F 1800 10000 36 13 N
4 5 CARLOS931 60 F 4000 2000 6 10 N
.. ... ... ... ... ... ... ... ... ..
9 96 ANGELA391 91 F 4000 12500 12 33 N
96 97 PEDRO764 50 M 10200 2500 12 1 N
97 98 ADRIANA175 41 F 4000 2000 36 77 S
98 99 ROSA666 42 F 1800 20000 24 74 N
99 100 SARA653 36 F 970 11000 12 42 N
[100 rows x 9 columns]
Note que aqui nós temos uma amostra de 100 registros e cada registro possui 9 colunas. Se você quiser ver todos os 100 registros, troque a linha: print(dados) por print(dados.to_string()) Para finalizar, note que forneci ";" como delimitador para o método read_csv(). |
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: 537 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 ::: DOM (Document Object Model) ::: Navegação e Pesquisa de Nós (Nodes) |
Como obter o tipo de um nó no DOM (Document Object Model) usando a propriedade nodeType a partir de seus códigos JavaScriptQuantidade de visualizações: 8663 vezes |
|
Como obter o tipo de um nó no DOM (Document Object Model) usando a propriedade nodeType a partir de seus códigos JavaScript A propriedade nodeType, definida no World Wide Web Consortium (W3C) Document Object Model (DOM) Level 1, pode ser usada quando precisamos obter o tipo de um determinado nó (node) na hierarquia de elementos HTML no DOM (Document Object Model). Esta propriedade retorna um valor inteiro indicando o tipo de nó sendo testado. Os valores mais comuns são 1 (nó elemento) e 3 (nó texto). Veja uma página HTML na qual temos um parágrafo e um elemento span. Na primeira vez nós vamos obter uma referência ao parágrafo e testar o tipo do nó. Na segunda vez nós obtemos uma referência ao primeiro nó filho do elemento span, o que resultará em seu conteúdo sendo testado. Veja:
<html>
<head>
<title>Estudos JavaScript</title>
<script type="text/javascript">
function obterNodeType(){
// vamos obter uma referência ao parágrafo com o id "paragrafo"
var elem = document.getElementById("paragrafo");
// vamos obter o tipo de nó deste elemento
var tipo = elem.nodeType;
// vamos mostrar o resultado
window.alert("O tipo deste elemento é: " + tipo);
// vamos obter uma referência ao span com o id "frase"
elem = document.getElementById("frase");
// vamos obter o tipo de nó do primeiro filho deste elemento
tipo = elem.firstChild.nodeType;
// vamos mostrar o resultado
window.alert("O tipo deste elemento é: " + tipo);
}
</script>
</head>
<body>
<p id="paragrafo">Sou um parágrafo</p>
<span id="frase">Veja esta frase</span>
<br><button onclick="obterNodeType()">Obter tipo do nó (nodeType)</button>
</body>
</html>
Note que esta propriedade é somente-leitura, ou seja, não podemos modificar seu valor em tempo de execução. A propriedade nodeType pode ser obtida a partir dos seguintes elementos: a, abbr, acronym, address, applet, area, b, base, basefont, bdo, bgsound, big, blink, blockquote, body, br, button, caption, center, cite, code, col, colgroup, comment, dd, del, dfn, dir, div, dl, dt, em, embed, fieldset, font, form, frame, frameset, h1, h2, h3, h4, h5, h6, head, hr, html, i, iframe, img, input:button, input:checkbox, input:file, input:hidden, input:image, input:password, input:radio, input:range, input:reset, input:search, input:submit, input:text, ins, isindex, kbd, keygen, label, legend, li, link, listing, map, marquee, menu, meta, nobr, noframes, noscript, object, ol, optgroup, option, p, param, plaintext, pre, q, rt, ruby, s, samp, script, select, small, span, strike, strong, style, sub, sup, table, tbody, td, textarea, tfoot, th, thead, title, tr, tt, u, ul, var, wbr, xml e xmp. Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar classes abstratas em Java - Programação Orientada a Objetos - Java POOQuantidade de visualizações: 22465 vezes |
Classes abstratas (abstract classes) não diferem muito das classes que normalmente criamos, ou seja, elas também podem possuir propriedades e métodos. Porém, não é possível criar instâncias de uma classe abstrata usando o operador new. Veja:
abstract class Pessoa{
public String nome;
public int idade;
}
public class Estudos{
public static void main(String args[]){
// cria um objeto da classe Pessoa
Pessoa p = new Pessoa();
}
}
Ao tentarmos compilar este exemplo teremos a seguinte mensagem:
Estudos.java:9: Pessoa is abstract; cannot be
instantiated
Pessoa p = new Pessoa();
^
1 error
Classes abstratas geralmente contém métodos abstratos (ainda que métodos não abstratos sejam também permitidos). Um método abstrato é um método que possui apenas a assinatura. Não há implementação. Esta implementação deverá ser fornecida pela subclasse ou classe derivada. Uma classe que contém métodos abstratos deverá, obrigatoriamente, ser declarada abstrata. Veja um exemplo de um método abstrato:
public abstract class Pessoa{
public abstract String getNome();
}
Se a classe não fosse declarada com o modificador abstract, teríamos a seguinte mensagem de erro de compilação:
Pessoa.java:1: Pessoa is not abstract and does
not override abstract method getNome() in
Pessoa
public class Pessoa{
^
1 error
Classes abstratas são um dos tópicos mais complicados da linguagem Java e uma dor de cabeça enorme para aqueles que estão estudando para a certificação Java. Mostramos abaixo algumas dicas resultantes de nossas pesquisas sobre o assunto. 1)Uma classe não abstrata não pode conter métodos abstratos. Se uma classe concreta (não abstrata) herda de uma classe abstrata e não implementa todos os métodos abstratos, a classe derivada deve ser declarada abstract. Além disso, métodos abstratos não podem ser marcados como static. Insistir nisso pode gerar a seguinte mensagem de erro de compilação:
Pessoa.java:2: illegal combination of
modifiers: abstract and static
public static abstract String getNome();
^
2) Embora uma classe abstrata não possa ser instanciada usando o operador new, ela pode conter construtores. Tais construtores serão invocados nos construtores das classes derivadas. 3) Uma subclasse pode ser abstrata até mesmo se sua superclasse for concreta. E isso é fácil de notar, uma vez que todas as classes Java herdam de Object, que é concreta. 4) Uma classe derivada pode sobrescrever um método de sua superclasse e declará-lo abstract. Isso faz sentido quando a classe derivada for abstract e quiser tornar o método herdado inválido. 5) Embora uma classe abstrata não possa ser instanciada usando o operador new, ela pode ser usada como um tipo de dados. Esta técnica é útil quando parte do time de desenvolvedores precisa adiantar códigos que dependem de classes que ainda não foram implementadas (e, portanto, herdarão das classes abstratas usadas como tipos de dados) por outra parte do mesmo time. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



