Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Você está aqui: Cards de Engenharia Civil - Fundações
Card 1 de 11
Fundações diretas ou rasas

As fundações rasas ou diretas são utilizadas quando as camadas superficiais do solo apresentam resistência apropriada para receber as cargas provenientes de uma edificação.

A depender das características do solo abaixo de uma estrutura, podem ser usadas tanto fundações rasas como fundações profundas, desde que os estudos técnicos necessários sejam realizados durante a fase dos estudos preliminares.

Vale ressaltar que o uso das fundações rasas é recomendado quando o número de golpes do SPT for maior ou igual a 8 e a profundidade de assentamento não ultrapassar 2m, pois, acima desses valores, esse tipo de fundação se torna inviável técnica e economicamente.

Filtrar Cards
Use esta opção para filtrar os cards pelos tópicos que mais lhe interessam.
Termos:
Aviso Importante: Nos esforçamos muito para que o conteúdo dos cards e dos testes e conhecimento seja o mais correto possível. No entanto, entendemos que erros podem ocorrer. Caso isso aconteça, pedimos desculpas e estamos à disposição para as devidas correções. Além disso, o conteúdo aqui apresentado é fruto de conhecimento nosso e de pesquisas na internet e livros. Caso você encontre algum conteúdo que não deveria estar aqui, por favor, nos comunique pelos e-mails exibidos nas opções de contato.
Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional

Exercício Resolvido de Python - Programação Linear em Python - Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros

Quantidade de visualizações: 921 vezes
Pergunta/Tarefa:

Este exercício de Python aborda o uso da biblioteca PuLP para resolver um problema de Pesquisa Operacional usando Programação Linear.

Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros quadrados de casca de árvore, dispondo de carvalho e pinheiro, sendo que o carvalho gera 40kg de lenha, 150kg de madeira e 3 metros quadrados de casca aproveitável; o pinheiro 100kg de lenha, 60kg de madeira e 8 metros quadrados de casca aproveitável.

Formule o problema, de modo a minimizar os custos, sabendo que cada carvalho custa R$ 1500,00 para a empresa e cada pinheiro R$ 1200,00. Em seguida use a API de Programação Linear do PuLP para resolver o problema e mostrar a melhor solução.

Sua saída deverá ser parecida com:

x: 11.111111
y: 5.5555556
Resposta/Solução:

Antes de passarmos para o código Python é importante entendermos e fazermos a modelagem do problema. Neste exercício busca-se encontrar o custo mínimo. Assim, a nossa função objetivo será dada pela combinação dos preços do carvalho e do pinheiro. Veja:

Zmin = 1500x + 1200y

Aqui nós definimos a variável x para o carvalho e a variável y para o pinheiro.

Agora que já temos a função Z, o próximo passo é analizarmos as restrições. Note que a empresa precisa de 1000kg de lenha. O carvalho gera 40kg de lenha, enquanto o pinheiro gera 100kg. Então nossa primeira restrição é:

R1 = 40x + 100y >= 1000

Para a segunda restrição nós temos que a empresa precisa de 2000kg de madeira. O carvalho gera 150kg de madeira, enquanto o pinheiro gera 60kg. Assim, nossa segunda restrição é:

R2 = 150x + 60y >= 2000

Finalmente, para a terceira restrição, sabemos que a empresa necessita de 50 metros quadrados de casca de árvore. O carvalho gera 3 metros quadrados de casca aproveitável, enquanto o pinheiro gera 8 metros quadradros. Então a terceira restrição é:

R3 = 3x + 8y >= 50

As restrições 4 e 5 dizem que tanto o x quanto o y devem ser maiores ou iguais a zero, e que ambos devem pertencer aos números reais.

Veja agora como usamos os dados de formulação para resolver este exercício usando Python e a biblioteca PuLP:

# vamos importar as ferramentas necessárias
from pulp import LpMinimize, LpProblem, LpVariable

