![]() |
|
|
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 |
||
|
||
|
|
||
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: 8846 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 ::: Pacote java.net ::: HttpURLConnection |
Como usar o método GET da classe HttpURLConnection do Java para enviar dados a uma página PHP, JSP, ASP.NET, etcQuantidade de visualizações: 7389 vezes |
|
Em algumas situações gostaríamos de enviar uma solicitação HTTP do tipo GET a uma página PHP, JSP, ASP.NET, etc, a partir de nossos programas Java. Para isso podemos usar um objeto da classe HttpURLConnection. Para este exemplo eu mostrarei como enviar uma requisição GET para uma página PHP e retornar o resultado da soma de dois números. Comece analisando o código para o documento somar.php: <?php // obtém o primeiro valor $a = (int)$_GET["a"]; // obtém o primeiro valor $b = (int)$_GET["b"]; // vamos somar e mostrar o resultado $soma = $a + $b; echo "A soma dos dois números é: " . $soma; ?> Este código PHP não apresenta muitos segredos: obtemos dois números passados via GET, efetuamos a soma dos dois e escrevemos o resultado na página. Veja agora o código completo para a aplicação Java:
package arquivodecodigos;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class Principal {
public static void main(String[] args) {
int n1 = 10, n2 = 25;
URL url;
HttpURLConnection connection = null;
BufferedReader in = null;
try {
url = new URL("http://www.arquivodecodigos.com.br/somar.php?a=" + n1
+ "&b=" + n2);
// vamos efetuar a conexão à URL especificada
connection = (HttpURLConnection)url.openConnection();
// em alguns servidores nós precisamos adicionar o User-Agent para evitar
// o erro 403 Forbidden
// HttpURLConnection : Server return HTTP 403 Forbidden
connection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; "
+ "WOW64; rv:221.0) Gecko/20100101 Firefox/31.0");
// vamos obter o retorno da conexão
String linha;
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((linha = in.readLine()) != null) {
System.out.println(linha);
}
}
catch (MalformedURLException ex) {
System.out.println("A URL está mal formada: " + ex.getMessage());
}
catch (IOException ex) {
System.out.println("Não foi possível efetuar a conexão: " +
ex.getMessage());
}
finally {
if(in != null) {
try {
in.close();
}
catch (IOException ex) {
System.out.println("Não consegui fechar o stream de saída: " +
ex.getMessage());
}
}
connection.disconnect();
}
}
}
Ao executar o programa, teremos uma mensagem no console parecida com: A soma dos dois números é: 35 |
C++ ::: C++ para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C++ - Geometria Analítica e Álgebra Linear usando C++Quantidade de visualizações: 2708 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 C++ que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:
#include <string>
#include <iostream>
#include <math.h>
using namespace std;
int main(int argc, char *argv[]){
float x, y, norma;
// vamos ler os valores x e y
cout << "Informe o valor de x: ";
cin >> x;
cout << "Informe o valor de y: ";
cin >> y;
// vamos calcular a norma do vetor
norma = sqrt(pow(x, 2) + pow(y, 2));
// mostra o resultado
cout << "A norma do vetor é: " << norma;
cout << "\n\n";
system("PAUSE");
return 0;
}
Ao executar este código C++ nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 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. |
Java ::: Pacote java.util ::: Iterator |
Como usar objetos da interface Iterator do Java em suas aplicaçõesQuantidade de visualizações: 3404 vezes |
|
Um objeto da interface Iterator<E>, no pacote java.util, é usado para percorrer os elementos de uma coleção. Um Iterator é usado com frequencia em substituição a um Enumeration. Há duas diferenças principais entre os dois: a) Um Iterator permite a remoção de elementos na coleção sendo percorrida no momento. b) Os métodos do Iterator são mais curtos e apresentam melhoria em relação aos métodos do Enumeration. As subinterfaces conhecidas de Iterator<E> são ListIterator<E> e XMLEventReader. As classes conhecidas que implementam esta interface são BeanContextSupport.BCSIterator, EventReaderDelegate e Scanner. Veja um trecho de código no qual usamos um Iterator para percorrer e exibir os valores dos elementos de uma ArrayList:
package estudos;
import java.util.ArrayList;
import java.util.Iterator;
public class Estudos{
public static void main(String[] args){
// vamos criar uma ArrayList
ArrayList<String> pessoas = new ArrayList();
pessoas.add("Osmar");
pessoas.add("Carlos");
pessoas.add("Fernanda");
// vamos obter um Iterator para a lista e percorrer todos os elementos
for(Iterator<String> pessoa = pessoas.iterator(); pessoa.hasNext();){
System.out.println(pessoa.next());
}
}
}
Ao executar este exemplo nós teremos o seguinte resultado: Osmar Carlos Fernanda |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elasQuantidade de visualizações: 1 vezes |
|
Nesta dica eu mostro como é possível aplicar uma cor diferente às células individuais de uma JTable ao passar o mouse em cima delas. O efeito visual é muito interessante, principalmente quando temos uma JTable com muitos dados. No exemplo eu construí a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual. É um ótimo exercício para realmente entender as partes que compoem uma aplicação Java Swing. Veja o código Java completo:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;
public class Estudos extends JFrame{
int linha, coluna;
public Estudos(){
super("JTable");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas);
tabela.setPreferredScrollableViewportSize(new
Dimension(350, 50));
class CellListener extends MouseMotionAdapter{
public void mouseMoved(MouseEvent e){
JTable tb = (JTable)e.getSource();
linha = tb.rowAtPoint(e.getPoint());
coluna = tb.columnAtPoint(e.getPoint());
tb.repaint();
}
}
class ColorirCelula extends JLabel
implements TableCellRenderer{
public ColorirCelula(){
setOpaque(true);
}
public Component getTableCellRendererComponent(
JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column){
if(row == linha && column == coluna){
this.setBackground(Color.yellow);
}
else{
this.setBackground(table.getBackground());
}
this.setText(value.toString());
return this;
}
}
Container c = getContentPane();
c.setLayout(new FlowLayout());
tabela.addMouseMotionListener(new CellListener());
tabela.setDefaultRenderer(Object.class,
new ColorirCelula());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executarmos esta aplicação Java Swing nós teremos o seguinte resultado: ![]() |
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 |






