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

C# ::: C# + MySQL ::: MySqlCommand

Como gravar dados em uma tabela MySQL usando INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#

Quantidade de visualizações: 1595 vezes
Nesta dica mostrarei como inserir dados em uma tabela MySQL usando o comando SQL INSERT INTO e o comando ExecuteNonQuery() da classe MySqlCommand do C#. A tabela usada no exemplo contém os campos id, titulo, autor, paginas, data_cadastro. O campo id é auto-incremento e o campo data_cadastro é do tipo DATETIME. Por essa razão eu passei os valores NULL para o campo auto-incremento e o valor NOW() para o campo data_cadastro, de forma que a data e hora atual sejam gravadas.

Como se trata de uma operação INSERT, o método ExecuteNonQuery() retorna a quantidade de registros afetados pelo comando. No exemplo eu mostro como obter e exibir este valor.

Veja o código completo para o exemplo (incluindo a conexão com o banco de dados MySQL a partir do C#):

using System;
using System.Data;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace EstudosMySQL {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e) {
      // objeto de conexão
      MySqlConnection conn = null;

      // string de conexão
      string connStr = "server=localhost;user id=root; " +
        "password=osmar1234; database=estudos; pooling=false";

      try {
        conn = new MySqlConnection(connStr);
        conn.Open();

        if (conn.State == ConnectionState.Open) {
          // primeiro criamos um novo objeto MySqlCommand
          MySqlCommand comando = new MySqlCommand();
          // definimos a conexão para este comando
          comando.Connection = conn;

          // definimos o comando SQL a ser executado 
          comando.CommandText = "INSERT INTO livros (id, titulo, " + 
            autor, paginas, data_cadastro) " +
            "VALUES(NULL, 'JAVA PARA INICIANTES', " + 
            "'OSMAR J. SILVA', 740, NOW())";
          
          // e executamos o comando SQL
          int res = comando.ExecuteNonQuery();
          if (res > 0) {
            MessageBox.Show("Operação realizada com sucesso. " 
              + res + " linhas afetadas.");
          }
          else {
            MessageBox.Show("Deve ter acontecido alguma coisa. " 
              + res + " linhas afetadas.");
          }
        }
      }
      catch (MySqlException ex) {
        MessageBox.Show("Erro: " +
          ex.Message);
      }
    }
  }
}



Firebird ::: Dicas & Truques ::: Tipos de Dados

Como usar os tipos de dados DATE, TIME e TIMESTAMP do Firebird

Quantidade de visualizações: 31018 vezes
No dialeto 3 (SQL DIALECT 3), o tipo de dados DATE do Firebird armazena apenas a data sozinha, ou seja, sem as horas. Esta forma de guardar apenas a data resulta em uma ocupação de 4 bytes (32 bits) na memória. A data armazenada pode variar de 01/01/0001 até 31/12/9999.

No dialeto 1, (SQL DIALECT 1), o tipo DATE é o equivalente ao tipo TIMESTAMP do dialeto 3 (o tipo TIMESTAMP passou a existir somente a partir do dialeto 3).

Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo DATE:

CREATE TABLE ALUNOS (
  ID          INTEGER NOT NULL,
  NOME        VARCHAR(40) NOT NULL,
  NASCIMENTO  DATE NOT NULL
);

Aqui o campo ID é do tipo INTEGER, NOME é do tipo VARCHAR(40) e NASCIMENTO é do tipo DATE. Veja agora um comando DML INSERT INTO que insere um novo registro nesta tabela. Fique atento à forma como o valor da data é informado:

INSERT INTO ALUNOS VALUES(1, 'OSMAR J. SILVA', '1981-11-28');

Veja que a data, assim como o valor para o campo NOME, foi informada entre aspas simples e seguindo o formato YYYY-MM-DD, ou seja, o ano, mês e dia separados por hifens. Para obter os dados inseridos pela query anterior, podemos usar o seguinte comando DML SELECT FROM:

SELECT * FROM ALUNOS;

Esta query resulta na exibição dos seguintes dados:

ID  NOME	     NASCIMENTO
1   OSMAR J. SILVA   28/11/1981


O tipo de dados TIME, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar as horas, sem a data. Este tipo ocupa 4 bytes (32 bits) de memória e pode conter valores na faixa de 00:00 até 23:59:59.9999. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIME:

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  VARCHAR(80) NOT NULL,
  DATA       DATE NOT NULL,
  HORA       TIME NOT NULL
);

Veja que esta tabela possui 4 campos: ID do tipo INTEGER, DESCRICAO do tipo VARCHAR(80), DATA do tipo DATE e HORA do tipo TIME. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela:

INSERT INTO COMPROMISSOS VALUES(10, 'ALMOÇO COM A ESPOSA',
  '2010-12-10', '19:00:00');

Note que, assim como fazemos com campos do tipo DATE, os valores para campos do tipo TIME também devem ser informados entre aspas simples. Veja um comando DML SELECT FROM que lista o registro inserido na query anterior:

SELECT * FROM COMPROMISSOS;


Esta query produz o seguinte resultado:

ID  DESCRICAO	          DATA	        HORA
10  ALMOÇO COM A ESPOSA	  10/12/2010	19:00:00


O tipo TIMESTAMP, disponível apenas a partir do dialeto 3 (SQL DIALECT 3) nos permite armazenar a data e hora juntas. Este tipo ocupa 8 bytes (64 bits) de memória e é equivalente ao tipo DATE do dialeto 1. Veja um comando DDL CREATE TABLE que cria uma tabela do Firebird contendo um campo do tipo TIMESTAMP:

