![]() |
|
|
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 - Fundações |
||
|
||
|
|
||
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: 574 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:
# 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) |
Dart ::: Dicas & Truques ::: Aplicativos e Outros |
Como calcular a distância entre dois pontos na terra em DartQuantidade de visualizações: 1946 vezes |
|
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado. O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes. Veja o código Dart completo:
// Vamos importar a biblioteca dart:io
import "dart:io";
// vamos importar a biblioteca dart:math
import "dart:math";
void main(){
// vamos ler as latitudes e longitudes das duas
// localizações
stdout.write("Informe a primeira latitude: ");
double lat1 = double.parse(stdin.readLineSync());
stdout.write("Informe a primeira longitude: ");
double lon1 = double.parse(stdin.readLineSync());
stdout.write("Informe a segunda latitude: ");
double lat2 = double.parse(stdin.readLineSync());
stdout.write("Informe a segunda longitude: ");
double lon2 = double.parse(stdin.readLineSync());
// vamos calcular a distância entre os dois pontos em Kms
double distancia = calcularDistancia(lat1, lat2, lon1, lon2);
// mostramos o resultado
print("Distância entre os dois pontos: ${distancia} kms");
}
// função que recebe dois pontos na terra e retorna a distância
// entre eles em quilômetros
double calcularDistancia(double lat1,
double lat2, double lon1, double lon2){
double raio_terra = 6378.137; // raio da terra em quilômetros
// o primeiro passo é converter as latitudes e longitudes
// para radianos
lon1 = grausParaRadianos(lon1);
lon2 = grausParaRadianos(lon2);
lat1 = grausParaRadianos(lat1);
lat2 = grausParaRadianos(lat2);
// agora aplicamos a Fórmula de Haversine
double dlon = lon2 - lon1;
double dlat = lat2 - lat1;
double a = pow(sin(dlat / 2), 2) + cos(lat1) * cos(lat2)
* pow(sin(dlon / 2),2);
double c = 2 * asin(sqrt(a));
// e retornamos a distância
return(c * raio_terra);
}
// função que permite converter graus em radianos
double grausParaRadianos(double graus){
return graus * (pi / 180);
}
Ao executar este código Dart nós teremos o seguinte resultado: Informe a primeira latitude: -16.674551 Informe a primeira longitude: -49.303598 Informe a segunda latitude: -15.579321 Informe a segunda longitude: -56.10009 A distância entre os dois pontos é: 736.9183827638687kms Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT. A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador. |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Java OOP - Como usar variáveis estáticas em suas classes JavaQuantidade de visualizações: 12356 vezes |
|
Variáveis estáticas podem ser definidas em Java por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática. Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected. Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Veja o código para a classe Livro: Código para Livro.java:
package estudos;
public class Livro {
// variáveis privadas
private String titulo; // título do livro
// variável estática que permitirá definir um
// identificador único para cada livro
private static int id;
// construtor da classe Livro
public Livro(){
// vamos incrementar a variável estática
Livro.id++;
}
// método que permite obter o id do livro
public int getId(){
return Livro.id;
}
// método que permite definir o título do livro
public void setTitulo(String titulo){
this.titulo = titulo;
}
// método que permite obter o título do livro
public String getTitulo(){
return this.titulo;
}
}
Veja agora como criar três objetos da classe Livro a partir do método main() da aplicação: Código para Main.java:
package estudos;
public class Main {
public static void main(String[] args) {
// vamos criar um objeto da classe Livro
Livro a = new Livro();
a.setTitulo("Programando em Java 2");
// vamos exibir os dados do livro
System.out.println("Id: " + a.getId());
System.out.println("Titulo: " + a.getTitulo());
// vamos criar mais um livro
Livro b = new Livro();
b.setTitulo("A biblia do C/C++");
// vamos exibir os dados do livro
System.out.println("Id: " + b.getId());
System.out.println("Titulo: " + b.getTitulo());
// e mais um livro aqui
Livro c = new Livro();
c.setTitulo("PHP + MySQL");
// vamos exibir os dados do livro
System.out.println("Id: " + c.getId());
System.out.println("Titulo: " + c.getTitulo());
}
}
Ao executar esta aplicação teremos o seguinte resultado: Id: 1 Titulo: Programando em Java 2 Id: 2 Titulo: A biblia do C/C++ Id: 3 Titulo: PHP + MySQL Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja: // vamos incrementar a variável estática Livro.id++; Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe seguida de um ponto. Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma: System.out.println(Livro.id); |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de C - Declarar um vetor de 10 elementos e usar o laço for para solicitar ao usuário que informe os valores dos elementos do vetorQuantidade de visualizações: 14823 vezes |
|
Exercício Resolvido de C - Declarar um vetor de 10 elementos e usar o laço for para solicitar ao usuário que informe os valores dos elementos do vetor Pergunta/Tarefa: Escreva um programa C que declara um vetor (array) de 10 elementos do tipo int. Em seguida use um laço for para solicitar ao usuário que informe 10 valores inteiros e armazene tais valores nos elementos do vetor: Dica: Use a função scanf() para obter a entrada do usuário. Resposta/Solução: Veja abaixo a resolução completa para esta tarefa:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
// vamos declarar um vetor de 10 inteiros
int valores[10];
int i;
// agora vamos solicitar ao usuário que informe os 10 valores para
// os elementos do vetor. O mais recomendável neste caso é usar um
// laço for que repetirá 10 vezes e, a cada repetição, solicitaremos
// um valor
for(i = 0; i < 10; i++){
printf("Informe o valor %d: ", (i + 1));
scanf("%d", &valores[i]);
}
// para finalizar vamos exibir os valores informados pelo usuário e
// presentes nos elementos do vetor
printf("\nOs valores informados foram:\n");
for(i = 0; i < 10; i++){
printf("O valor %d foi: %d\n", (i + 1), valores[i]);
}
system("PAUSE");
return 0;
}
|
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em PHP usando o operador "."Quantidade de visualizações: 2 vezes |
|
Todas as linguagens de programação oferecem o seu operador de concatenação, que nos permite juntar palavras, frases, textos e valores de variáveis. Na maioria das linguagens o operador de concatenação é o sinal de adição "+". Porém, em PHP, a concatenação é feita usando-se o operador ".". Veja um exemplo abaixo de como usá-lo: <?php $nome = "Carlos"; $cidade = "São Paulo"; echo "Meu nome é " . $nome . " e eu moro em " . $cidade . "."; ?> |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



