![]() |
|
|
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 Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Ler a idade e o peso de 10 pessoas e mostrar a quantidade de pessoas com mais de 80 quilos e a média das idadesQuantidade de visualizações: 2684 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que receba a idade (como int) e o peso (como double) de 10 pessoas. Em seguida calcule e mostre: 1) A quantidade de pessoas com mais de 80 quilos; 2) A média das idades das pessoas. Sua saída deve ser parecida com: Informe a idade da 1.a pessoa: 95 Informe o peso da 1.a pessoa: 83 Informe a idade da 2.a pessoa: 45 Informe o peso da 2.a pessoa: 115 Informe a idade da 3.a pessoa: 83 Informe o peso da 3.a pessoa: 76 Informe a idade da 4.a pessoa: 19 Informe o peso da 4.a pessoa: 79 Informe a idade da 5.a pessoa: 40 Informe o peso da 5.a pessoa: 93 Quantidade de pessoas com mais de 80 quilos: 3 Média das idades das pessoas: 56.4 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
int quant_acima_80_kg = 0; // quantidade de pessoas acima de 80 quilos
int soma_idades = 0; // soma das idades para depois obter a média
// vamos ler os dados das 5 pessoas
for(int i = 0; i < 5; i++){
System.out.print("Informe a idade da " + (i + 1) + ".a pessoa: ");
int idade = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o peso da " + (i + 1) + ".a pessoa: ");
double peso = Double.parseDouble(entrada.nextLine());
// vamos somar mais esta idade
soma_idades = soma_idades + idade;
// esta pessoa possui mais de 80 quilos?
if(peso > 80){
// aumenta o contador de pessoas acima de 80 quilos
quant_acima_80_kg++;
}
// adiciona uma quebra de linha
System.out.println();
}
// e agora mostramos o resultado
System.out.println("Quantidade de pessoas com mais de 80 quilos: " +
quant_acima_80_kg);
System.out.println("Média das idades das pessoas: " + (soma_idades / 5.0));
}
}
|
Ruby ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como retornar a versão do Ruby instalada na sua máquina usando ruby -v ou a constante RUBY_DESCRIPTIONQuantidade de visualizações: 10229 vezes |
Se você quiser saber a versão do Ruby instalada em seu computador, ou a versão do interpretador sendo usado no momento, basta abrir uma janela de comando e disparar o comando:ruby -v Você terá um resultado parecido com o seguinte: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32] Se você estiver na tela do Interactive Ruby, você pode simplesmente digitar RUBY_DESCRIPTION e pressionar Enter. O resultado será o mesmo exibido em uma janela de comando usando ruby -v. Podemos também usar a constante RUBY_DESCRIPTION dentro de um script Ruby. Veja:
# Este exemplo mostra como obter a versão do Ruby
# usando a constante RUBY_DESCRIPTION
# guarda a versão em uma variável
versao = RUBY_DESCRIPTION
# mostra na tela
puts "A versão do Ruby é: #{versao}"
Ao executar este código Ruby nós teremos o seguinte resultado: A versão do Ruby é: ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x64-mingw32] |
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: 2003 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;
}
|
R ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo usando a função sin() da linguagem RQuantidade de visualizações: 2275 vezes |
|
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno 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 seno. 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 seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem R. Esta função recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: > sin(0) [ENTER] [1] 0 > sin(1) [ENTER] [1] 0.841471 > sin(2) [ENTER] [1] 0.9092974 > Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
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: 11918 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. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
|
Python - Exercícios Resolvidos de Python - Como testar se um número é potência de dois usando Python |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