# método principal
def main():
  # vamos criar o modelo
  modelo = LpProblem(name="Pesquisa Operacional em Python", sense=LpMinimize)

  # agora inicializamos as variáveis de decisão
  x = LpVariable(name="x", lowBound=0)
  y = LpVariable(name="y", lowBound=0)

  # vamos adicionar as restrições de acordo com a formulação do problema
  modelo += (40 * x + 100 * y >= 1000, "R1")
  modelo += (150 * x + 60 * y >= 2000, "R2")
  modelo += (3 * x + 8 * y >= 50, "R3")

  # definimos a função objetivo e a adicionamos ao modelo
  funcao_objetivo = 1500 * x + 1200 * y
  modelo += funcao_objetivo

  # e tentamos resolver o problema
  modelo.solve()
  
  # assumindo que o problema foi resolvido com sucesso, vamos
  # mostrar os valores das variáveis x e y
  for var in modelo.variables():
    print(f"{var.name}: {var.value()}")

if __name__== "__main__":
  main()

Note como o PuLP nos deu o custo mínimo de 23333.33 para atingir o objetivo desejado pela madeireira.


VBA ::: Dicas & Truques ::: Laços de Repetição

Como usar o laço de repetição For Next em nossas aplicações VBA

Quantidade de visualizações: 607 vezes
O laço For da linguagem VBA é uma estrutura de controle de repetição que nos permite, de forma eficiente, repetir uma instrução ou grupo de instruções um determinado número de vezes.

Veja, por exemplo, como escrever um laço For Next que mostra os números de 0 até 10:

Sub ExemploLacoFor()
  ' exemplo de laço For Next que conta de 0 até 10
  For i = 0 To 10
    MsgBox "O valor de i é: " & i
  Next
End Sub

Ao executar este código VBA nós teremos o seguinte resultado:

O valor de i é: 0
O valor de i é: 1
O valor de i é: 2
O valor de i é: 3
O valor de i é: 4
O valor de i é: 5
O valor de i é: 6
O valor de i é: 7
O valor de i é: 8
O valor de i é: 9
O valor de i é: 10

É possível usar a palavra-chave Step para definirmos o incremento da variável de controle do laço. Veja:

Sub ExemploLacoFor()
  ' exemplo de laço For Next que mostra os números
  ' pares de 0 até 10
  For i = 0 To 10 Step 2
    MsgBox "O valor de i é: " & i
  Next
End Sub

Ao executarmos o código novamente, o resultado será:

O valor de i é: 0
O valor de i é: 2
O valor de i é: 4
O valor de i é: 6
O valor de i é: 8
O valor de i é: 10

Finalmente, se quisermos um laço For Next que conta de trás para a frente, ou seja, diminui a variável de controle, basta fornecermos um valor negativo para a palavra-chave Step. Veja:

Sub ExemploLacoFor()
  ' exemplo de laço For Next que mostra os números
  ' pares de 10 até 0
  For i = 10 To 0 Step -2
    MsgBox "O valor de i é: " & i
  Next
End Sub



Ruby ::: Dicas & Truques ::: Rotinas de Conversão

Como converter uma string em um valor inteiro válido em Ruby usando a função to_i

Quantidade de visualizações: 9040 vezes
Em algumas situações nós temos que efetuar cálculos matemáticos usando valores fornecidos como texto. Para isso nós precisamos converter esses valores que chegam como string em valores numéricos válidos.

Em Ruby nós podemos converter uma string em um inteiro usando a função to_i.

Veja um exemplo que mostra como ler a entrada do usuário em Ruby
a partir do teclado e efetuar um cálculo matemático:

# Veja o uso do método to_i para converter um string
# em um valor inteiro válido

print "Informe o primeiro número: "
num1 = (gets.chomp).to_i
print "Informe o segundo número: "
num2 = (gets.chomp).to_i

# Exibe o resultado
puts "A soma dos valores é: #{num1 + num2}"

Ao executar este código Ruby nós teremos o seguinte resultado:

Informe o primeiro número: 8
Informe o segundo número: 2
A soma dos valores é: 10


