![]() |
|
|
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 |
||
|
||
|
|
||
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: 1328 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: ![]() |
React ::: Elementos de Formulários HTML ::: input type text Element/Object |
Como obter o texto digitado em uma caixa de texto em React usando useState()Quantidade de visualizações: 1007 vezes |
|
Nesta dica mostrarei como podemos retornar o texto digitado em um elemento HTML <input type="text"> ao clicarmos em um botão. Para isso nós faremos uso do gerencimento de estado proporcionado pelo objeto useState do React. Note que teremos dois estados: nome e nomeAtualizado, que estarão conectados às funções setNome() e setNomeAtualizado(). No momento que o texto é digitado na caixa de texto, automaticamente o estado nome é atualizado para corresponder ao contéudo exato do elemento HTML <input type="text">. Somente quando o botão é clicado é que transferimos o valor do estado nome para o estado nomeAtualizado, por meio de uma chamada à função setNomeAtualizado. Veja o código completo para o App.js:
// vamos importar o useState
import {useState} from 'react';
// função App() que será exportada
export default function App() {
// vamos criar dois states e suas funções
// correspondentes
const [nome, setNome] = useState('');
const [nomeAtualizado, setNomeAtualizado] = useState(nome);
// aqui nós gerenciamos o evento onChange da caixa
// de texto
const tratarEventoChange = (event) => {
// e chamamos a função que atualiza o estado nome
setNome(event.target.value);
};
// aqui nós gerenciamos o evento onClick do botão
const tratarEventoClick = () => {
// aqui nós transferimos o valor do estado
// nome para o estado nomeAtualizado
setNomeAtualizado(nome);
};
// e retornamos para renderização
return (
<div>
<input type="text"
id="nome" name="nome"
onChange={tratarEventoChange}
value={nome}/>
<h2>Nome Informado: {nome}</h2>
<h2>Nome Atualizado: {nomeAtualizado}</h2>
<button onClick={tratarEventoClick}>
Atualizar Estado</button>
</div>
);
}
E aqui está o código para o index.js:
// vamos fazer os imports necessários
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
// definimos a raiz da aplicação React
const root = ReactDOM.createRoot(
document.getElementById('root'));
// e renderizamos a aplicação no navegador
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);
Execute o exemplo e você verá uma caixa de texto <input type="text">, um botão <button> e dois elementos <h2>. Quando digitamos na caixa de texto, automaticamente o estado nome é atualizado. Ao clicarmos no botão, o estado nome é transferido para o estado nomeAtualizado, tudo isso é refletido de imediato na página. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo um caractere de cada vez em PHP usando a função fgetc()Quantidade de visualizações: 8203 vezes |
|
A função fgetc() da linguagem PHP é usada quando queremos ler um caractere de cada vez a partir de um arquivo. Note que esta função é um pouco lenta, e deve ser usada somente com arquivos pequenos. A leitura é interrompida quando a função fgetc() retorna um valor false. Veja um código PHP completo demonstrando o seu uso:
<?php
$arquivo = fopen("testes.txt", "r");
if(!$arquivo){
echo "Não foi possível abrir o arquivo";
}
else{
while(false !== ($char = fgetc($arquivo))){
echo $char;
}
}
?>
|
LISP ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em Lisp usando a função sqrtQuantidade de visualizações: 1798 vezes |
|
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função sqrt da linguagem Common Lisp. Veja o código completo:
; Vamos definir as variáveis que vamos
; usar no programa
(defvar numero)
(defvar raiz)
; Este o programa principal
(defun RaizQuadrada()
; Vamos ler o número
(princ "Informe um número: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável numero
(setq numero (read))
; calcula a raiz quadrada do número informado
(setq raiz (sqrt numero))
; E mostramos o resultado
(format t "A raiz quadrada de ~F é ~F" numero
raiz)
)
; Auto-executa a função RaizQuadrada()
(RaizQuadrada)
Ao executar este código Common Lisp teremos o seguinte resultado: Informe um número: 9 A raiz quadrada é: 3 É importante observar que, se fornecermos um valor negativo para a função sqrt da Common List não teremos um erro, como em muitas outras linguagens de programação. Em vez disso, o valor retornado será em forma de um número complexo. Veja: Informe um número: -9 A raiz quadrada de -9.0 é #C(0.0 3.0) |
Java ::: Pacote java.lang ::: String |
Como obter um objeto String a partir de um StringBuffer ou StringBuilder do JavaQuantidade de visualizações: 3666 vezes |
|
As classes StringBuffer e StringBuilder possuem as mesmas funcionalidades. A diferença é que StringBuilder não é segura em relação à threads e está sendo rapidamente substituída pela classe StringBuffer. Ambas são parecidos com uma String, com a diferença que um StringBuffer ou StringBuilder pode ser modificado in-place, ou seja, modificações em seu conteúdo não geram uma nova cópia, como acontece com objetos da classe String. Nesta dica eu mostrarei como criar novos objetos String a partir do conteúdo de um StringBuffer ou StringBuilder. Vamos começar analisando os construtores da classe String que permitem passar um objeto StringBuffer ou StringBuilder:
package estudos;
public class Estudos{
public static void main(String[] args) {
// um StringBuffer contendo uma frase (troque
// StringBuffer por StringBuilder e o resultado será o mesmo
StringBuffer frase = new StringBuffer("Gosto muito de programar em Java");
// vamos obter uma String a partir deste StringBuffer
String fraseString = new String(frase);
// e exibimos o resultado
System.out.println(fraseString);
}
}
Resultado parecido pode ser obtido sem o uso dos construtores String(StringBuilder builder) e String(StringBuffer buffer). Veja:
package estudos;
public class Estudos{
public static void main(String[] args) {
// um StringBuffer contendo uma frase (troque
// StringBuffer por StringBuilder e o resultado será o mesmo
StringBuffer frase = new StringBuffer("Gosto muito de programar em Java");
// vamos obter uma String a partir deste StringBuffer
String fraseString = frase.toString();
// e exibimos o resultado
System.out.println(fraseString);
}
}
Agora nós usamos o método toString() da classe StringBuffer para converter seu conteúdo em uma string e atribuí-lo à variável fraseString. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







