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 Ética e Legislação Profissional
Card 1 de 8
Noções de licitação pública

Modalidades da licitação:

Convite é a modalidade dirigida para interessados do ramo do objeto da licitação e é adequado para contratações de menor valor. Na Lei n.º 14.133/2021, essa modalidade foi extinta.

Leilão é a modalidade para a venda de bens móveis que não servem mais para a administração pública, a venda de produtos legalmente apreendidos ou penhorados e para a alienação de imóveis da administração pública.

Concurso é a modalidade indicada para a escolha de um trabalho técnico, artístico ou científico.

Pregão é a modalidade de licitação para aquisição de bens e serviços comuns. No artigo 1º, parágrafo único, da Lei n.º 10.520/2002, consta que bens e serviços comuns são "aqueles cujos padrões de desempenho e qualidade possam ser objetivamente definidos pelo edital, por meio de especificações usuais no mercado". Isso significa que são bens e serviços que não têm características técnicas especiais, sendo facilmente encontrados no mercado. O pregão também foi previsto na nova lei de licitações, no artigo 28, i.

Concorrência é a modalidade indicada para contratações de grandes valores, em que o interessado precisa comprovar a qualificação exigida no edital.

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 ::: Classes e Componentes ::: JTable

Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java Swing

Quantidade de visualizações: 15819 vezes
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula.

Veja o resultado da figura abaixo:



E aqui está o código Java Swing completo para o exemplo:

package arquivodecodigos;

import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");
         
    // colunas da tabela
    String[] colunas = {"Nome", "Idade", "Sexo"};
         
    // conteúdo da tabela   
    Object[][] conteudo = {
        {"Osmar J. Silva", "32", "Masculino"},
        {"Maria Clara Gomes", "19", "Feminino"},
        {"Fernando Gomes", "15", "Masculino"},
        {"Carlos Vieira", "40", "Masculino"}
    };
         
    // constrói a tabela
    JTable tabela = new JTable(conteudo, colunas);
     
    // quero exibir imagens ao lado do texto da primeira coluna
    TableCellRenderer tcr = new Imagem();
    TableColumn column = tabela.getColumnModel().getColumn(0);
    column.setCellRenderer(tcr);
  
    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout());
             
    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);
         
    setSize(400, 300);
    setVisible(true);
  }
     
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
 
class Imagem extends JLabel implements TableCellRenderer{
  public Imagem(){
    setOpaque(true);
  }
   
  public Component getTableCellRendererComponent(JTable table, 
     Object value, boolean isSelected, boolean hasFocus, int row, 
     int column){
     
     Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif");
     // certifique-se da existencia da imagem "icon.gif" antes de executar
     
     if(isSelected)
       setBackground(table.getSelectionBackground());
     else
       setBackground(table.getBackground());        
      
     setIcon(imagem);
     setText(value.toString());
         
     return this;       
  }
   
  public void validate() {}
  public void revalidate() {}
  protected void firePropertyChange(String propertyName, 
    Object oldValue, Object newValue) {}
  public void firePropertyChange(String propertyName, 
    boolean oldValue, boolean newValue) {}  
}



C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados long ou long int da linguagem C++