CREATE TABLE COMPROMISSOS (
  ID         INTEGER NOT NULL,
  DESCRICAO  VARCHAR(80) NOT NULL,
  DATA_HORA  TIMESTAMP NOT NULL
);

Veja que esta tabela possui três campos: ID é do tipo INTEGER, DESCRICAO é do tipo VARCHAR(80) e DATA_HORA é do tipo TIMESTAMP. Eis um comando DML INSERT INTO que mostra como inserir um registro nesta tabela:

INSERT INTO COMPROMISSOS VALUES(20, 'ALMOÇO COM A ESPOSA', 
  '2010-10-23 19:00:00');

Note que os valores para campos do tipo TIMESTAMP também devem ser informados entre aspas simples. Para finalizar, Veja um comando DML SELECT FROM que lista o registro inserido na query anterior:

SELECT * FROM COMPROMISSOS;

Esta query produz o seguinte resultado:

ID  DESCRICAO	          DATA_HORA
20  ALMOÇO COM A ESPOSA	  23/10/2010 19:00:00



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

Machine Learning para iniciantes - Como usar a biblioteca NumPy em seus programas Python

Quantidade de visualizações: 2664 vezes
Criada em 2005 por Travis Oliphant, a biblioteca NumPy é uma biblioteca Python que, embora escrita parcialmente em código Python, possui trechos de código C ou C++, principalmente as partes que requerem processamento ou computação mais veloz.

Estudiosos, entusiastas e desenvolvedores de soluções envolvendo Data Science, Deep Learning, Machine Learning e Inteligência Artificial (IA) em geral, encontram nessa biblioteca muitas funções úteis para a criação e manipulação de vetores e matrizes, além de funções para trabalhar no domínio de algebra linear e transformação fourier.

A biblioteca NumPy (Numerical Python) é um projeto open source e pode ser usada livremente em qualquer programa Python. Uma das razões para a sua adoção é a substituição das listas Python pelos vetores e matrizes NumPy, já que estes últimos são 50 vezes mais rápidas que as listas Python, que muitas vezes fazem o papel de arrays.

Minha instalação do Python já possui a biblioteca NumPy?

A melhor forma de descobrir se a NumPy já está disponível para os seus códigos Python é rodando o seguinte trecho de código:

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # construimos um vetor de cinco elementos
  vetor = np.array([20, 3, 87, 4, 120])
  # imprimimos seu conteúdo
  print(vetor)

if __name__== "__main__":
  main()

Se você vir o resultado abaixo:

[ 20   3  87   4 120]

então sua instalação do Python já contém a biblioteca NumPy e você está pronto(a) para experimentar as demais dicas e truques dessa seção.

Porém, se você ainda não tiver a NumPy, a seguinte mensagem de erro será exibida:

Exception has occurred: ModuleNotFoundError
No module named 'numpy'
  File "C:\estudos_python\estudos.py", line 2, in <module>
    import numpy as np

Não se desespere. Basta abrir uma janela de prompt e disparar o comando abaixo:

pip install numpy

Aguarde alguns minutos para que o Pip baixe e instale a biblioteca. Em seguida tente executar o código acima novamente.

Agora é só aproveitar tudo que a biblioteca NumPy tem a nos oferecer.


C# ::: Dicas & Truques ::: Arquivos e Diretórios

Apostila C# para iniciantes - Como listar todos os arquivos de um diretório usando C#

Quantidade de visualizações: 3 vezes
Nesta dica eu mostro como é possível usar o método GetFiles() da classe Directory para listar todos os arquivos de um determinado diretório. Note como usei o caractere "*" para informar o padrão de arquivos a serem exibidos.

Veja o código completo:

using System;
using System.IO;

namespace Estudos{
  class Program{
    static void Main(string[] args) {
      string diretorio = @"C:\estudos_dart";
      string padrao = "*";

      if (args.Length > 0) {
        diretorio = args[0];
      }
      if (args.Length > 1) {
        padrao = args[1];
      }

      string[] arquivos = Directory.GetFiles(diretorio,
        padrao);

      foreach (string arquivo in arquivos) {
        Console.WriteLine(arquivo);
      }
    }
  }
}

Ao executar este código nós teremos uma saída parecida com:

C:\estudos_dart\condicional_if_else.dart
C:\estudos_dart\DICA.txt
C:\estudos_dart\laco_do_while.dart
C:\estudos_dart\laco_for.dart
C:\estudos_dart\laco_while.dart
C:\estudos_dart\primeira.dart


Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Java Vetores e Matrizes - Como inicializar os elementos de um vetor usando o laço for da linguagem Java

Quantidade de visualizações: 10444 vezes
Neste exemplo veremos como inicializar um vetor (array) de ints usando o laço for. Note que os elementos do array serão inicializados com os valores de 1 a 10.

Veja o código completo:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // vamos declarar e construir um vetor de 10 elementos
    int[] a = new int[10];
 
    // inicializa os elementos do vetor
    for(int i = 0; i < a.length; i++){
      a[i] = (i + 1);
    }
     
    // exibe os valores dos elementos do vetor
    for(int i = 0; i < a.length; i++){
      System.out.print(a[i] + ", ");
    }
 
    System.exit(0);
  }
}

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

1, 2, 3, 4, 5, 6, 7, 8, 9, 10,


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