Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como declarar e construir um array de int em Java e usar o laço for para solicitar ao usuário que informe os valores dos elementosQuantidade de visualizações: 13612 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console que declara e constrói um array, ou seja, um vetor 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 array: Sua saída deverá ser parecida com: Informe o 1º valor: 5 Informe o 2º valor: 7 Informe o 3º valor: 11 Informe o 4º valor: 3 Informe o 5º valor: 9 Informe o 6º valor: 4 Informe o 7º valor: 20 Informe o 8º valor: 1 Informe o 9º valor: 6 Informe o 10º valor: 63 Os valores informados foram: O 1º valor foi: 5 O 2º valor foi: 7 O 3º valor foi: 11 O 4º valor foi: 3 O 5º valor foi: 9 O 6º valor foi: 4 O 7º valor foi: 20 O 8º valor foi: 1 O 9º valor foi: 6 O 10º valor foi: 63 Resposta/Solução: Como a solução deste exercício depende de valores informados pelo usuário, a classe Scanner deverá ser usada. Desta forma, você deverá importá-la, usando a linha: import java.util.Scanner;
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para este exercício você deverá importar a classe
// Scanner. Ela está no pacote java.util.*;
// vamos construir um objeto da classe Scanner para ler a
// entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir um array de 10 inteiros
int valores[] = new int[10];
// agora vamos solicitar ao usuário que informe os 10 valores para
// os elementos do array. O mais recomendável neste caso é usar um
// laço for que repetirá 10 vezes e, a cada repetição, solicitaremos
// um valor
for (int i = 0; i < valores.length; i++) {
System.out.print("Informe o " + (i + 1) + "º valor: ");
valores[i] = Integer.parseInt(entrada.nextLine());
}
// para finalizar vamos exibir os valores informados pelo usuário e
// presentes nos elementos do array
System.out.println("\nOs valores informados foram:\n");
for (int i = 0; i < valores.length; i++) {
System.out.println("O " + (i + 1) + "º valor foi: " + valores[i]);
}
}
}
|
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como usar a classe FileSystemWatcher em seus programas C#Quantidade de visualizações: 8944 vezes |
|
Podemos usar objetos da classe FileSystemWatcher quando queremos monitorar mudanças em um determinado diretório do sistema. Estas alterações podem ser observadas em arquivos e subdiretórios do diretório especificado. Usando objetos desta classe nós podemos monitorar modificações em arquivos no computador local, em um drive na rede ou em um computador remoto. Veja a posição desta classe na hierarquia de classes da plataforma .NET:
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.IO.FileSystemWatcher
Para adicionar um componente FileSystemWatcher em sua aplicação C# basta localizá-lo na seção Components da Toolbox. Em seguida clique no mesmo e arraste-o para o formulário. Para definir o diretório a ser monitorado, clique no componente, acesse suas propriedades e defina o caminho do diretório na propriedade Path. Um exemplo de diretório poderia ser "C:\arquivo de codigos". Neste exemplo veremos como detectar alterações nos arquivos e sub-diretórios. Desta forma, vá nos eventos do componente FileSystemWatcher e insira o código abaixo para o evento Changed:
private void fileSystemWatcher1_Changed(object sender,
FileSystemEventArgs e){
// vamos verificar o que foi modificado neste diretório
textBox1.AppendText("Arquivo: " + e.FullPath + " sofreu alterações: " +
e.ChangeType + Environment.NewLine);
}
Execute a aplicação e experimente criar um arquivo txt no diretório "C:\arquivo de códigos" e modificar seu conteúdo várias vezes. Volte à aplicação e a caixa de texto terá um conteúdo parecido com: Arquivo: C:\arquivo de codigos\dados2.txt sofreu alterações: Changed Arquivo: C:\arquivo de codigos\dados2.txt sofreu alterações: Changed |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural |
Exercícios Resolvidos de Python - 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 PythonQuantidade de visualizações: 1884 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 Python 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.m Informe uma distância a partir do apoio A: 4 O momento fletor na distância informada é: 180.000000 kN.m 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 Python:
# Algoritmo que calcula reação de apoio, momento fletor
# e força cortante em uma viga bi-apoiada em Python
# vamos importar o módulo Math
import math
# função principal do programa
def main():
# vamos pedir para o usuário informar o valor da carga
carga = float(input("Valor da carga em kN/m: "))
# vamos pedir para o usuário informar a distância entre os apoios
distancia = float(input("Distancia em metros: "))
# 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 * math.pow(distancia, 2.0)
# e mostramos o resultado
print("\nA reação no apoio A é: {0} kN".format(reacao_a))
print("A reação no apoio B é: {0} kN".format(reacao_b))
print("O momento fletor máximo é: {0} kN.m".format(flexao_maxima))
# vamos pedir para o usuário informar uma distância a
# partir do apoio A
distancia_temp = float(input("\nInforme uma distância a partir do apoio A: "))
# vamos mostrar o momento fletor na distância informada
if distancia_temp > distancia:
print("\nDistância inválida.")
else:
flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \
(distancia - distancia_temp)
print("O momento fletor na distância informada é: {0} kN.m".format(
flexao_distancia))
# vamos mostrar a força cortante no apoio A
cortante_a = (1.0 / 2.0) * carga * distancia
print("\nA força cortante no apoio A é: {0} kN".format(cortante_a))
# vamos mostrar a força cortante no apoio B
cortante_b = cortante_a * -1
print("A força cortante no apoio B é: {0} kN".format(cortante_b))
if __name__== "__main__":
main()
|
Java ::: Pacote java.awt.image ::: BufferedImage |
Como desenhar um BufferedImage em um JComponent do JavaQuantidade de visualizações: 11065 vezes |
Neste exemplo nós usamos o método drawImage() da classe Graphics para desenhar o conteúdo de um BufferedImage (que contém uma imagem JPG) em uma JFrame do Java Swing:
import java.awt.*;
import java.io.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;
public class Estudos extends JFrame{
private BufferedImage imagem;
public Estudos(){
super("Estudos Java");
Container c = getContentPane();
c.setLayout(new FlowLayout());
JButton btn = new JButton("Carregar Imagem");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
imagem = null;
try{
imagem = ImageIO.read(
new File("imagens/fundo.jpg"));
}
catch(IOException exc){
JOptionPane.showMessageDialog(null,
"Erro ao carregar a imagem: " +
exc.getMessage());
}
if(imagem != null){
desenhar();
}
}
}
);
c.add(btn);
setSize(400, 300);
setVisible(true);
}
public void desenhar(){
// desenha a imagem no JFrame
Graphics g = getGraphics();
g.drawImage(imagem, 0, 0, this);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
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: 419 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 |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





