Dúvidas, comentários e doaçoes: +55 62 9 8513 2505

Planilha de Dimensionamento de Tubulações Hidráulicas Água Fria e Água Quente Completa
Nossa 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 - Estruturas de Concreto Armado
Card 1 de 40
Segurança e Estados Limites Ações nas Estruturas de Concreto Armado

As combinações últimas normais e as combinações últimas de construção ou especiais se diferem apenas pelo coeficiente ψ, que é ψ0 para as combinações normais últimas e pode ser ψ0 ou ψ2 para as combinações últimas de construção ou especiais, dependendo da duração da ação variável principal.

Nas combinações últimas excepcionais, a ação excepcional é considerada em seu valor característico, isto é, não majorada.

As ações variáveis são consideradas com seus valores quase permanentes pela multiplicação pelo fator de redução ψ2.

Nas combinações frequentes de serviço, existe uma ação variável principal considerada no seu valor frequente pela multiplicação pelo fator ψ1, e as demais consideradas em seus quase permanentes, pela multiplicação por ψ2.

Já, nas combinações raras de serviço, a variável principal se encontra em seu valor característico, ao passo que as demais ações variáveis são consideradas em seus valores frequentes, pela multiplicação por ψ1.

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:

Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Apostila Java - Como usar o tipo de dados double da linguagem Java

Quantidade de visualizações: 22580 vezes
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:

public class Estudos{
  public static void main(String args[]){
    double valor = 54.5;
    
    System.out.println("O valor da variável é: " +
      valor);
    
    System.exit(0);
  }
}

É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem.

Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja:

double valor = 54.5;
int valor2 = (int)(valor);

É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast.

Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal.


JavaScript ::: Dicas & Truques ::: Recursão (Recursividade)

JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva

Quantidade de visualizações: 1 vezes
Esta dica contém um ótimo exercício de recursão. Trata-se de uma função JavaScript recursiva para remover todas as ocorrências de uma substring em uma string. Analise o código cuidadosamente e você conseguirá desenvolver várias funções de recursividade a partir dele.

Veja o código JavaScript completo:

<html>
<head>
<title>Estudando JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // função recursiva que remove todas as ocorrências
  // de uma substring em uma string
  function remover(string, substring){
    // primeiro obtemos o índice da substring
    // dentro da string
    var indice = string.indexOf(substring);
    var resultado = "";
  
    // interromper a recursividade? 
    if(indice == -1){
      return string;
    }
    else{
      resultado += string.substring(0, indice) + 
        remover(string.substring(indice + substring.length),
        substring);
    }    

    return resultado;
  }

  // hora de testar a função recursiva
  var frase = "Ontem comprei duas camisas e uma calça";
  document.writeln("Original: " + frase);
  frase = remover(frase, "duas");
  document.writeln("<br>Nova frase: " + frase);  
</script>
 
</body>
</html>

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

Original: Ontem comprei duas camisas e uma calça
Nova frase: Ontem comprei camisas e uma calça


Python ::: Matplotlib Python Library (Biblioteca Python Matplotlib) ::: Passos Iniciais

Plotagem e visualização de dados em Python - Como instalar a biblioteca Matplotlib e testar seu funcionamento

Quantidade de visualizações: 3750 vezes
A biblioteca Matplotlib, escrita originalmente por John D. Hunter em 2003, é um dos pacotes Python mais populares para a plotagem e visualização de dados.

O acesso às funcionalidades da Matplotlib é feito por meio da interface Pylab, que lembra muito o MATLAB, a linguagem de programação proprietária desenvolvida pela MathWorks. Os usuários acostumados com essa ferramenta chegam a afirmar que a biblioteca Matplotlib, combinada com a biblioteca NumPy, pode ser considerada o equivalente open source do MATLAB.

Já tenho o Matplotlib disponível na minha instalação do Python?

Antes de iniciar qualquer projeto que envolva a biblioteca Matplotlib, é importante verificar se a mesma está disponível em sua instalação do Python. Isso pode ser de várias formas. Mostrarei como obter a lista de módulos usando a opção "list" do pip. Basta abrir uma janela de terminal e disparar o seguinte comando:

C:\Users\Osmar>pip list

Você terá um resultado parecido com:

