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.

JavaScript ::: Dicas & Truques ::: Cookies

Cookies em JavaScript - Como registrar a quantidade de vezes que o usuário visitou a sua página HTML

Quantidade de visualizações: 2 vezes
Nesta dica mostrarei como podemos cookies em JavaScript para gravar e exibir para o usuário a quantidade de vezes que ele visitou o nosso site ou página. Veja que, no código, nós temos duas funções: gravarCookie(), que recebe o nome, o valor e a direção do cookie em dias, e obterCookie(), que recebe o nome do cookie e retorna o seu valor.

O resultado ficará parecido ao que temos na figura abaixo:



E agora o código JavaScript completo para o exemplo, incluindo a página HTML:

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

<script type="text/javascript">
  // função que permite gravar um cookie
  function gravarCookie(nome, valor, diasDuracao){
    var dataExpiracao = new Date();
    dataExpiracao.setTime(dataExpiracao.getTime() 
      + (diasDuracao * 24 * 3600 * 1000));
    document.cookie = nome + "=" + escape(valor) +
      ((diasDuracao == null) ? "" : "; expires=" + dataExpiracao);
  }
   
  // função quer permite obter um cookie
  function obterCookie(nome){    
    if(document.cookie.length > 0){
      var c_start = document.cookie.indexOf(nome + "=");
      if(c_start != -1){ 
        c_start = c_start + nome.length + 1; 
        c_end = document.cookie.indexOf(";", c_start);
        
        if(c_end == -1){
          c_end = document.cookie.length;
        }
        
        return unescape(document.cookie.substring(
          c_start, c_end));
      } 
    }
    return null;
  }
</script>

</head>
<body>
  
</HEAD>
<BODY>
 
<script type="text/javascript">
  // verifica se o visitante já esteve aqui
  var vezes = obterCookie('visitas');
  if(vezes != null){
    document.write("<h1>Esta é a sua " + vezes + "ª visita.</h1>");
    gravarCookie("visitas", ++vezes, 30);
  }
  else{ // é a primeira vez. grave a visita
    // grava um cookie que durará 30 dias
    gravarCookie("visitas", 1, 30); 
    document.write("<h1>Esta é a sua primeira visita ao site</h1>");
  }
</script>
 
</body>
</html>



Revit C# ::: Dicas & Truques ::: Revit C# Windows Forms

Como criar um formulário Windows Forms a partir do Revit C#

Quantidade de visualizações: 1354 vezes
Nesta dica mostrarei os passos necessários para se criar uma aplicação Revit C# contendo uma formulário Windows Forms. O objetivo é demonstrar como o usuário pode interagir com os elementos do formulário para acessar e manipular objetos do Revit a partir de códigos C#.

Antes de continuarmos, veja a janela Windows Forms que criamos logo abaixo:



Veja que temos um formulário contendo 6 Labels e 6 TextBox contendo as coordenadas inicias e finais de uma linha geométrica usada para criar um novo eixo na área de desenho do Revit. Ao informar as coordenadas e clicar o botão Desenhar Eixo, um novo objeto da classe Grid da Revit API é criado e desenhado no documento atual.

Este código é muito útil para iniciantes em programação Revit C# porque mostra como acessar o documento ativo usando ActiveUIDocument e em seguida passar este objeto para uma outra classe C#. De posse deste objeto nós podemos realizar várias tarefas, entre elas criar uma nova linha geométrica usando Line.CreateBound() e, em seguida, criar um novo Grid usando Grid.Create().

Veja o código completo para uma macro chamada Estudos do tipo Aplicativo. Se tiver dificuldades para executar, chama a gente nos contatos na parte superior do site que teremos prazer em ajudá-lo.

Eis a listagem do código C#:

