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:

C ::: Dicas & Truques ::: Data e Hora

Como obter e exibir a data atual no formato DD/MM/YYYY (Ex: 02/07/2013) usando a linguagem C

Quantidade de visualizações: 5097 vezes
Em algumas situações gostaríamos de obter e exibir a data no formato DD/MM/YYYY, por exemplo, 23/05/2010. Para isso podemos usar a função strftime(), que nos permite formatar o conteúdo da estrutura tm usando especificadores de formato. Veja o código:

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

int main(int argc, char *argv[]){
  time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
  struct tm *timeinfo; // declara uma estrutura tm
  time(&data_hora_segundos); // preenche a variável data_hora_segundos
  // preenche a estrutura timeinfo
  timeinfo = localtime(&data_hora_segundos);

  // obtém e exibe a data atual no formato DD/MM/YYYY
  char data_atual[80];
  strftime(data_atual, 80, "A data de hoje é: %d/%m/%Y", timeinfo);

  // mostra o resultado
  printf("%s\n\n", data_atual);

  system("PAUSE");
  return 0;
}

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

A data de hoje é: 02/08/2013

Para exibir a data no formato DD/MM/YYYY eu usei os especificadores de formato %d, %m e %Y.


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

Exercícios Resolvidos de Python - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

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

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Python que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

# método principal
def main():
  # vamos ler o primeiro lado do triângulo
  lado_a = int(input("Informe o primeiro lado do triângulo: "))
  
  # vamos ler o segundo lado do triângulo
  lado_b = int(input("Informe o segundo lado do triângulo: "))

  # vamos ler o terceiro lado do triângulo
  lado_c = int(input("Informe o terceiro lado do triângulo: "))
    
  # os lados informados formam um triângulo?
  if((lado_a < (lado_b + lado_c)) and (lado_b < (lado_a + lado_c)) 
    and (lado_c < (lado_a + lado_b))):
    # é um triângulo equilátero (todos os lados iguais)?
    if((lado_a == lado_b) and (lado_b == lado_c)):
      print("O triângulo é equilátero")  
    else:
      # é isósceles (dois lados iguais e um diferente)?
      if((lado_a == lado_b) or (lado_a == lado_c) or (lado_c == lado_b)):
        print("O triângulo é isósceles")  
      else:
        # é escaleno
        print("O triângulo é escaleno")
  else:
    print("Os lados informados não formam um triângulo.")
  
if __name__== "__main__":
  main()



Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos

Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessor

Quantidade de visualizações: 7676 vezes
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome.

É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita.

Veja um exemplo:

# Definição da classe Cliente
class Cliente
   attr_accessor :nome, :idade
   
   def initialize(nome, idade)
      @nome = nome
      @idade = idade
   end
end

# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)

# Acessa as variáveis de instância sem a necessidade
# de métodos acessórios
puts cliente.nome
puts cliente.idade

# Modifica as variáveis de instância sem a necessidade
# de métodos mutatórios
cliente.nome = "Carlos da Silva"
cliente.idade = 56

# Obtém os resultados
puts cliente.nome
puts cliente.idade

Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo:

Traceback (most recent call last):
estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError)


PHP ::: Dicas & Truques ::: Arquivos e Diretórios

Arquivos e diretórios em PHP - Como montar uma árvore de arquivos e diretórios recursivamente

Quantidade de visualizações: 16897 vezes
Este exemplo mostra como listar todo o conteúdo de um diretório recursivamente em forma de árvore. Note que usei um objeto da classe RecursiveDirectoryIterator da linguagem PHP para facilitar nosso trabalho.

Veja o código completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  // nome e local do diretório
  $dir = $_SERVER["DOCUMENT_ROOT"] . "/escola/app";
 
  // função recursiva que lista o diretório atual
  function montarArvore($it){ 
    echo '<ul>';
    for(; $it->valid(); $it->next()){ 
      if($it->isDir() && !$it->isDot()) { 
        printf('<li>%s</li>', $it->current()); 
        
        if($it->hasChildren()) { 
          $filho = $it->getChildren(); 
          echo '<ul>' . montarArvore($filho) . '</ul>'; 
        } 
      } 
      elseif($it->isFile()) { 
        echo '<li>'. $it->current() . '</li>'; 
      } 
    } 
   
    echo '</ul>'; 
  } 
 
  // faz a primeira chamada à função recursiva
  montarArvore(new RecursiveDirectoryIterator($dir));
?>

</body>
</html>



Rust ::: Fundamentos da Linguagem ::: Compilador rustc

Como escrever um "Hello, World!" na linguagem Rust usando a ferramenta rustc

Quantidade de visualizações: 968 vezes
Então você já fez a instalação do Rust, testou o seu funcionamento disparando "rustc --version" em uma janela de terminal e agora quer começar a aprender mais sobre a linguagem? Que tal começar escrevendo o famoso "Hello, World!" ("Olá, Mundo!")?

Nesta dica mostrarei como essa tarefa é fácil, principalmente se optarmos pelo uso da ferramenta rustc. Lembre-se, no entanto, que rustc é usado diretamente quando estamos escrevendo aplicações simples, provas de conceito, protótipos e coisas assim. Para aplicações mais complexas, é sempre recomendado o uso do Cargo, que é um sistema de build e gerenciador de pacotes do Rust.

Então vamos começar. Abra o seu editor de códigos favorito (tal como o Notepad++) e digite a seguinte listagem:

fn main() {
  println!("Hello, world! Aqui é Rust na veia.");
}

Salve este arquivo como "estudos.rs" no diretório de sua preferência. Aqui eu optei por salvá-lo em um diretório chamado "C:\estudos_rust".

Agora vamos compilar nosso programa Rust. Abra uma janela de terminal e navegue até o diretório que você salvou o arquivo "estudos.rs" e dispare o comando abaixo:

C:\Users\Osmar>cd c:\estudos_rust
c:\estudos_rust>rustc estudos.rs

Se tudo correr bem, você verá a criação de um arquivo "estudos.exe". Para executá-lo pela linha de comando nós só precisamos disparar:

c:\estudos_rust>estudos
Hello, world! Aqui é Rust na veia.

Simples, né? No entanto, se dermos duplo-clique em cima do executável gerado, ele abre e fecha automaticamente. Não seria bom exibir uma mensagem do tipo "Pressione uma tecla para fechar..."? Basta modificar seu código para a versão abaixo:

// importamos a biblioteca io
use std::io;
use std::io::Write;

fn main() {
  println!("Hello, world! Aqui é Rust na veia.");
  
  // procedimento para pausar o programa
  let mut resposta = String::new();
  print!("\nPressione Enter para sair...");
  io::stdout().flush().unwrap();
  io::stdin().read_line(&mut resposta)
    .expect("Erro ao ler a entrada do usuário");
}

Sim, eu sei que agora nós adicionamos código demais para alcançar um detalhe tão simples. Mas, à medida que a linguagem Rust evolui, talvez os desenvolvedores resolvam simplificar esta parte. Compile o programa novamente e experimente abrir o executável com duplo-clique. Você verá que agora o programa fica aguardando o pressionamento da tecla Enter para fechar.


Veja mais Dicas e truques de Rust

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á 17 usuários muito felizes estudando em nosso site.