C:\Users\Osmar>pip list
Package           Version
----------------- -------
astroid           2.4.2
colorama          0.4.4
isort             5.6.4
joblib            1.0.0
lazy-object-proxy 1.4.3
mccabe            0.6.1
numpy             1.19.4
pandas            1.1.5
Pillow            8.0.1
pip               20.3.3
pylint            2.6.0
python-dateutil   2.8.1
pytz              2020.4
scikit-learn      0.24.0
scipy             1.5.4
setuptools        49.2.1
six               1.15.0
threadpoolctl     2.1.0
toml              0.10.2
wrapt             1.12.1
wxPython          4.1.1
Uma outra forma é tentando importar o módulo matplotlib. Veja:

# importamos a bibliteca Matplotlib
import matplotlib as mp
 
def main():
  # vamos mostrar a versão da biblioteca Matplotlib
  versao = mp.__version__
 
  print("A versão do Matplotlib é:", versao)
 
if __name__== "__main__":
  main()

Se você tiver o Matplotlib instalado, o resultado desse código será algo como:

A versão do Matplotlib é: 3.4.1

Se você não tiver a biblioteca Matplotlib instalada, a seguinte mensagem de erro será exibida:

Exception has occurred: ModuleNotFoundError
File "c:\estudos_python\estudos.py", line 3, in <module>
  import matplotlib as mp
ModuleNotFoundError: No module named 'matplotlib'


Não tenho o Matplotlib ainda. O que faço?

Abra uma janela de terminal e dispare o comando abaixo:

C:\Users\Osmar>pip install matplotlib

Depois de alguns segundos você verá o seguinte resultado:

Collecting matplotlib
Downloading matplotlib-3.4.1-cp39-cp39-win_amd64.whl (7.1 MB)
|-| 7.1 MB 3.3 MB/s
Requirement already satisfied: pillow>=6.2.0 in c:\python_3_9_1\lib\site-packages (from matplotlib) (8.0.1)
Requirement already satisfied: python-dateutil>=2.7 in c:\python_3_9_1\lib\site-packages (from matplotlib) (2.8.1)
Requirement already satisfied: numpy>=1.16 in c:\python_3_9_1\lib\site-packages (from matplotlib) (1.19.4)
Collecting cycler>=0.10
Downloading cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Requirement already satisfied: six in c:\users\osmar\appdata\roaming\python\python39\site-packages (from cycler>=0.10->matplotlib) (1.15.0)
Collecting kiwisolver>=1.0.1
Downloading kiwisolver-1.3.1-cp39-cp39-win_amd64.whl (51 kB)
|-| 51 kB 3.8 MB/s
Collecting pyparsing>=2.2.1
Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
|-| 67 kB 1.7 MB/s
Installing collected packages: pyparsing, kiwisolver, cycler, matplotlib
Successfully installed cycler-0.10.0 kiwisolver-1.3.1 matplotlib-3.4.1 pyparsing-2.4.7

Obteve resultado parecido? Pronto! Você já pode começar a usar a biblioteca Matplotlib em seus aplicações Python.


C ::: Dicas & Truques ::: Strings e Caracteres

Como comparar os primeiros n caracteres de duas strings usando a função strncmp() da linguagem C

Quantidade de visualizações: 11062 vezes
Muitas vezes precisar verificar se os primeiros n caracteres de duas strings são iguais. Para isso podemos usar a função strncmp() do header string.h. Esta função aceita dois ponteiros para as strings a serem comparadas e um inteiro especificando a quantidade dos primeiros caracteres que serão comparados. O retorno da função será o valor 0 se os n caracteres comparados forem iguais. Veja o código:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
  char palavra1[] = "Java";
  char palavra2[] = "JavaScript";

  if(strncmp(palavra1, palavra2, 4) == 0)
    printf("Os primeiros n caracteres sao iguais");
  else
    printf("Os primeiros n caracteres NAO sao iguais");

  puts("\n\n");
  system("PAUSE");
  return 0;
}

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

Os primeiros n caracteres sao iguais.


Revit C# ::: Dicas & Truques ::: Colunas e Pilares

Como rotacionar colunas e pilares no Revit via programação usando a função RotateElement() da classe ElementTransformUtils da Revit C# API

Quantidade de visualizações: 701 vezes
Nesta dica mostrarei como podemos usar a função RotateElement() da classe ElementTransformUtils da Revit C# API para rotacionar uma coluna ou pilar no Revit, tudo isso via programação.

