![]() |
|
|
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 ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural |
Exercícios Resolvidos de C - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando CQuantidade de visualizações: 1752 vezes |
|
Pergunta/Tarefa: Veja a seguinte figura: ![]() Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero. Escreva um programa C que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A. Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga). Sua saída deve ser parecida com: Valor da carga em kN/m: 10 Distância em metros: 13 A reação no apoio A é: 65.000000 kN A reação no apoio B é: 65.000000 kN O momento fletor máximo é: 211.250000 kN Informe uma distância a partir do apoio A: 4 O momento fletor na distância informada é: 180.000000 kN A força cortante no apoio A é: 65.000000 kN A força cortante no apoio B é: -65.000000 kN Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]) {
// variáveis usadas na resolução do problema
float carga, distancia, reacao_a, reacao_b;
float flexao_maxima, distancia_temp, flexao_distancia;
float cortante_a, cortante_b;
// vamos pedir para o usuário informar o valor da carga
printf("Valor da carga em kN/m: ");
scanf("%f", &carga);
// vamos pedir para o usuário informar a distância entre os apoios
printf("Distancia em metros: ");
scanf("%f", &distancia);
// vamos calcular a reação no apoio A
reacao_a = (1.0 / 2.0) * carga * distancia;
// vamos calcular a reação no apoio B
reacao_b = reacao_a;
// vamos calcular o momento fletor máximo
flexao_maxima = (1.0 / 8.0) * carga * pow(distancia, 2.0);
// e mostramos o resultado
printf("\nA reacao no apoio A e: %f kN", reacao_a);
printf("\nA reacao no apoio B e: %f kN", reacao_b);
printf("\nO momento fletor maximo e: %f kN", flexao_maxima);
// vamos pedir para o usuário informar uma distância a
// partir do apoio A
printf("\n\nInforme uma distancia a partir do apoio A: ");
scanf("%f", &distancia_temp);
// vamos mostrar o momento fletor na distância informada
if (distancia_temp > distancia) {
printf("\nDistancia invalida.\n");
}
else {
flexao_distancia = (1.0 / 2.0) * carga * distancia_temp *
(distancia - distancia_temp);
printf("O momento fletor na distancia informada e: %f kN",
flexao_distancia);
}
// vamos mostrar a força cortante no apoio A
cortante_a = (1.0 / 2.0) * carga * distancia;
printf("\n\nA forca cortante no apoio A e: %f kN", cortante_a);
// vamos mostrar a força cortante no apoio B
cortante_b = cortante_a * -1;
printf("\nA forca cortante no apoio B e: %f kN\n\n", cortante_b);
printf("\n\n");
system("PAUSE");
return 0;
}
|
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: 11777 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. |
Java ::: Dicas & Truques ::: Mouse e Teclado |
Java Avançado - Como verificar se a tecla Caps Lock está ativada usando o método getLockingKeyState() da classe Toolkit do JavaQuantidade de visualizações: 11675 vezes |
|
Nesta dica mostrarei como é possível usar o método getLockingKeyState() da classe Toolkit da linguagem Java para verificar se a tecla Caps Lock estão ou não ativada no seu computador. Note o valor KeyEvent.VK_CAPS_LOCK sendo passado para o método. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.awt.Toolkit;
import java.awt.event.*;
public class Estudos{
public static void main(String[] args){
Toolkit tk = Toolkit.getDefaultToolkit();
if(tk.getLockingKeyState(KeyEvent.VK_CAPS_LOCK))
System.out.println("A tecla Caps Lock está ativada");
else
System.out.println("A tecla Caps Lock não está ativada");
System.exit(0);
}
}
Ao executarmos este código você verá uma mensagem parecida com: A tecla Caps Lock está ativada |
Delphi ::: Imagens, Gráficos e Cores ::: TBitmap (A classe TBitmap) |
Computação gráfica em Delphi - Como usar a classe TBitmap do DelphiQuantidade de visualizações: 17106 vezes |
|
A classe TBitmap encapsula um bitmap Windows (HBITMAP, um handle para um bitmap), incluindo sua paleta (HPALETTE, um handle para uma paleta de cores). Esta classe herda de TGraphic e é usada para criar, manipular (redimensionar, rolar, rotacionar, pintar, etc) e armazenar imagens na memória e como arquivos em disco. A classe TBitmap contém muitas propriedades e métodos úteis. Entre seus métodos podemos citar LoadFromFile(), usado para carregar uma imagem bitmap a partir do disco e guardá-la em memória como um objeto TBitmap. Veja o trecho de código abaixo:
procedure TForm2.Button1Click(Sender: TObject);
var
bmp: TBitmap;
begin
// vamos criar o bitmap
bmp := TBitmap.Create;
// vamos carregar a imagem e guardá-la no bitmap
bmp.LoadFromFile('foto.bmp');
// vamos desenhar o bitmap no formulário
// começando nas coordenadas x = 0; y = 0 a partir
// do canto superior esquerdo da área cliente do formulário
Form2.Canvas.Draw(0, 0, bmp);
// vamos liberar o bitmap
bmp.Free;
end;
Aqui nós carregamos o bitmap foto.bmp e o desenhamos na superfície do formulário usando o método Draw() do Canvas do formulário. É possível também redimensionar o bitmap ao desenhá-lo no formulário. Veja este novo trecho de código:
procedure TForm2.Button1Click(Sender: TObject);
var
bmp: TBitmap;
retang: TRect; // um objeto TRect
begin
// vamos criar o bitmap
bmp := TBitmap.Create;
// vamos carregar a imagem e guardá-la no bitmap
bmp.LoadFromFile('foto.bmp');
// vamos redimensionar o bitmap na memória de
// acordo com o retângulo abaixo
retang.Top := 0;
retang.Left := 0;
retang.Right := 200;
retang.Bottom := 150;
// vamos desenhar o bitmap usando o método
// StretchDraw da classe TCanvas
Form2.Canvas.StretchDraw(retang, bmp);
// vamos liberar o bitmap
bmp.Free;
end;
Aqui nós usamos um objeto do registro (record) TRect para criar um retângulo especificando o tamanho do bitmap e fornecemos tal retângulo, juntamente com o bitmap, para o método StretchDraw() da classe TCanvas. Este método redimensiona a imagem antes de desenhá-la na superfície do formulário. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto String |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Android Java - Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas |
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 |





