![]() |
|
|
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. |
||
JavaScript ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
JavaScript para Trigonometria - Como converter radianos em graus na linguagem JavaScriptQuantidade de visualizações: 4337 vezes |
|
Todas os métodos e funções trigonométricas em JavaScript recebem seus argumentos em radianos, em vez de graus. Um exemplo disso é a função sin() do objeto Math. Esta função recebe o ângulo em radianos e retorna o seu seno. No entanto, há momentos nos quais precisamos retornar alguns valores como graus. Para isso é importante sabermos fazer a conversão de radianos para graus. Veja a fórmula abaixo: \[Graus = Radianos \times \frac{180}{\pi}\] Agora veja como esta fórmula pode ser escrita em código JavaScript (incluindo a página HTML):
<!doctype html>
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// valor em radianos
var radianos = 1.5;
// obtém o valor em graus
var graus = radianos * (180 / Math.PI);
// mostra o resultado
document.writeln(radianos + " radianos convertidos para " +
"graus é " + graus);
</script>
</body>
</html>
Ao executarmos este código JavaScript nós teremos o seguinte resultado: 1.5 radianos convertidos para graus é 85.94366926962348 Para fins de memorização, 1 radiano equivale a 57,2957795 graus. |
C++ ::: STL (Standard Template Library) ::: Vector C++ |
Como retornar uma referência ao primeiro elemento de um vector C++ usando a função front()Quantidade de visualizações: 7199 vezes |
O primeiro elemento em um contêiner STL vector do C++ pode ser acessado por meio da função front(). Como esta função é sobrecarregada, temos duas opções:reference front(); const_reference front() const;
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]){
// um vector vazio que conterá inteiros
vector<int> valores;
// vamos inserir três elementos
valores.push_back(54);
valores.push_back(13);
valores.push_back(87);
// vamos obter o valor do primeiro elemento do vector
// Note que front() pode ser usada dos dois lados
// de uma operação de atribuição
int valor = valores.front();
cout << "Primeiro elemento: " << valor << endl;
// vamos alterar o valor do primeiro elemento
valores.front() = 102;
// vamos testar o resultado
cout << "Primeiro elemento: " << valores.front() << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Note que aqui nós usamos: int valor = valores.front(); int& valor = valores.front(); valor = 102; Observe agora o seguinte trecho de código: int valor = valores.front(); // o primeiro elemento é 54 valores.front() = 20; cout << "Primeiro elemento: " << valor << endl; Aqui nós acessamos o valor do primeiro elemento, guardarmos-o na variável valor e atribuímos o valor 20 à valores.front(). Porém, ao imprimirmos a variável valor o seu conteúdo ainda é 54. De fato, o que gostaríamos é que uma alteração em valores.front() afetasse também a variável valor. Assim: int& valor = valores.front(); // o primeiro elemento é 54 valores.front() = 20; cout << "Primeiro elemento: " << valor << endl; const int& valor = valores.front(); // o primeiro elemento é 54 valores.front() = 20; valor = 300; // esta linha não compila cout << "Primeiro elemento: " << valor << endl; Agora o efeito que queríamos é alcançado. Alterações em valores.front() afetam a variável valor, mas, não podemos alterar valor diretamente, já que esta variável é uma referência constante agora. |
LISP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como testar uma condição em Lisp usando a macro ifQuantidade de visualizações: 1738 vezes |
|
Nesta dica mostrarei como podemos usar a macro if da linguagem Common Lisp para testar uma condição. Por se tratar de um exemplo básico, não mostrarei um caminho alternativo, ou seja, a mensagem será exibido somente se a condição for satisfeita. Em outras dicas eu complemento com o desvio opcional. Veja um exemplo no qual solicitamos um número ao usuário e informamos se o valor lido é maior que 10:
; Vamos definir as variáveis que vamos
; usar no programa
(defvar numero)
; Este é o programa principal
(defun Estudos()
; 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))
; vamos testar se este número é maior que 10
(if (> numero 10)
(format t "~D é maior que 10~%" numero))
; E mostramos o número informado
(format t "O número informado foi: ~D" numero)
)
; Auto-executa a função Estudos()
(Estudos)
Ao executar este código Common Lisp nós teremos o seguinte resultado: Informe um número: 12 12 é maior que 10 O número informado foi: 12 |
GNU Octave ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em GNU Octave dados dois pontos no plano cartesianoQuantidade de visualizações: 1960 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem GNU Octave (script GNU Octave) que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
# x e y do primeiro ponto
x1 = input("Coordenada x do primeiro ponto: ")
y1 = input("Coordenada y do primeiro ponto: ")
# x e y do segundo ponto
x2 = input("Coordenada x do segundo ponto: ")
y2 = input("Coordenada y do segundo ponto: ")
# agora vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1)
# mostramos o resultado
fprintf("O coeficiente angular é: %f\n\n", m)
Ao executar este código em linguagem GNU Octave nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 x1 = 3 Coordenada y do primeiro ponto: 6 y1 = 6 Coordenada x do segundo ponto: 9 x2 = 9 Coordenada y do segundo ponto: 10 y2 = 10 m = 0.6667 O coeficiente angular é: 0.666667 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
# x e y do primeiro ponto
x1 = input("Coordenada x do primeiro ponto: ")
y1 = input("Coordenada y do primeiro ponto: ")
# x e y do segundo ponto
x2 = input("Coordenada x do segundo ponto: ")
y2 = input("Coordenada y do segundo ponto: ")
# vamos obter o comprimento do cateto oposto
cateto_oposto = y2 - y1
# e agora o cateto adjascente
cateto_adjascente = x2 - x1
# vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
# (em radianos, não se esqueça)
tetha = atan2(cateto_oposto, cateto_adjascente)
# e finalmente usamos a tangente desse ângulo para calcular
# o coeficiente angular
tangente = tan(tetha)
# mostramos o resultado
fprintf("O coeficiente angular é: %f\n\n", tangente)
Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Nossas 20 dicas & truques de programação mais populares |
|
C# - Como excluir todos os itens selecionados em uma ListBox de múltipla seleção do C# Windows Forms Delphi - Como habilitar ou desabilitar um TEdit do Delphi usando a função EnableWindow() da API do Windows Delphi - Como usar o controle TStringGrid em suas aplicações Delphi - O componente TStringGrid do Delphi |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como adicionar um método isPar() ao objeto Number do JavaScript que indicará se um número é par ou impar |
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 |




