Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresCódigo-Fonte Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais

Você está aqui: Cards de Engenharia Civil - Construção Civil
Card 1 de 28
Fases de uma obra

A Planta de Localização (escala usual 1:200) identifica a posição da obra no terreno. Serve para implantar o projeto.

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 ::: 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 Estrutural

Quantidade de visualizações: 559 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 ::: Dicas & Truques ::: Mouse e Teclado

Java Swing - Como detectar um clique em um botão JButton e exibir uma mensagem JOptionPane

Quantidade de visualizações: 9 vezes
Nesta dica mostrarei como podemos usar o método addActionListener() da linguagem Java para definir um evento de clique a um botão JButton. Quando o usuário clicar no botão nós vamos interceptar este evento e mostrar uma mensagem JOptionPane.showMessageDialog().

Veja o código completo para o exemplo:

 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Estudos extends JFrame{
  JButton btn;
 
  public Estudos() {
    super("Detectando um clique em um botão");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
     
    btn = new JButton("Clique");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          JOptionPane.showMessageDialog(null, "Fui clicado!");
        }
      }   
    ); 
        
    c.add(btn);
     
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Delphi ::: Dicas & Truques ::: Ponteiros, Referências e Memória

Como usar ponteiros na linguagem Delphi - Aprenda a usar ponteiros em Delphi

Quantidade de visualizações: 24396 vezes
O Delphi, assim como C e C++ permite o uso de ponteiros, uma das ferramentas mais poderosas de programação e presente em códigos mais elaborados, tais como estruturas de dados.

Para entender ponteiros, é preciso lembrarmos do conceito de variáveis. Uma variável, em determinados momentos, possui várias propriedades ou atributos, a saber, um nome, um valor e o tipo de dados que poderá ser armazenado na mesma. Uma variável possui também um endereço na memória do computador e o seu nome não é nada mais que um apelido para tal endereço. Ponteiros também possuem um nome, um valor e um tipo de dados. A diferença é que ponteiros, em vez de guardar valores tais como inteiros, strings, caracteres, etc, guardam o endereço de outras variáveis (ou o endereço de outros ponteiros, o que resulta em um ponteiro para um ponteiro). Assim, um ponteiro é uma forma indireta de se acessar o conteúdo de uma outra variável.

Veja, por exemplo, as seguintes declarações de variáveis:

var
  valor: integer;
  pvalor: ^integer;

Aqui nós temos uma variável valor do tipo Integer e uma variável pvalor que é um ponteiro para um Integer. Veja agora como atribuir valores a estas variáveis:

procedure TForm1.Button1Click(Sender: TObject);
var
  valor: integer;
  pvalor: ^integer;
begin
  // atribui um valor à variável valor
  valor := 20;

  // vamos atribuir à pvalor o endereço de valor
  pvalor := @valor;

  // vamos usar o ponteiro pvalor para alterar o
  // valor de valor
  pvalor^ := 30;

  // vamos obter o novo valor da variável valor
  ShowMessage('Valor de valor: ' + IntToStr(valor));
end;

Veja que usamos o operador @ para obtermos o endereço da variável valor e guardá-lo no ponteiro pvalor. Em seguida usamos o símbolo ^ para acessar o valor da variável para a qual o ponteiro está apontando. Este processo é chamado de desreferenciamento (dereferencing). Em resumo, o símbolo ^ pode ser usado de duas formas: na frente de um tipo de dados, para indicar que a variável está sendo declarada como ponteiro e após o nome de uma variável do tipo ponteiro para indicar que queremos acessar o valor da variável para a qual o ponteiro está apontando atualmente e não o valor do ponteiro, que seria simplesmente um valor inteiro representando um endereço de memória.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de LISP - Um programa que lê duas notas, calcula a média aritmética e exibe uma mensagem de reprovado, exame ou aprovado

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

Escreva um programa LISP ou Common Lisp que leia duas notas (como double ou float), calcule e mostre a média aritmética e uma mensagem de acordo com as seguintes regras:

1) Se a média for inferior a 4,0 escreva "Reprovado";
2) Se a média for igual ou superior a 4,0 e inferior a 7,0 escreva "Exame";
3) Se a média for igual ou superior a 7,0 escreva "Aprovado".

Sua saída deverá ser parecida com:

Informe a primeira nota: 8
Informe a segunda nota: 7.4
A média obtida foi: 7.7
Aprovado
Resposta/Solução:

Veja a resolução comentada deste exercício usando Common Lisp (a padronização da linguagem LISP):

; Algoritmo LISP para calcular a média de um aluno

; variáveis que vamos usar no programa
(let ((n1)(n2)(media))
  ; vamos solicitar as duas notas do aluno
  (princ "Informe a primeira nota: ")
  (force-output)
  (setq n1 (read))
  (princ "Informe a segunda nota: ")
  (force-output)
  (setq n2 (read))

  ; vamos calcular a média aritmética
  (setq media (/ (+ n1 n2) 2))
  (format t "A média obtida foi ~F" media)

  ; vamos verificar se o aluno foi reprovado, está de exame ou aprovado
  (cond 
    ((< media 4.0) ; reprovado
      (format t "~%Reprovado"))
    ((and (>= media 4.0)(< media 7.0)) ; exame
      (format t "~%Exame"))  
    (t (format t "~%Aprovado"))
  )  
)



Delphi ::: Dicas & Truques ::: Strings e Caracteres

Como verificar se uma substring está contida no final de uma string usando a função AnsiEndsStr() do Delphi

Quantidade de visualizações: 11782 vezes
Em algumas situações precisamos verificar se uma substring está contida no final de uma string, ou seja, se a string termina com um determinado sufixo. Em Delphi isso pode ser feito com o auxílio da função AnsiEndsStr(). Esta função requer a substring a ser pesquisada e a string alvo da pesquisa. O retorno será true se a substring estiver contida no final da string. Do contrário o retorno será false. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  frase: string;
begin
  frase := 'Gosto muito de Delphi e Java';

  // vamos verificar se a string termina com "Java"
  if AnsiEndsStr('Java', frase) then
    ShowMessage('A frase termina com a substring indicada')
  else
    ShowMessage('A frase NÃO termina com a substring indicada')
end;

Não se esqueça de adicionar a unit StrUtils no uses do seu formulário.

Para questões de compatibilidade, esta dica foi escrita usando Delphi 2009.


Desafios, Exercícios e Algoritmos Resolvidos de Delphi

Veja mais Dicas e truques de Delphi

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 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 Apenas R$ 19,90


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