![]() |
|
|
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 Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como ler as linhas de texto de um JTextArea uma de cada vezQuantidade de visualizações: 9 vezes |
|
Nesta dica veremos como ler as linhas de um controle JTextArea do Java Swing individualmente, ou seja, uma linha de cada vez. Para isso nós vamos usar os método getLineStartOffset() e getLineEndOffset() da classe JTextArea para acessar suas linhas separadamente. Veja o resultado na imagem abaixo: ![]() E aqui está o código Java Swing completo para a dica:
package arquivodecodigos;
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.awt.event.*;
public class Estudos extends JFrame{
JTextArea textArea;
JButton btn;
public Estudos() {
super("Lendo as linhas de um JTextArea");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
textArea = new JTextArea(10, 20);
textArea.setLineWrap(true);
btn = new JButton("Ler Linhas");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
int quant = textArea.getLineCount();
for(int i = 0; i < quant; i++){
try{
int inicio = textArea.getLineStartOffset(i);
int fim = textArea.getLineEndOffset(i);
String linha = textArea.getText(inicio, fim - inicio);
JOptionPane.showMessageDialog(null, "Linha " +
(i + 1) + " = " + linha);
}
catch(BadLocationException ble){
// possiveis erros são tratados 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);
}
}
|
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizadaQuantidade de visualizações: 13 vezes |
|
Há muitos anos eu precisava remover espaços no final de uma string em JavaScript e percebi que o objeto String, na época, não oferecia a função trim(). Não me restou opção a não ser sentar e escrever o código na mão mesmo. Hoje em dia não precisamos mais dele, mas fica aí para que você entenda a lógica empregada na resolução do problema. Veja a página HTML completa com o exemplo:
<!doctype html>
<html>
<head>
<title>Strings em JavaScript</title>
</head>
<body>
<script type="text/javascript">
// função personalizada que remove os espaços
// no final de uma string
function trim_final(string){
// primeiro definimos o código do espaço
var espaco = String.fromCharCode(32);
// obtemos o tamanho da string
var tamanho = string.length;
// e criamos uma string temporária
var temp = "";
// a string está vazia?
if(tamanho < 0){
return "";
}
// uma variável temporária para percorrermos
// a string de trás para frente
var temp2 = tamanho - 1;
while(temp2 > -1){
if(string.charAt(temp2) == espaco){
// não faz nada
}
else{
temp = string.substring(0, temp2 + 1);
break;
}
// decrementamos a variável temp2
temp2--;
}
return temp;
}
// vamos testar a função trim_final()
var frase = "Gosto muito de JavaScript ";
document.write("Com espaços no final: " +
frase + "#" + "<br>");
// vamos remover os espaços no final da string
frase = trim_final(frase);
document.write("Sem espaços no final: " +
frase + "#" + "<br>");
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Com espaços no final: Gosto muito de JavaScript # Sem espaços no final: Gosto muito de JavaScript# |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em C usando a função cos() do header math.h - Calculadora de cosseno em CQuantidade de visualizações: 1386 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem C. Esta função, que faz parte do header math.h, recebe um valor numérico double e retorna um valor double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
// vamos calcular o cosseno de três números
printf("Cosseno de 0 = %f\n", cos(0));
printf("Cosseno de 1 = %f\n", cos(1));
printf("Cosseno de 2 = %f\n", cos(2));
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Cosseno de 0 = 1.000000 Cosseno de 1 = 0.540302 Cosseno de 2 = -0.416147 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Python ::: Pillow Python Imaging Library ::: Image |
Como abrir uma imagem no Pillow do Python usando a função open() do objeto ImageQuantidade de visualizações: 1975 vezes |
|
A função open() do objeto Image da biblioteca Pilow do Python é muito útil quando queremos abrir uma imagem para fins de edição ou exibição. Em sua forma mais simples este método exige apenas o caminho e nome da imagem e retorna um objeto PIL Image. Veja um trecho de código no qual usamos a função open() para abrir a imagem e, em seguida, usamos a função show() para exibir a imagem no visualizador de imagens padrão definido em nossa máquina:
# vamos importar a biblioteca Pilow
from PIL import Image
# método principal
def main():
# vamos abrir uma imagem
imagem = Image.open("Mulher.png")
# vamos exibir a imagem no visualizador padrão
imagem.show("Foto a partir do Pilow")
if __name__== "__main__":
main()
Note que o método show() do objeto Image é usado, na maioria das vezes, com o propósito de depuração de nossos códigos, já que ele cria um arquivo temporário e o envia ao visualizador padrão. Dessa forma nós podemos editar a imagem na memória e enviar para o visualizador todas as vezes que quisermos ver algum resultado. |
Java ::: Coleções (Collections) ::: ArrayList |
Java Collections para iniciantes - Arrays (vetores) ou a ArrayList? Qual devo usar?Quantidade de visualizações: 16771 vezes |
|
Uma das perguntas mais frequentes que os usuários do nosso site nos fazem é aquela sobre o uso de simples arrays (vetores e matrizes) ou objetos da classe ArrayList. Se o número de elementos for fixo ou você precisar de muita eficiência ao lidar com tipos primitivos, então arrays podem ser a melhor escolha. Porém, muitos problemas envolvendo o armazenamento de dados requerem estruturas de dados que possam ser redimensionadas de acordo com a necessidade do algorítmo. Neste caso, uma ArrayList (ou qualquer uma das outras classes Collections) pode ser a escolha certa. Veja um trecho de código para ficar mais fácil o entendimento:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
int valores[] = {4, 12, 8, 5, 13};
System.out.println("Primeiro elemento no vetor: "
+ valores[0]);
}
}
Ao executar este código nós teremos o seguinte resultado: Primeiro elemento no vetor: 4 Como podemos ver neste exemplo, um array (nesse caso um vetor) possui um tamanho fixo, ou seja, o compilador não nos permite reduzir ou aumentar a quantidade de elementos em um vetor ou matriz criado a partir da notação de arrays. Assim, apesar de todas as facilidades que os arrays trazem consigo, este pode ser um empecilho para o tipo de aplicação que queremos desenvolver em um determinado momento. A classe ArrayList, por outro lado, possui tamanho variado. Isso quer dizer que seu tamanho é aumentado ou reduzido de acordo com as necessidades do seu código. Uma outra questão que diferencia arrays de ArrayList, é que não podemos armazenar tipos primitivos em um objeto da classe ArrayList. Se precisarmos fazer isso, o tipo primitivo deve ser colocado em uma classe encapsuladora, por exemplo, a classe Integer. Em algumas situações o compilador faz isso nos bastidores, e esta operação é chamada de auto-boxing. |
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 |