Quantidade de visualizações: 23247 vezes
O tipo de dados long (também chamado de long int) da linguagem C++ é uma variação do tipo int e geralmente possui a mesma capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, assim como int. É importante verificar se o seu compilador trata int e long da mesma forma. Veja um trecho de código demonstrando o uso deste tipo (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // declara uma variável do tipo long
  long quant = 590;

  cout << "Quantidade: " << quant << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Veja que a maioria dos compiladores C++ não faz distinção entre os tipos long e long int. A capacidade de armazenamento do tipo long depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos LONG_MIN e LONG_MAX, definidos no header climits (limits.h). Veja:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Valor mínimo: " << LONG_MIN << "\n";
  cout << "Valor máximo: " << LONG_MAX << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este programa você terá um resultado parecido com:

Valor mínimo: -2147483648
Valor máximo: 2147483647

Veja que o tipo long aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  long soma = LONG_MAX + 2;

  cout << "Resultado: " << soma << "\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Este programa exibirá o seguinte resultado:

Resultado: -2147483647

Note que este não é o resultado esperado, visto que LONG_MAX + 2 deveria retornar:

2147483647 + 2 = 2147483649

Porém, como o valor máximo que pode ser armazenado em um long é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui.

Em termos de bytes, é comum o tipo long ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo long:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Tamanho de um long: " << sizeof(long)
    << " bytes\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

O resultado da execução deste código será algo como:

Tamanho de um long: 4 bytes



JavaScript ::: Dicas & Truques ::: Set (Conjunto)

Como usar objetos Set em seus códigos JavaScript

Quantidade de visualizações: 1687 vezes
Os objetos Set, introduzidos no JavaScript na revisão ECMAScript 2015, também chamada de ES6 e ECMAScript 6, trazem para a linguagem a noção de conjuntos.

Um conjunto é uma coleção de valores únicos, ou seja, cada valor pode aparecer somente uma vez. Dessa forma, objetos Set do JavaScript obedecem esta regra e podem armazenar todos os tipos de dados, desde os tipos primitivos númericos até objetos de classes definidas pelo usuário.

Nesta dica veremos como adicionar elementos a um Set e depois percorrer o seu conteúdo e exibir todos os seus valores. Veja o código a seguir:

<!doctype html>
<html>
<head>
  <title>O método setInterval() do JavaScript</title>
</head>
  
<body>

<script type="text/javascript">
  // vamos criar um novo conjunto
  var linguagens = new Set();
  
  // vamos adicioar 4 linguagens
  linguagens.add("Java");
  linguagens.add("PHP");
  linguagens.add("C++");
  linguagens.add("Python");
  
  // vamos percorrer os elementos do conjunto
  for(var linguagem of linguagens){
    document.writeln(linguagem + "<br>");
  }
</script>
  
</body>
</html>

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

Java
PHP
C++
Python

Em mais dicas dessa seção você aprenderá mais sobre os métodos e propriedades do objeto Set da linguagem JavaScript.


Java ::: Classes, Controles e Componentes ::: JSplitPane

Java Swing - Como usar a classe JSplitPane para dividir o espaço ocupado pelos componentes de suas aplicações Java Swing

Quantidade de visualizações: 11293 vezes
A classe JSplitPane é usada quando precisamos controlar o espaço ocupado por dois ou mais componentes. Objetos desta classe podem ser redimensionados, de modo a aumentar ou diminuir a área ocupada por um dos componentes. Veja a posição desta classe na hierarquia de classes Java:

java.lang.Object
  java.awt.Component
    java.awt.Container
      javax.swing.JComponent
        javax.swing.JSplitPane
Esta classe implementa as interfaces ImageObserver, MenuContainer, Serializable e Accessible.

No trecho de código abaixo você verá como é possível dividir a área ocupada por duas áreas de texto (JTextArea). Execute a aplicação e experimente aumentar ou diminuir o espaço ocupado pelos componentes:

import javax.swing.*;
import java.awt.*;
 
public class Estudos extends JFrame{
  public Estudos(){
    super("Como usar a classe JSplitPane");
 
    // primeira área de texto
    JTextArea textArea1 = new JTextArea(5, 30);
    textArea1.setText("Sou a área de texto 1.");
    JScrollPane sPane1 = new JScrollPane(textArea1);    
 
    // segunda área de texto
    JTextArea textArea2 = new JTextArea(5, 30);
    textArea2.setText("Sou a área de texto 2.");    
    JScrollPane sPane2 = new JScrollPane(textArea2);
 
    // Cria o JSplitPane
    JSplitPane splitPane = new JSplitPane(
      JSplitPane.HORIZONTAL_SPLIT, sPane1, sPane2);
 
    add(splitPane, BorderLayout.CENTER);
 
    setSize(300, 150);
    setVisible(true);    
  }
 
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

Ao executar esta aplicação Java Swing nós teremos o seguinte resultado:




Delphi ::: Dicas & Truques ::: Data e Hora

Como retornar a hora atual em Delphi usando as funções Time(), GetTime() e TimeToStr()

Quantidade de visualizações: 20331 vezes
Como retornar a hora atual em Delphi usando as funções Time(), GetTime() e TimeToStr()

Em algumas situações precisamos obter a hora atual (apenas a hora, desconsiderando a data) do sistema. Em Delphi isso pode ser feito com o auxílio da função Time(), presente na unit SysUtils. Esta função não requer nenhum argumento e retorna a hora atual como um TDateTime. Veja o exemplo:

procedure TForm1.Button1Click(Sender: TObject);
var
  hora: TDateTime;
begin
  // vamos obter a hora atual
  hora := Time();

  // podemos também usar a função GetTime()
  //hora := GetTime();

  // vamos exibir o resultado
  ShowMessage(TimeToStr(hora));
end;

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

15:17:17

Note que podemos também obter a hora atual (sem a data) usando a função GetTime(), também na unit SysUtils.

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