![]() |
|
|
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: 1807 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;
}
|
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java para iniciantes - Como usar o tipo de dados referência em seus códigos JavaQuantidade de visualizações: 12087 vezes |
O Java contém 8 tipos de dados primitivos e um tipo referência. No entanto, poucos livros dedicam exemplos a este último tipo. Vamos começar analisando o trecho de código abaixo:
public class Estudos{
public static void main(String args[]){
String nome = "Osmar J. Silva";
System.out.println(nome);
System.exit(0);
}
}
Se observarmos este código, veremos que a variável nome não é um tipo primitivo e sim uma referência. Desta forma, qualquer variável ou constante que não seja do tipo primitivo é uma referência a um objeto de uma classe, interface, etc. Arrays não são tipos primitivos também. Assim, variáveis ou constantes que apontam para arrays (vetores e matrizes) também são referências. É importante entender bem a noção de referências, visto que é por meio delas que acessamos um determinado objeto na memória. Além disso, como objetos e arrays são sempre passados por referência aos métodos Java, fica fácil entender como várias referências podem apontar para o mesmo objeto ao mesmo tempo. E, caso você tenha esquecido, os tipos primitivos nunca são passados por referêcia aos métodos. Em vez disso, eles são passados por valor (o que quer dizer que uma alteração nos argumentos fornecidos ao métodos não altera a cópia original da variável). |
Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame |
Como acessar uma linha específica em um DataFrame do Pandas da linguagem Python usando o método iloc()Quantidade de visualizações: 11668 vezes |
|
Em várias situações nós precisamos investigar o conteúdo de uma determinada linha, ou seja, um registro específico contido em um DataFrame do Pandas. Para isso podemos usar o método iloc() do objeto DataFrame. Este método recebe um valor inteiro representando o índice da linha a ser retornada. É possível também fornecer uma list contendo vários índices, e até mesmo intervalos, mas isso é assunto para outras dicas. O retorno do método é uma Series ou um DataFrame, dependendo dos parâmetros usados. Vamos ver um exemplo? Analise o código a seguir:
# importamos a biblioteca Pandas
import pandas as pd
def main():
# vamos carregar os dados do arquivo .csv
dados = pd.read_csv("emprestimos.csv",
delimiter=";")
# vamos mostrar o DataFrame resultante
print(dados)
# agora vamos mostrar o conteúdo da terceira linha
linha = dados.iloc[2]
# mostramos o conteúdo da terceira linha
print("\nConteúdo da terceira linha:\n")
print(linha)
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado:
id nome idade sexo renda valor parc pont ap
0 1 HELENA508 39 F 6500 8000 6 87 S
1 2 JESSICA631 65 F 3000 500 48 2 N
2 3 FELIPE768 39 M 10200 20000 24 40 S
3 4 AMANDA515 90 F 800 1500 30 87 N
4 5 LAURA312 61 F 1800 15000 50 8 N
5 6 CARLOS291 84 M 970 11000 6 59 N
6 7 CARLOS859 64 F 970 500 12 1 N
Conteúdo da terceira linha:
id 3
nome FELIPE768
idade 39
sexo M
renda 10200
valor 20000
parc 24
pont 40
ap S
Name: 2, dtype: object
Veja que o conteúdo da linha é exibido na vertical. Se quisermos exibí-lo na horizontal, basta passarmos o índice da linha como uma list. Veja: # agora vamos mostrar o conteúdo da terceira linha linha = dados.iloc[[2]] Agora o resultado será: Conteúdo da terceira linha: id nome idade sexo renda valor parc pont ap 2 3 FELIPE768 39 M 10200 20000 24 40 S Para testarmos se o retorno do método iloc() foi mesmo uma Series, basta usarmos a função type() do Python:
# vamos checar o retorno do método iloc()
linha = dados.iloc[[2]]
print("Tipo do retorno:", type(linha))
Este código exibirá um resultado parecido com: Tipo do retorno: <class 'pandas.core.frame.DataFrame'> |
Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais |
Cálculo de estribos em vigas de concreto armado usando Python - Armadura mínima transversal normativaQuantidade de visualizações: 1046 vezes |
|
A ABNT NBR 6118 (Projeto de estruturas de concreto armado) define uma taxa de armadura mínima para os estribos das vigas de concreto armado, e, a partir dessa taxa mínima nós podemos facilmente calcular a área de aço mínima a ser usada. A fórmula para o cálculo da taxa mínima de armadura tranversal pode ser definida como: \[\rho_\text{sw} = 0,2 \cdot \frac{f_\text{ck,m}}{f_\text{ywk}} \] Onde: ρsw é um número adimensional representando a taxa de armadura mínima transversal de acordo com recomendações da norma NBR 6118; fctk,m é a resistência à tração média do concreto em Mpa; fymk é a resistência à tração do aço em Mpa. Em geral, esse valor é fixado em 500 (CA 50), mesmo que o aço usado seja CA 60 ou superior; Após calculada a taxa de armadura transversal mínima, podemos calcular a área de aço mínima transversal por meio da seguinte fórmula: \[A_\text{sw,min} = \rho_\text{sw} \cdot b_w \cdot S \cdot sen(\alpha) \] Onde: Asw,min é a área de aço mínima a ser usada, em cm2/m; ρsw é um número adimensional representando a taxa de armadura mínima transversal de acordo com recomendações da norma NBR 6118; bw é a largura da viga em centímetros; S é o espaçamento a ser considerado. Informamos o valor de 100 para considerar um espaçamento de 1 metro; α é a inclinação dos estribos, em geral 90º. Veja agora o código Python :
# vamos importar o módulo Math
import math
# função principal do programa
def main():
# vamos pedir para o usuário informar o FCK do concreto
fck = float(input("Informe o FCK do concreto em Mpa: "))
# agora vamos calcular a resistência à tração média
# do concreto
fctk_m = 0.3 * math.pow(fck, 2.0 / 3.0)
# vamos pedir para o usuário informar a largura da viga em cm
largura = float(input("Informe a largura da viga em cm: "))
# vamos calcular a taxa de armadura transversal mínima
fywk = 500 # vamos considerar aço CA 50
psw = 0.2 * (fctk_m / fywk)
# agora vamos calcular a área mínima de aço para a armadura
# tranversal, ou seja, os estribos
S = 100 # considerando 1 metro de viga
inclinacao = 90 # inclinação em graus dos estribos
aws_min = psw * largura * S * math.sin(math.radians(inclinacao))
# e mostramos os resultados
print("\n-------RESULTADOS--------------------------------------")
print("A resistência à tração média do concreto é: {0} Mpa".
format(round(fctk_m, 5)))
print("A taxa de armadura transversal mínima é: {0}".format(
round(psw, 5)))
print("A área mínima de aço é: {0} cm2/m".format(round(aws_min, 5)))
if __name__ == "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o FCK do concreto em Mpa: 25 Informe a largura da viga em cm: 19 -------RESULTADOS-------------------------------------- A resistência à tração média do concreto é: 2.56496 Mpa A taxa de armadura transversal mínima é: 0.00103 A área mínima de aço é: 1.94937 cm2/m |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Delphi - Como calcular o coeficiente angular de uma reta em Delphi dados dois pontos no plano cartesiano JavaScript - Como arredondar um valor numérico de ponto-flutuante para cima usando a função ceil() do objeto Math do JavaScript C - Como concatenar apenas parte de uma string à outra string usando a função strncat() da linguagem C |
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 |





