Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais |
Como calcular o Momento Mínimo de uma viga de concreto armado usando Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 377 vezes |
|
A ABNT NBR 6118 (Projeto de estruturas de concreto armado) define que todas as vigas, independente de suas dimensões e momentos solicitantes, precisam apresentar uma taxa mínima de armadura de tração. O concreto possui excelente resistência à compressão, porém, sua resistência à tração é muito baixa, ficando em torno de 10% do valor de sua resistência à compressão. A NBR 6118 lista, como primeira exigência, uma taxa mínima absoluta de 0,15% de armadura longitudinal para as vigas de concreto armado. A segunda exigência é calcular a área de armadura mínima a partir do Mdmin, que é o momento mínimo (de projeto) a ser considerado no dimensionamento. Dessa forma, após calcularmos o momento mínimo Mdmin, só precisamos calcular a área de aço correspondente a este momento. A fórmula do momento mínimo para as vigas de concreto armado é: \[M_\text{dmin} = 0,8 \cdot W_\text{0} \cdot f_\text{ctk,sup}\] Onde: Mdmin é o momento mínimo de projeto a ser considerado, em kN.m (ou kN.cm dependendo da necessidade); fctk,sup é o limite superior da resistência à tração média do concreto, em kN.cm2. Em outra dica desta seção eu mostrei como o fctk,sup é calculado; W0 é o módulo de resistência da seção transversal da viga, em m3. Já o Módulo de Resistência da Seção (para seções retangulares), é calculado pela seguinte fórmula: \[W_\text{0} = \frac{b \cdot h^2}{6}\] Onde: W0 é o módulo de resistência da seção transversal da viga, em cm3; b é a largura da viga em centímetros; h é a altura da viga em centímetros. Veja agora o código Python que pede para o usuário informar o FCK do concreto e as dimensões da viga e calcula o fctk,sup, o W0 e finalmente o Mdmin solicitante para o cálculo da armadura longitudinal mínima da viga: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# 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: "))
# vamos ler a largura da viga
bw = float(input("Informe a largura bw da viga em cm: "))
# vamos ler a altura da viga
h = float(input("Informe a altura h da viga em cm: "))
# agora vamos calcular a resistência à tração média
# do concreto
fctk_m = 0.3 * math.pow(fck, 2.0 / 3.0)
# vamos calcular o limite superior
fctk_sup = 1.3 * fctk_m
# vamos calcular o módulo de resistência da seção
w0 = (bw * math.pow(h, 2) / 6.0)
# agora já podemos calcular o momento mínimo
mdmin = 0.8 * w0 * (fctk_sup / 10.0)
# e mostramos os resultados
print("\nO fctk,sup é: {0} Mpa ({1} kN/cm2)".format(round(fctk_sup, 5),
round(fctk_sup / 10.0, 5)))
print("O módulo de resistência da seção W0 é: {0} cm3 ({1} m3)".format(
round(w0, 5), round(w0 / 1000000.0, 5)))
print("O momento mínimo Mdmin é: {0} kN.cm ({1} kN.m)".format(
round(mdmin, 5), round(mdmin / 100.0, 5)))
if __name__ == "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o FCK do concreto em Mpa: 30 Informe a largura bw da viga em cm: 20 Informe a altura h da viga em cm: 50 O fctk,sup é: 3.76541 Mpa (0.37654 kN/cm2) O módulo de resistência da seção W0 é: 8333.33333 cm3 (0.00833 m3) O momento mínimo Mdmin é: 2510.2724 kN.cm (25.10272 kN.m) |
C ::: C para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando C - Geometria Analítica e Álgebra Linear usando CQuantidade de visualizações: 4603 vezes |
|
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código C que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
float x, y, norma;
// vamos ler os valores x e y
printf("Informe o valor de x: ");
scanf("%f", &x);
printf("Informe o valor de y: ");
scanf("%f", &y);
// vamos calcular a norma do vetor
norma = sqrt(pow(x, 2) + pow(y, 2));
// mostra o resultado
printf("A norma do vetor é: %f", norma);
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Informe o valor de x: 7 Informe o valor de y: 6 A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
PHP ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em PHP dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1723 vezes |
Nesta dica mostrarei como é possível usar a linguagem PHP para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código PHP. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <?php $a = 20; // medida do cateto oposto $b = 30; // medida do cateto adjascente // agora vamos calcular o comprimento da hipotenusa $c = sqrt(pow($a, 2) + pow($b, 2)); // e mostramos o resultado echo "O comprimento da hipotenusa é: " . $c; ?> Ao executar este código PHP nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.05551275464 Como podemos ver, o resultado retornado com o código PHP confere com os valores da imagem apresentada. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteirosQuantidade de visualizações: 717 vezes |
|
Pergunta/Tarefa: Escreva uma função recursiva em Python que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura: # função recursiva que recebe um valor e informa quantas vezes # ele aparece no vetor também informado def quant_repeticoes(indice, valor, vetor): # sua implementação aqui Sua saída deverá ser parecida com: Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. Veja a resolução comentada deste exercício usando Python: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
# método principal
def main():
# vamos declarar um vetor de 10 inteiros
valores = [0 for x in range(5)]
# vamos pedir ao usuário que informe os valores do vetor
for i in range(len(valores)):
valores[i] = int(input("Informe o %d.o valor: " % ((i + 1))))
# agora vamos pedir para informar o valor a ser pesquisado
valor = int(input("\nInforme o valor a ser pesquisado no vetor: "))
# e vamos ver a quantidade de repetições
repeticoes = quant_repeticoes(0, valor, valores)
print("O valor informado se repete {0} vezes.".format(repeticoes))
# função recursiva que recebe um valor e informa quantas vezes
# ele aparece no vetor também informado
def quant_repeticoes(indice, valor, vetor):
if indice == len(vetor) - 1: # caso base...hora de parar a recursividade
if vetor[indice] == valor:
return 1 # mais um repetição foi encontrada
else: # dispara mais uma chamada recursiva
if vetor[indice] == valor: # houve mais uma repetição
return 1 + quant_repeticoes(indice + 1, valor, vetor)
else:
return 0 + quant_repeticoes(indice + 1, valor, vetor) # não repetiu
return 0 # só para deixar o compilador satisfeito...esta linha nunca é executada
if __name__== "__main__":
main()
|
Nossas 20 dicas & truques de programação mais populares |
|
C - Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear |
Você também poderá gostar das dicas e truques de programação abaixo |
|
MySQL - Como adicionar uma chave primária a uma tabela MySQL usando o comando ALTER TABLE ADD PRIMARY KEY Python - Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do Python Python - Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando Python Java - Como usar null em Java |
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 |