using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

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) {
      JanelaPrincipal janela = new JanelaPrincipal();
      janela.uidoc = this.ActiveUIDocument;
      janela.ShowDialog();
    }

    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
  }
  
  // classe para representar o formulário
  public class JanelaPrincipal : System.Windows.Forms.Form {
    public UIDocument uidoc;
    public System.Windows.Forms.TextBox txtX0;
    public System.Windows.Forms.TextBox txtY0;    
    public System.Windows.Forms.TextBox txtZ0;
    public System.Windows.Forms.TextBox txtX1;
    public System.Windows.Forms.TextBox txtY1;    
    public System.Windows.Forms.TextBox txtZ1;
    
    // construtor da classe
    public JanelaPrincipal() {
      this.Text = "Meu Formulário Revit C# Windows Forms"; // título da janela 
      this.Width = 390; // largura da janela
      this.Height = 240; // altura da janela
      // define a posição atual da janela
      this.StartPosition = FormStartPosition.CenterScreen;
      
      // vamos criar quatro labels e quatro caixas de texto
      Label label1 = new Label();
      label1.Text = "X Inicial:";
      label1.Location = new System.Drawing.Point(20, 20);
      label1.Height = 15;
      label1.Width = 80;

      Label label2 = new Label();
      label2.Text = "Y Inicial:";
      label2.Location = new System.Drawing.Point(120, 20);
      label2.Height = 15;
      label2.Width = 80;
      
      Label label3 = new Label();
      label3.Text = "Z Inicial:";
      label3.Location = new System.Drawing.Point(220, 20);
      label3.Height = 15;
      label3.Width = 80;
      
      txtX0 = new System.Windows.Forms.TextBox();   
      txtX0.Location = new System.Drawing.Point(20, 40);
      txtX0.Width = 80;
      txtX0.Height = 15;
      
      txtY0 = new System.Windows.Forms.TextBox();   
      txtY0.Location = new System.Drawing.Point(120, 40);
      txtY0.Width = 80;
      txtY0.Height = 15;
      
      txtZ0 = new System.Windows.Forms.TextBox();   
      txtZ0.Location = new System.Drawing.Point(220, 40);
      txtZ0.Width = 80;
      txtZ0.Height = 15;
      
      Label label4 = new Label();
      label4.Text = "X Final:";
      label4.Location = new System.Drawing.Point(20, 80);
      label4.Height = 15;
      label4.Width = 80;

      Label label5 = new Label();
      label5.Text = "Y Final:";
      label5.Location = new System.Drawing.Point(120, 80);
      label5.Height = 15;
      label5.Width = 80;
      
      Label label6 = new Label();
      label6.Text = "Z Final:";
      label6.Location = new System.Drawing.Point(220, 80);
      label6.Height = 15;
      label6.Width = 80;
      
      txtX1 = new System.Windows.Forms.TextBox();   
      txtX1.Location = new System.Drawing.Point(20, 97);
      txtX1.Width = 80;
      txtX1.Height = 15;
      
      txtY1 = new System.Windows.Forms.TextBox();   
      txtY1.Location = new System.Drawing.Point(120, 97);
      txtY1.Width = 80;
      txtY1.Height = 15;
      
      txtZ1 = new System.Windows.Forms.TextBox();   
      txtZ1.Location = new System.Drawing.Point(220, 97);
      txtZ1.Width = 80;
      txtZ1.Height = 15;
      
      // botão que desenha o eixo nas coordenadas indicadas      
      Button button1 = new Button();
      button1.Text = "Desenhar Eixo";
      button1.Location = new System.Drawing.Point(95, 160);
      button1.Width = 150;
      button1.Click += new System.EventHandler(DesenharEixo);
                
      // botão que fecha a janela      
      Button button2 = new Button();
      button2.Text = "Fechar";
      button2.Location = new System.Drawing.Point(265, 160);
      button2.Width = 80;
      button2.Click += new System.EventHandler(FecharJanela);
      
      // adiciona os controles à janela
      this.Controls.Add(label1);
      this.Controls.Add(label2);
      this.Controls.Add(label3);
      this.Controls.Add(label4);
      this.Controls.Add(label5);
      this.Controls.Add(label6);
      this.Controls.Add(txtX0);
      this.Controls.Add(txtY0);
      this.Controls.Add(txtZ0);
      this.Controls.Add(txtX1);
      this.Controls.Add(txtY1);
      this.Controls.Add(txtZ1);
      this.Controls.Add(button1);
      this.Controls.Add(button2);
    }
    
    // função usada para desenhar um novo eixo no documento atual
    private void DesenharEixo(object sender, System.EventArgs e) {
      // primeiro obtemos uma referência ao documento atual
      Document doc = uidoc.Document;
			
      // criamos a linha geométrica para posicionar o eixo 	
      XYZ inicio = new XYZ(Double.Parse(txtX0.Text), Double.Parse(txtY0.Text),
        Double.Parse(txtZ0.Text));
      XYZ final = new XYZ(Double.Parse(txtX1.Text), Double.Parse(txtY1.Text),
        Double.Parse(txtZ1.Text));
     
      // construímos a linha
      Line linhaGeometrica = Line.CreateBound(inicio, final);

      // iniciamos uma nova transação
      using(Transaction t= new Transaction(doc)) {
	t.Start("Criar um novo Grid");
	Grid grid = Grid.Create(doc, linhaGeometrica);
	t.Commit();
      }
    }
    
    // função usada para fechar a janela
    private void FecharJanela(object sender, System.EventArgs e) {
      this.Close();  
    }
  }
}