PHP ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o diâmetro, a circunferência e a área de um círculo dado o raio em PHP - PHP para Geometria

Quantidade de visualizações: 2184 vezes
O círculo é uma figura geométrica plana e que possui quatro características: seu raio, seu diâmetro, sua circunferência e sua área. Aqui já podemos aproveitar e relembrar a diferença entre o círculo e a circunferência. O círculo é o conjunto de pontos resultantes da união entre uma circunferência e seus pontos internos, ou seja, o círculo é a área cuja delimitação é uma circunferência.

É importante observar que alguns autores tratam o círculo como uma circunferência. Assim, para estes autores, calcular a circunferência de um círculo equivale a calcular o perímetro da circunferência.

Veja a figura a seguir para relembrar o que é o raio de um círculo:



Nesta dica mostrarei como podemos usar PHP para calcular o diâmetro, a circunferência e a área de um círculo tendo apenas o raio como informação. Antes, porém, vamos às formulas. Sabendo que r é o raio, temos:

\[\text{Diâmetro d} = 2 \times r \]

\[\text{Circunferência C} = 2 \times \pi \times r \]

\[\text{Área A} = \pi \times r^2 \]

Agora vamos ver o código PHP que solicita ao usuário que informe o raio do círculo e mostra o diâmetro, a circunferência e a área:

<?php
  // para executar abra uma janela de comando
  // cmd e dispare o comando abaixo:
  // C:\xampp\php>php c:\estudos_php\estudos.php
   
  // para ler a entrada do usuário
  $entrada = fopen("php://stdin","r");
  
  // vamos ler o raio do círculo
  echo "Informe o raio do círculo: ";
  $raio = trim(fgets($entrada));
  
  // vamos achar o diâmetro do círculo
  $diametro = 2 * $raio;
  // agora calculamos a circunferência
  $circunferencia = 2 * pi() * $raio;
  // finalmente calculamos a área do círculo
  $area = pi() * pow($raio, 2);
    
  // vamos mostrar os resultados
  echo "O diâmetro do círculo é: " . $diametro . "\n";
  echo "A circunferência do círculo é: " . $circunferencia . "\n";
  echo "A área do círculo é: " . $area;  
?>

Ao executar este código PHP nós teremos o seguinte resultado:

Informe o raio do círculo: 10
O diâmetro do círculo é: 20.0
A circunferência do círculo é: 62.83185307179586
A área do círculo é: 314.1592653589793

Lembre-se de que a área é em centímetros quadrados, metros quadrados, etc.


Java ::: Classes e Componentes ::: JTextArea

Java Swing - Como adicionar mais texto a um JTextArea usando o método append()

Quantidade de visualizações: 2 vezes
Nesta dica mostrarei como é possível usar o método append() da classe JTextArea para adicionar mais conteúdo a esse controle. Esta é uma técnica muito importante no desenvolvimento de aplicações Java Swing.

Segue um exemplo completo (note que fiz toda a aplicação Java Swing na mão mesmo, ou seja, não usei o editor visual do NetBeans ou semelhantes):

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Estudos extends JFrame {
  JTextArea textArea;
  JTextField texto;
  JButton btn;

  public Estudos() {
    super("Como adicionar texto a um JTextArea");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);

    textArea = new JTextArea(10, 20);

    texto = new JTextField(10);
    btn = new JButton("Adicionar Texto");
    btn.addActionListener(
      new ActionListener() {
        public void actionPerformed(ActionEvent e) {
          textArea.append(texto.getText());
        }
      }
    );

    c.add(textArea);
    c.add(texto);
    c.add(btn);

    setSize(350, 250);
    setVisible(true);
  }

  public static void main(String args[]) {
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Veja que neste exemplo, mais conteúdo é adicionado ao controle JTextArea sem provocar uma quebra de linha. Em outras dicas e truques dessa seção você aprenderá como isso pode ser feito.


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

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 126 usuários muito felizes estudando em nosso site.