Essa dica é muito útil para programadores Revit C#, pois traz as técnicas necessárias para selecionar um único elemento na área de desenho do Revit, assim como obter sua caixa delimitadora (BoundingBox), seu ponto geométrico central e, o mais importante, fazer a rotação do elemento em seus eixos.

O primeiro passo é pedir para o usuário selecionar o pilar ou a coluna usando a função PickObject() da classe Selection, que retorna uma Reference. Após a seleção do elemento nós usamos a função GetElement() da classe Document para retornar o elemento como uma variável FamilyInstance, ou seja, uma instância de família do Revit.

De posse da instância de família nós usamos a função get_BoundingBox() para obter e retornar um objeto da classe BoundingBoxXYZ. É esse objeto que usamos para obter o ponto máximo, o ponto mínimo e o ponto geométrico central da coluna ou pilar.

O passo final é usar a função RotateElement() da classe ElementTransformUtils para rotacionar a coluna ou pilar de acordo com o ângulo de rotação desejado. Note que fiz a conversão de ângulos em graus para ângulos em radianos antes de efetuar a rotação.

Veja o código Revit C# API completo para o exemplo:

using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using Autodesk.Revit.DB.Architecture;
using System.Linq;
 
namespace Estudos {
  [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
    TransactionMode.Manual)]
  [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
  public partial class ThisApplication {
    private void Module_Startup(object sender, EventArgs e) {
      // vamos obter uma referência ao Document ativo
      Document doc = this.ActiveUIDocument.Document;
      UIDocument uidoc = this.ActiveUIDocument; 
      
      // agora mostramos uma mensagem para o usuário selecionar uma
      // coluna ou pilar
      TaskDialog.Show("Aviso", "Selecione uma coluna ou pilar");
        
      // obtemos uma referência ao objeto Selection do
      // UIDocument ativo
      Selection selecao = uidoc.Selection;
      
      // e finalmente esperamos que o usuário selecione o elemento
      Reference selecionado = selecao.PickObject(ObjectType.Element,
        "Selecione uma coluna ou pilar");
      
      // agora testamos se o usuário realmente selecionou um
      // elemento
      if (selecionado != null) {
        // vamos obter o elemento selecionado a partir da
        // referência
        FamilyInstance coluna = uidoc.Document.GetElement(selecionado) 
          as FamilyInstance;
        // vamos obter o elemento BoundingBoxXYZ
        BoundingBoxXYZ bounding = coluna.get_BoundingBox(null);
         
        // vamos obter as informações da BoundingBoxXYZ
        // primeiro o ponto mínimo (canto esquerdo inferior e
        // a parte de trás da caixa delimitadora)
        XYZ pontoMinimo = bounding.Min;
        // agora o ponto máximo (canto direito superior e
        // a parte da frente da caixa delimitadora)
        XYZ pontoMaximo = bounding.Max;
        
        // agora obtemos o ponto central da coluna         
        XYZ centro = (pontoMaximo + pontoMinimo) * 0.5;
        // construímos a linha que servirá de eixo de rotação
        Line eixos = Line.CreateBound(centro, centro + XYZ.BasisZ);
        // definimos o ângulo de rotação em graus        
        double angulo_rotacao_graus = 45;
        // convertemos para radianos
        double angulo_rotacao_radianos = angulo_rotacao_graus * (Math.PI / 180);        
        
        // iniciamos a transação
        Transaction transacao = new Transaction(doc);
        transacao.Start("Como rotacionar colunas e pilares no Revit");
        
        // rotacionamos a coluna ou pilar
        ElementTransformUtils.RotateElement(doc, coluna.Id, eixos,
          angulo_rotacao_radianos);
        
        // fazemos o commit da transação
        transacao.Commit();      
     
        // e mostramos o resultado
        TaskDialog.Show("Aviso", "A coluna foi rotacionada com sucesso.");
      }
    }
      
    private void Module_Shutdown(object sender, EventArgs e) {
      // para fazer alguma limpeza de memória ou algo assim
    }
 
    #region Revit Macros generated code
    private void InternalStartup() {
      this.Startup += new System.EventHandler(Module_Startup);
      this.Shutdown += new System.EventHandler(Module_Shutdown);
    }
    #endregion
  }
}



Veja mais Dicas e truques de Revit C#

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.


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