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 ::: Dicas & Truques ::: MIDI Musical Instrument Digital Interface, Mapeamento e sequenciamento MIDI, Entrada e saída MIDI

Java para músicos - Como escrever um MIDI Player em Java (código bem simples e fácil de entender)

Quantidade de visualizações: 14600 vezes
Nesta dica apresento uma aplicação completa para um MIDI Player em Java. Trata-se de uma aplicação console que você pode estudar e implementar a mesma idéia em Java Swing ou JavaFX. Para executar o código abaixo, você só precisa definir o caminho e nome de um arquivo MIDI (extensão .mid).

Veja o código completo e divirta-se:

package arquivodecodigos;

import javax.sound.midi.*;
import java.io.*;
 
public class Estudos{
  public static void main(String args[]) {
    // nome do arquivo MIDI
    String arquivo = "amazing_grace.mid";
    
    if(!arquivo.endsWith(".mid")) {
      System.out.println("Este não parece ser um arquivo MIDI válido.");
      System.exit(1);
    }
    File midiFile = new File(arquivo);
    if(!midiFile.exists() || midiFile.isDirectory() || 
        !midiFile.canRead()) {
      System.out.println("Não foi possível acessar o arquivo indicado.");
      System.exit(1);
    }
     
    try{
      Sequencer seq = MidiSystem.getSequencer();
      seq.setSequence(MidiSystem.getSequence(midiFile));
      seq.open();
      seq.start();
       
      while(true){
        if(seq.isRunning()){
          try{
            Thread.sleep(1000);
          } 
          catch(InterruptedException ignore){
            break;
          }
        } 
        else{
          break;
        }
      }
       
      seq.stop();
      seq.close();
    } 
    catch(MidiUnavailableException mue){
      System.out.println("Dispositivo de MIDI indisponível");
    }
    catch(InvalidMidiDataException imde){
      System.out.println("Dados MIDI Inválidos");
    } 
    catch(IOException ioe){
      System.out.println("Erro de I/O");
    } 
  }  
}



JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como remover os espaços no final de uma string em JavaScript usando uma função trim_final() personalizada

Quantidade de visualizações: 2 vezes
Há muitos anos eu precisava remover espaços no final de uma string em JavaScript e percebi que o objeto String, na época, não oferecia a função trim(). Não me restou opção a não ser sentar e escrever o código na mão mesmo. Hoje em dia não precisamos mais dele, mas fica aí para que você entenda a lógica empregada na resolução do problema.

Veja a página HTML completa com o exemplo:

<!doctype html>
<html>
<head>
  <title>Strings em JavaScript</title>
</head>
<body>

<script type="text/javascript">
  // função personalizada que remove os espaços
  // no final de uma string
  function trim_final(string){
    // primeiro definimos o código do espaço
    var espaco = String.fromCharCode(32);
    // obtemos o tamanho da string
    var tamanho = string.length;
    // e criamos uma string temporária
    var temp = "";
    
    // a string está vazia?
    if(tamanho < 0){
      return "";
    }
  
    // uma variável temporária para percorrermos
    // a string de trás para frente
    var temp2 = tamanho - 1;
    while(temp2 > -1){
      if(string.charAt(temp2) == espaco){
        // não faz nada
      }
      else{
        temp = string.substring(0, temp2 + 1);
        break;
      }
      
      // decrementamos a variável temp2
      temp2--;
    }
    
    return temp;
  }
  
  // vamos testar a função trim_final()
  var frase = "Gosto muito de JavaScript   ";
  document.write("Com espaços no final: " + 
    frase + "#" + "<br>");
	
  // vamos remover os espaços no final da string
  frase = trim_final(frase);
  document.write("Sem espaços no final: " + 
    frase + "#" + "<br>");  
</script>
  
</body>
</html>

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

Com espaços no final: Gosto muito de JavaScript #
Sem espaços no final: Gosto muito de JavaScript#


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posição

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

Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posição do maior número inteiro. Você deverá informar tanto a linha quanto a coluna que o maior valor é encontrado.

Uma matriz bidimensional 2 x 4 quer dizer que a matriz possui 2 linhas e 4 colunas.

Seu programa Java deverá exibir uma saída parecida com:

Valor da linha 1 e coluna 1: 6
Valor da linha 1 e coluna 2: 9
Valor da linha 1 e coluna 3: 11
Valor da linha 1 e coluna 4: 5

Valor da linha 2 e coluna 1: 20
Valor da linha 2 e coluna 2: 63
Valor da linha 2 e coluna 3: 31
Valor da linha 2 e coluna 4: 7


Valores na matriz

    6    9   11    5
   20   63   31    7

O maior valor é 63
Ele foi encontrado na linha 2 e coluna 2
Resposta/Solução:

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

package estudos;