Não se esqueça de adicionar referências a System.Windows.Forms e System.Drawing. Basta, dentro do SharpDevelop, ir no menu Projeto -> Adicionar Referência.


LISP ::: Desafios e Lista de Exercícios Resolvidos ::: Lisp Básico

Exercícios Resolvidos de Lisp - Como somar dois números em Lisp - Escreva um programa Lisp que leia dois números e mostre a sua soma

Quantidade de visualizações: 2131 vezes
Exercício Resolvido de Lisp - Como somar dois números em Lisp - Escreva um programa Lisp que leia dois números e mostre a sua soma

Pergunta/Tarefa:

Escreva um programa Common Lisp que solicita ao usuário dois números inteiros e mostre a sua soma.

Sua saída deverá ser parecida com:

Informe o primeiro valor: 2
Informe o segundo valor: 8
A soma é 10
Resposta/Solução:

Veja a resolução completa para o exercício em Common Lisp usando o compilador Steel Bank Common Lisp (SBCL), comentada linha a linha:

; Vamos definir as variáveis que vamos
; usar no programa
(defvar n1)
(defvar n2)
(defvar soma)

; Este o programa principal
(defun Soma()
  ; Vamos ler o primeiro valor
  (princ "Informe o primeiro valor: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  (setq n1 (read))
  ; Vamos ler o segundo valor
  (princ "Informe o segundo valor: ")
  ; talvez o seu compilador não precise disso
  (force-output)
  (setq n2 (read))
  
  ; Agora vamos efetuar a soma dos dois números
  (setq soma (+ n1 n2))
  
  ; E mostramos o resultado
  (format t "A soma é ~D" soma)
)

; Auto-executa a função Soma()
(Soma)



VB.NET ::: Dicas & Truques ::: Matemática e Estatística

Como resolver uma equação do segundo grau em VB.NET - Como calcular Bhaskara em VB.NET

Quantidade de visualizações: 977 vezes
Como resolver uma equação do 2º grau usando VB.NET

Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem VB.NET.

Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a &#8800; 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita.

Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0.

Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente.

Como resolver uma equação do 2º grau

Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns:

a) Fórmula de Bhaskara;
b) Soma e produto.

O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa.

Como resolver uma equação do 2º grau usando Bhaskara

Como nosso código VB.NET vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja:

\[\Delta =b^2-4ac\]

Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades:

a) Se determinante > 0, então a equação possui duas soluções reais.
b) Se determinante = 0, então a equação possui uma única solução real.
c) Se determinante < 0, então a equação não possui solução real.

Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara:

\[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\]

Vamos agora ao código VB.NET. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:

Imports System

Module Program
  Sub Main(args As String())
    ' os coeficientes
    Dim a, b, c As Double
    ' as duas raizes, a imaginaria e o discriminante
    Dim raiz1, raiz2, imaginaria, discriminante As Double

    ' vamos pedir para o usuário informar os valores dos coeficientes
    Console.Write("Valor do coeficiente a: ")
    a = Double.Parse(Console.ReadLine())
    Console.Write("Valor do coeficiente b: ")
    b = Double.Parse(Console.ReadLine())
    Console.Write("Valor do coeficiente c: ")
    c = Double.Parse(Console.ReadLine())

    ' vamos calcular o discriminante
    discriminante = (b * b) - (4 * a * c)

    ' a equação possui duas soluções reais?
    If discriminante > 0 Then
      raiz1 = (-b + Math.Sqrt(discriminante)) / (2 * a)
      raiz2 = (-b - Math.Sqrt(discriminante)) / (2 * a)
      Console.Write("Existem duas raizes: x1 = " & raiz1 _
        & " e x2 = " & raiz2)
    ElseIf discriminante = 0 Then
      ' a equação possui uma única solução real?
      raiz1 = raiz2 = -b / (2 * a)
      Console.Write("Existem duas raizes iguais: x1 = " _
        & raiz1 & " e x2 = " & raiz2)
    ElseIf discriminante < 0 Then
      ' a equação não possui solução real?
      raiz1 = raiz2 = -b / (2 * a)
      imaginaria = Math.Sqrt(-discriminante) / (2 * a)
      Console.Write("Existem duas raízes complexas: x1 = " &
        raiz1 & " + " & imaginaria & " e x2 = " & raiz2 _
        & " - " & imaginaria)
    End If

    Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...")
    ' pausa o programa
    Console.ReadKey()
  End Sub
End Module

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

Valor do coeficiente a: 1
Valor do coeficiente b: 2
Valor do coeficiente c: -3
Existem duas raizes: x1 = 1 e x2 = -3


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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