Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Java para Geometria Analítica e Álgebra Linear - Como efetuar a soma de matrizes usando JavaQuantidade de visualizações: 2042 vezes |
|
A soma de matrizes (assim como a subtração e multiplicação) é parte integrante da disciplina de Álgebra Linear e seu cálculo é muito simples. Assumindo duas matrizes A e B, ambas com a mesma quantidade de linhas e colunas, a matriz soma pode ser obtida da seguinte forma: \[A + B = \left[\begin{matrix} 3 & 4 & -1 \\ 8 & 2 & 1 \\ 7 & 5 & -3 \end{matrix}\right] + \left[\begin{matrix} -2 & 6 & 4 \\ 1 & 8 & 9 \\ -4 & 10 & 3 \end{matrix}\right] = \left[\begin{matrix} 1 & 10 & 3 \\ 9 & 10 & 10 \\ 3 & 15 & 0 \end{matrix}\right] \] Um elemento da matriz é representando por sua posição linha e coluna. Usamos a letra i para a linha e j para a coluna, ou seja, aij. Dessa forma, o elemento na primeira linha e primeira coluna da matriz é a11, o elemento na primeira linha e segunda coluna é a12 e assim por diante. Então, a soma das duas matrizes é feita da seguinte forma: Cij = Aij + Bij. E agora veja o código Java que declara duas matrizes matrizA e matrizB e obtém uma terceira (matrizC) contendo a soma das duas anteriores. Novamente, note o requisito de que as matrizes deverão ter o mesmo número de linhas e colunas:
package arquivodecodigos;
public class Estudos{
public static void main(String args[]){
// declarar, construir e inicializar as matrizes
int matrizA[][] = {{3, 4, -1}, {8, 2, 1}, {7, 5, -3}};
int matrizB[][] = {{-2, 6, 4}, {1, 8, 9}, {-4, 10, 3}};
// esta é a matriz soma
int matrizSoma[][] = new int[3][3];
// e agora vamos prosseguir com a soma
for(int i = 0; i < matrizA.length; i++){
for(int j = 0; j < matrizA[0].length; j++){
matrizSoma[i][j] = matrizA[i][j] + matrizB[i][j];
}
}
// vamos exibir os valores da primeira matriz
System.out.println("Elementos da matriz A:");
for(int i = 0; i < matrizA.length; i++){
for(int j = 0; j < matrizA[0].length; j++){
System.out.printf("%5d ", matrizA[i][j]);
}
System.out.println();
}
// vamos exibir os valores da primeira matriz
System.out.println("\nElementos da matriz B:");
for(int i = 0; i < matrizB.length; i++){
for(int j = 0; j < matrizB[0].length; j++){
System.out.printf("%5d ", matrizB[i][j]);
}
System.out.println();
}
// vamos exibir os valores da matriz soma
System.out.println("\nElementos da matriz soma:");
for(int i = 0; i < matrizSoma.length; i++){
for(int j = 0; j < matrizSoma[0].length; j++){
System.out.printf("%5d ", matrizSoma[i][j]);
}
System.out.println();
}
}
}
Ao executar este código Java nós teremos o seguinte resultado:
Elementos da matriz A:
3 4 -1
8 2 1
7 5 -3
Elementos da matriz B:
-2 6 4
1 8 9
-4 10 3
Elementos da matriz soma:
1 10 3
9 10 10
3 15 0
|
MySQL ::: Dicas & Truques ::: Data e Hora |
Como subtrair horas, dias, semanas, meses, anos, etc, do valor de um campo do time DATE ou DATETIME do MySQL usando a função DATE_SUB()Quantidade de visualizações: 18328 vezes |
A função DATE_SUB() é muito útil quando precisamos subtrair horas, dias, semanas, meses, etc, do valor de um campo do tipo DATE ou DATETIME. Esta função é composta de três partes:DATE_SUB(date, INTERVAL expr unit) O argumento date deve ser do tipo DATE ou DATETIME. O argumento expr indica um número inteiro que indica a quantidade de horas, dias, meses, etc, que será usada como intervalo. O argumento unit indica a unidade a ser usada. Valores possíveis são: HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc. Veja um exemplo no qual subtraímos 15 dias da data atual: SELECT DATE_SUB(NOW(), INTERVAL 15 DAY) Suponha que você tenha um campo chamado data_hora_compra do tipo DATETIME e que este campo tenha o valor 2008-03-30 02:30:15. A query: SELECT DATE_SUB(data_hora_compra, INTERVAL 2 MONTH) FROM tabela_estudos retornará 2008-01-30 02:30:15. |
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: 526 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 |
C# ::: Dicas & Truques ::: Data e Hora |
Como calcular os dias restantes para uma data em C# usando um objeto TimeSpanQuantidade de visualizações: 9672 vezes |
Em algumas ocasiões precisamos saber a quantidade de dias restantes para uma determinada data no futuro em C# (próximo Natal, próxima Páscoa, vencimento de uma duplicata, etc). O trecho de código abaixo mostra como isso pode ser feito. Veja que usamos o construtor da estrutura DateTime para construir a data no futuro e então subtraímos desta a data atual. Em seguida obtemos a quantidade de dias do TimeSpan resultante:
static void Main(string[] args){
// vamos obter a quantidade de dias restantes para o Natal de
// 2009
DateTime data_futura = new DateTime(2009, 12, 25); // 25/12/2009
DateTime hoje = DateTime.Now;
// obtém a quantidade de dias restantes
TimeSpan dif = data_futura.Subtract(hoje);
int restantes = dif.Days + 1; // dia de hoje na contagem
// exibe o resultado
System.Console.WriteLine("Faltam " + restantes + " dias para " +
"o Natal de 2009");
// pausa o programa
Console.ReadKey();
}
|
Java ::: Dicas & Truques ::: Imagens e Processamento de Imagens |
Manipulação de imagens em Java - Como carregar imagens JPG (JPEG), GIF ou PNG usando o método getImage() da classe ToolkitQuantidade de visualizações: 24204 vezes |
|
O método getImage() da classe Toolkit retorna um objeto da classe Image que obtém informações de imagem (pixels) a partir do caminho informado. Veja que este método não verifica se a imagem informada para o método existe ou se foi carregada com sucesso. Veja mais dicas nesta seção para aprender a realizar tais tarefas. O código abaixo mostra como chamar o método getImage() para carregar uma imagem ao clicar em um botão:
package arquivodecodigos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
private Image imagem = null;
public Estudos() {
super("Estudos Java");
Container c = getContentPane();
c.setLayout(new FlowLayout());
JButton btn = new JButton("Carregar Imagem");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
// imagem a ser carregada
String minhaImagem = "C:\\estudos_java\\lago.jpg";
// Obtém o Toolkit padrão
Toolkit toolkit =
Toolkit.getDefaultToolkit();
imagem = toolkit.getImage(minhaImagem);
JOptionPane.showMessageDialog(null,
"A imagem foi carregada. Agora é só manipulá-la.");
}
}
);
c.add(btn);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este código nós teremos o seguinte resultado: A imagem foi carregada. Agora é só manipulá-la. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