import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // variaveis usdas na resolução do problema
    int matriz[][] = new int[2][4];
    int maior_valor, linha, coluna;
    
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler os valores e colocar na matriz
    for(int i = 0; i < matriz.length; i++){ // linhas
      for(int j = 0; j < matriz[0].length; j++){ // colunas
        System.out.print("Valor da linha " + (i + 1) + " e coluna " 
          + (j + 1) + ": ");
        matriz[i][j] = Integer.parseInt(entrada.nextLine());       
      }        
      System.out.println();
    }
    
    // vamos mostrar a matriz da forma que ela foi informada
    System.out.println("\nValores na matriz\n");
      
    for(int i = 0; i < matriz.length; i++){ // linhas
      for(int j = 0; j < matriz[0].length; j++){ // colunas
        System.out.printf("%5d", matriz[i][j]);   
      }
      
      // passa para a próxima linha da matriz
      System.out.println();       
    }
    
    // agora vamos localizar o maior valor na matriz
    linha = 0;
    coluna = 0;
    maior_valor = matriz[linha][coluna];
    for(int i = 0; i < matriz.length; i++){ // linhas
      for(int j = 0; j < matriz[0].length; j++){ // colunas
        if(matriz[i][j] > maior_valor){
          maior_valor = matriz[i][j];
          linha = i + 1;
          coluna = j + 1;
        }
      }
    }
    
    // vamos mostrar o resultado
    System.out.println("\nO maior valor é " + maior_valor);
    System.out.println("Ele foi encontrado na linha " + linha +
      " e coluna " + coluna);
  }
}



Python ::: Dicas & Truques ::: Matemática e Estatística

Como calcular desvio padrão em Python - Python para Matemática e Estatística

Quantidade de visualizações: 5600 vezes
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média.

Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística:

\[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\]

Onde:

a) __$\sigma__$ é o desvio;
b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i;
c) __$\mu__$ é a média aritmética dos valores do conjunto de dados;
d) N é a quantidade de valores no conjunto.

O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto.

Veja o código Python completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores:

# precisamos importar o módulo Math
import math

# função principal do programa
def main():
  # conjunto dos dados
  conjunto = [10, 30, 90, 30]
  soma = 0.0 # soma dos elementos
  desvio_padrao = 0.0 # desvio padrão
  tam = len(conjunto) # tamanho dos dados

  # vamos somar todos os elementos
  for i in range(0, tam):
    soma = soma + conjunto[i]
  
  # agora obtemos a média do conjunto de dados    
  media = soma / tam

  # e finalmente obtemos o desvio padrão
  for i in range(0, tam):
    desvio_padrao = desvio_padrao + math.pow(conjunto[i] - media, 2)
    
  # mostramos o resultado
  print("Desvio Padrão Populacional: {0}".format(math.sqrt(desvio_padrao / tam)))
  print("Desvio Padrão Amostral: {0}".format(math.sqrt(desvio_padrao / (tam - 1))))
  
if __name__== "__main__":
  main()

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

Desvio Padrão Populacional: 30.0
Desvio Padrão Amostral: 34.64101615137755

Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento).


Java ::: Dicas & Truques ::: Threads

Threads em Java - Como usar a interface Runnable da Java API em suas aplicações

Quantidade de visualizações: 18523 vezes
A interface pública Runnable deve ser implementada em nossas classes quando queremos que instâncias destas possam ser executadas por uma thread. Esta interface está no pacote java.lang e entre as classes que a implementam podemos citar AsyncBoxView.ChildState, FutureTask, RenderableImageProducer, Thread e TimerTask.

Esta interface apresenta apenas um método, a saber:

public void run();
Assim, uma classe que implementa Runnable deverá redefinir este método, sem argumentos, e fornecer a funcionalidade desejada.

Este interface foi idealizada para fornecer um protocolo comum para objetos que têm como objetivo executar determinadas porções de código enquanto ativos. Por exemplo, Runnable é implementada pela classe Thread. Estar ativa significa que uma thread foi iniciada e ainda não finalizou sua tarefa.

Além disso, a interface Runnable fornece meios para que uma classe esteja ativa sem fazer sub-classe de Thread. Uma classe que implementa Runnable pode ser executada sem fazer sub-classe de Thread criando-se uma instância de Thread e fornecendo tal classe como alvo. Na maioria dos casos, a interface Runnable deve ser usada se estivermos planejando apenas sobrescrever o método run() e nenhum outro método da classe Thread. Isso é importante, uma vez que não devemos extender classes a menos que tenhamos a intenção de modificar ou extender o comportamento fundamental da classe.

Veja uma aplicação na qual temos uma classe que implementa Runnable. Note como criamos instâncias de Thread e fornecemos nossa classe como alvo:

// criamos uma classe que servirá como thread
class MinhaThread implements Runnable{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread mt1 = new MinhaThread("Thread 1");
    Thread t1 = new Thread(mt1);
    t1.start();    

    MinhaThread mt2 = new MinhaThread("Thread 2");
    Thread t2 = new Thread(mt2);
    t2.start();

    System.exit(0);
  }
}



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