MySQL ::: Dicas & Truques ::: Data e Hora |
Como calcular a diferença em dias entre duas datas do MySQL usando a função DATEDIFF()Quantidade de visualizações: 19512 vezes |
A função DATEDIFF() é usada quando precisamos obter a diferença entre duas datas. Ela aceita dois argumentos: expr1 e expr2 e retorna expr1 ? expr2 como um valor em dias de uma data para a outra. Tanto expr1 quanto expr2 são campos do tipo DATE, DATETIME ou TIMESTAMP. Somente a parte date é usada nos cálculos. Veja um exemplo de seu uso:
SELECT DATEDIFF('2008-03-10','2008-02-10')
O resultado será 29. Veja mais um exemplo: SELECT DATEDIFF(NOW(), vencimento) FROM tabela_estudos Aqui nós obtemos a quantidade de dias que já se passaram entre a data de hoje e o valor armazenado no campo vencimento. |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular a Posição da Linha Neutra em vigas de concreto armado usando Python - Python para Engenharia Civil - Cálculo EstruturalQuantidade de visualizações: 516 vezes |
|
O concreto possui excelente resistência à compressão, porém, sua resistência à tração é muito pequena, chegando em torno de 10% da sua resistência à compressão. O aço, por sua vez, apresenta alta resistência à tração. Por esta razão a combinação destes dois materiais resulta no que conhecemos por concreto armado, no qual o concreto, no caso das vigas, resiste às solicitações de compressão (em geral na parte superior da viga) e o aço se encarrega da tração (na parte inferior da viga). Entre as forças de compressão e tração da viga de concreto armado existe uma região na qual as tensões são nulas, ou seja, não há nem tração nem compressão. Essa região é conhecida como linha neutra da viga e é usada, entre outras coisas, para verificarmos se a viga se encontra nas condições mínimas de dutibilidade exigidas pela ABNT NBR 6118/2014. Outra característica muito importante da linha neutra é que ela nos permite indicar em qual domínio de deformação as nossas vigas de concreto armado estão trabalhando. A posição da linha neutra em vigas de concreto armado pode ser calculada por meio da seguinte fórmula: \[x = 1,25 \cdot d \cdot \left(1 - \sqrt{1 - \frac{M_d}{0,425 \cdot b_w \cdot d^2 \cdot f_\text{cd}}}\right)\] Onde: x é a posição da linha neutra a partir da fibra mais comprimida da viga, em metros (que depois convertemos para cm); d é a altura útil da viga em metros; Md é o momento solicitante de cálculo na viga, em kN.m; bw é a largura da viga, em metros; fcd é a resistência de cálculo do concreto, em kN/m2; Veja agora o código Python completo que pede para o usuário informar a altura e largura da viga em centímetros, o momento solicitante na viga em kN.m e o FCK do concreto em Mpa, mostra a posição da linha neutra da viga e informa se ela obedece ao valor máximo imposto pela ABNT NBR 6118/2014 e também o domínio de deformação que ela está atuando:
# precisamos importar o módulo Math
import math
# função principal do programa Python
def main():
# vamos pedir para o usuário informar a altura da viga
altura = float(input("Informe a altura H da viga em cm: "))
# vamos converter de centímetros para metros
altura = altura / 100.00
# vamos pedir para o usuário informar a largura da viga
largura = float(input("Informe a largura bw da viga em cm: "))
# vamos converter de centímetros para metros
largura = largura / 100.00
# vamos calcular a altura útil da viga
# aqui eu usei 0.9 mas alguns engenheiros usam 0.95
altura_util = 0.9 * altura
# vamos pedir para o usuário informar o momento
# máximo solicitante Mk (calculado no Ftool ou outra ferramenta)
Mk = float(input("Informe o momento solicitante Mk em kN.m: "))
# vamos definir o valor do gama f
yf = 1.4
# calculamos o md, ou seja, o momento solicitante de cálculo
Md = Mk * yf
# vamos pedir para o usuário informar o FCK do concreto
fck = float(input("Informe o FCK do concreto em Mpa: "))
# vamos definir o valor do gama c
yc = 1.4
# calculamos o fcd, ou seja, a resistência de cálculo do concreto
fcd = fck / yc
# finalmente vamos calcular a posição da linha neutra
# note que converti o fcd de Mpa para kN/m2
x = 1.25 * altura_util * (1 - math.sqrt(1 - (Md / (0.425 *
largura * math.pow(altura_util, 2) * (fcd * 1000.0)))))
# vamos mostrar os resultados
print("\nA altura útil da viga é: {0} cm ({1} m)".format(
round(altura_util * 100, 5), round(altura_util, 5)))
print("O momento solicitante de cálculo é: {0} kN.m".format(
round(Md, 5)))
print("O fcd do concreto é: {0} Mpa".format(round(fcd, 5)))
print("A posição da linha neutra é: {0} cm".format(round(x * 100.0, 5)))
# vamos verificar se a posição da linha neutra está dentro do
# limite máximo imposto pela ABNT NBR 6118/2014 para FCK até 50 Mpa
if ((x / altura_util) <= 0.45):
print("Garante condições mínimas de dutibilidade? SIM")
else:
print("Garante condições mínimas de dutibilidade? NÃO")
# vamos verificar o domínio de deformação da vaga
temp = x / altura_util
if (temp <= 0.167):
print("A viga está trabalhando no domínio 1")
elif ((temp > 0.167) and (temp <= 0.259)):
print("A viga está trabalhando no domínio 2")
elif ((temp > 0.259) and (temp <= 0.628)):
print("A viga está trabalhando no domínio 3")
else:
print("A viga está trabalhando no domínio 4/5")
if __name__ == "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe a altura H da viga em cm: 35 Informe a largura bw da viga em cm: 19 Informe o momento solicitante Mk em kN.m: 32.3 Informe o FCK do concreto em Mpa: 25 A altura útil da viga é: 31.5 cm (0.315 m) O momento solicitante de cálculo é: 45.22 kN.m O fcd do concreto é: 17.85714 Mpa A posição da linha neutra é: 6.81136 cm Garante condições mínimas de dutibilidade? SIM A viga está trabalhando no domínio 2 |
Java ::: Coleções (Collections) ::: Queue |
Como criar uma fila em Java usando a interface QueueQuantidade de visualizações: 1303 vezes |
|
Uma fila é uma estrutura de dados do tipo FIFO (First-in, First-out), ou seja, o primeiro elemento a entrar é o primeiro a sair. Podemos pensar em uma estrutura de dados do tipo fila como uma fila real de um banco ou supermercado. A linguagem Java não fornece uma classe pronta chamada Queue. Em vez disse nós temos uma interface Queue e suas implementações concretas, a saber, as classes java.util.LinkedList e java.util.PriorityQueue. É claro que existem outras implementações, mas estas duas são as que usamos com mais frequencia. Como nesta dica a nossa intenção é representar uma fila comum, nós vamos descartar a classe PriorityQueue (fila de prioridade) e nos ater à implementação de Queue fornecida pela classe LinkedList. Vamos começar com um exemplo bem simples. Veja um trecho de código no qual enfileiramos 5 valores inteiros em uma fila e os desenfileiramos em seguida:
package estudos;
import java.util.LinkedList;
import java.util.Queue;
public class Estudos{
public static void main(String[] args){
// vamos criar uma fila de inteiros e adicionar 5 inteiros
Queue<Integer> fila = new LinkedList<>();
fila.add(76);
fila.add(80);
fila.add(11);
fila.add(32);
fila.add(45);
// agora vamos desenfileirar todos os elementos
System.out.println("Ordem de remoção dos elementos da fila:");
while(!fila.isEmpty()){
System.out.print(fila.poll() + " ");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Ordem de remoção dos elementos da fila: 76 80 11 32 45 |
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar uma substring de uma string em C++ usando a função substr()Quantidade de visualizações: 10555 vezes |
Este exemplo usa a função substr() para obter uma substring a partir de uma string. A assinatura para essa função é:string substr(size_t pos = 0, size_t n = npos) const; Se a posição inicial da substring for maior que o tamanho da string, uma exceção do tipo out_of_range será atirada. Nenhum erro é indicado se o tamanho da substring exceder o tamanho da string. Veja o código C++ completo para o exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// vamos criar uma string
string frase = "Gosto de Java e C++";
cout << "A frase e: " << frase << endl;
// agora vamos obter uma parte da frase
string sub = frase.substr(9, 4);
// e mostramos o resultado
cout << "A substring retornada e: " << sub << endl; // retorna "Java"
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: A frase é: Gosto de Java e C++ A substring retornada é: Java |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como exibir apenas dois dígitos após o ponto decimal em JavaScript usando a função toFixed() do objeto Number LISP - Como converter Coordenadas Cartesianas para Coordenadas Polares em LISP - LISP para Engenharia TypeScript - Como calcular o coeficiente angular de uma reta em TypeScript dados dois pontos no plano cartesiano |
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 |






