![]() |
|
|
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. |
||
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila C# para iniciantes - Como escrever um laço for infinito em C#Quantidade de visualizações: 10905 vezes |
A linguagem C# permite a criação de laços for infinitos. Para isso, só precisamos omitir as partes de inicialização, teste de condição de parada e incremento ou decremento da variável de controle. Veja um exemplo:
using System;
namespace Estudos{
class Program{
static void Main(string[] args) {
for (; ; ) {
Console.Write("Digite um número inteiro " +
"(-1 para sair): ");
int valor = int.Parse(Console.ReadLine());
// testa se o valor lido é -1. Se for pára
// o laço
if (valor == -1)
break;
// exibe o valor lido
Console.WriteLine("Valor lido: {0}", valor);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executarmos este código nós teremos o seguinte resultado: Digite um número inteiro (-1 para sair): 54 Valor lido: 54 Digite um número inteiro (-1 para sair): 23 Valor lido: 23 Digite um número inteiro (-1 para sair): 90 Valor lido: 90 Digite um número inteiro (-1 para sair): -1 Pressione uma tecla para sair... Veja como usamos a instrução break para sair do laço caso o valor lido seja -1. Observe ainda o uso do método Parse() da classe Int32 para converter a string digitada pelo usuário em um valor do tipo int. |
Delphi ::: VCL - Visual Component Library ::: TEdit |
Como definir o conteúdo de um TEdit do Delphi em tempo de execução usando a função SendMessage() da API do Windows e a mensagem WM_SETTEXTQuantidade de visualizações: 11932 vezes |
|
Embora o Delphi já nos forneça as ferramentas necessárias para definir o conteúdo de um TEdit em tempo de execução, é importante saber como realizar esta tarefa usando a API do Windows. Para isso, podemos usar a função SendMessage() em combinação com a mensagem WM_SETTEXT. A função SendMessage() da API do Windows possui a seguinte assinatura em C/C++: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); No arquivo Windows.pas podemos encontrar o protótipo e corpo desta função convertidos para Object Pascal:
// Protótipo
{$EXTERNALSYM SendMessage}
function SendMessage(hWnd: HWND; Msg: UINT; wParam: WPARAM;
lParam: LPARAM): LRESULT; stdcall;
// Implementação
function SendMessage; external user32 name 'SendMessageW';
Note que precisamos de um HWND (Handle) para a caixa de texto. Feito isso só precisamos enviar a mensagem WM_SETTEXT juntamente com o conteúdo a ser exibido no controle. Veja: procedure TForm1.Button1Click(Sender: TObject); var texto: String; begin // conteúdo a ser definido para a caixa de texto texto := 'Veja isso'; // vamos definir o conteúdo usando a função SendMessage // fornecendo a mensagem WM_SETTEXT SendMessage(Edit1.Handle, WM_SETTEXT, 0, Integer(PChar(texto))); end; Veja que o parâmetro wParam da função SendMessage não é usado quando a mensagem é WM_SETTEXT. Desta forma só precisamos fornecer o valor 0. |
PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em PHP dados dois pontos no plano cartesianoQuantidade de visualizações: 1660 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 PHP 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:
<?php
// x e y do primeiro ponto
$x1 = 3;
$y1 = 6;
// x e y do segundo ponto
$x2 = 9;
$y2 = 10;
$m = ($y2 - $y1) / ($x2 - $x1);
// mostramos o resultado
echo "O coeficiente angular é: " . $m;
?>
Ao executar este código PHP nós teremos o seguinte resultado: O coeficiente angular é: 0.66666666666667 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__$):
<?php
// x e y do primeiro ponto
$x1 = 3;
$y1 = 6;
// x e y do segundo ponto
$x2 = 9;
$y2 = 10;
// 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
echo "O coeficiente angular é: " . $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. |
Portugol ::: Dicas & Truques ::: Laços de Repetição |
Como usar o laço de repetição PARA da linguagem Portugol - Apostila de Portugol para iniciantes em Algorítmos e Lógica de ProgramaçãoQuantidade de visualizações: 958 vezes |
|
O laço de repetição PARA da linguagem Portugol é usado quando queremos repetir uma ou mais instruções de nosso código um DETERMINADO número de vezes. Isso quer dizer que esse laço de repetição é usado quando sabemos exatamente quantas vezes uma instrução ou grupo de instruções será repetida. Vamos começar com um exemplo básico? Veja um laço PARA que escreve "Gosto de programação" cinco vezes na saída do programa:
programa {
funcao inicio() {
// um laço PARA que escreve uma frase 5 vezes
para (inteiro i = 0; i < 5; i++) {
escreva("Gosto de programar\n")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: Gosto de programar Gosto de programar Gosto de programar Gosto de programar Gosto de programar Note que, em Portugol, a palavra chave que representa o laço, ou seja, a palavra "para" deve ser escrita sempre em letras minúsculas. Além disso, o laço para possui uma variável de controle que, na maioria das vezes, se chama "i" e é do tipo inteiro. Vamos ver mais um exemplo? Veja um laço PARA que escreve os números de 1 até 10 na saída do programa:
programa {
funcao inicio() {
// um laço PARA que conta de 1 até 10
para (inteiro i = 1; i <= 10; i++) {
escreva(i, " ")
}
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 E que tal contar de trás para frente, ou seja, de 10 até 1? Veja:
programa {
funcao inicio() {
// um laço PARA que conta de 10 até 0
para (inteiro i = 10; i >= 1; i--) {
escreva(i, " ")
}
}
}
Ao executar o código Portugol novamente nós teremos o seguinte resultado: 10 9 8 7 6 5 4 3 2 1 Para finalizar, veja algumas observações importantes em relação ao laço de repetição PARA da linguagem Portugol: a) O laço com variável de controle possui três partes. A inicialização da variável contadora, a definição do valor final do contador e a definição do incremento. Estas três partes são escritas juntas, no início do laço. b) A sintaxe é respectivamente a palavra reservada para, abre parênteses, a declaração de uma variável de controle, ponto e virgula, a condição a ser testada, ponto e virgula, uma alteração na variável de controle a ser feita a cada iteração, fecha parenteses, e entre chaves as instruções do programa. |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every() |
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 |




