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:

Python ::: wxPython ::: Controles Visuais Básicos do wxPython

Como usar a função GetDefaultSize() para obter o tamanho padrão dos botões wx.Button em uma determinada plataforma e um determinado tamanho de fonte

Quantidade de visualizações: 6982 vezes
Quando estamos escrevendo interfaces wxPython para múltiplas plataformas, é interessante usar o método GetDefaultSize() para obter as dimensões padrão dos botões. Isso permite que o próprio sistema determine o tamanho dos botões baseado no tamanho da fonte usada.

Este método retorna um objeto da classe wx.Size e as dimensões podem ser obtidas com o auxílio das propriedades width (largura) e height (altura).

Veja um exemplo wxPython completo:

# vamos importar a biblioteca wxPython
import wx

class Janela(wx.Frame):
  def __init__(self):
    wx.Frame.__init__(self, None, -1, 
      "Usando wx.Button", size=(350, 200))
    
    # Cria um painel
    panel = wx.Panel(self)

    # Cria um botão e o adiciona no painel
    self.btn = wx.Button(panel, label="Clique Aqui", 
      pos=(10, 10), size=(100, 25))

    # Anexa um evento ao botão
    self.Bind(wx.EVT_BUTTON, self.OnBtnClick, self.btn)

  # Método que será chamado ao clicar o botão
  def OnBtnClick(self, event):
    # obtém o tamanho padrão dos botões
    # nesta plataforma
    dimensoes = self.btn.GetDefaultSize()

    dlg = wx.MessageDialog(None, u"A largura padrão é: " 
      + str(dimensoes.width) + u" pixels e a altura " +
      u"padrão é: " + str(dimensoes.height) + " pixels",
      "Usando wx.Button", wx.OK | wx.ICON_INFORMATION)
    result = dlg.ShowModal()
    dlg.Destroy()

if __name__ == "__main__":
  app = wx.App()
  janela = Janela()
  janela.Show(True)
  app.MainLoop()



Excel ::: Fórmulas do Excel ::: Matemática e Estatística

Como gerar números aleatórios inteiros entre 1 e 10 no Excel usando as funções ALEATÓRIO() e INT()

Quantidade de visualizações: 1261 vezes
A função ALEATÓRIO() do Excel pode ser usada quando queremos gerar um número randômico, ou seja, um número aleatório entre 0 e 1. Nesse caso o número gerado é um número real aleatório que inclue o 0 mas não inclui o 1.

No entanto, podemos usar um truque aritmético para gerar números aleatórios entre uma determinada faixa, por exemplo, de 1 até 10 (incluindo o 1 e o 10 na amostra).

Para gerar um número randômico inteiro na faixa de 1 até 10 combinando as funções ALEATÓRIO e INT, digite o conteúdo a seguir em uma célula ou na barra de fórmulas do Excel:

=INT(ALEATÓRIO()*(11-1)+1)

Pressione Enter ou Tab e você terá um resultado parecido com:

7

É importante observar que, sempre que chamamos a função ALEATÓRIO(), todas as células que estão usando a fórmula serão atualizadas. Para evitar isso, com o cursor na janela de fórmulas, pressione F9. Isso fará com que a fórmula seja convertida em valor final e este valor seja atribuído à célula desejada.


PostgreSQL ::: Dicas & Truques ::: Comandos DDL (Data Definition Language - Linguagem de Definição de Dados)

Como criar uma tabela no PostgreSQL usando o comando DDL CREATE TABLE

Quantidade de visualizações: 7414 vezes
O comando DDL CREATE TABLE do PostgreSQL é usado quando queremos criar uma nova tabela em uma determinada base de dados (e schema). Em geral criamos novas tabelas usando a ferramenta pgAdmin. No entanto, é importante conhecer e dominar este comando de forma a conseguirmos criar tabelas a partir da janela de Query do pgAdmin, do SQL Shell (psql) ou usando uma linguagem de programação.

O comando DDL CREATE TABLE contém uma série de cláusulas opcionais. Muitas delas são abordadas nas dicas desta seção. Apenas o nome da tabela a ser criada é obrigatório. Veja o comando CREATE TABLE a seguir:

CREATE TABLE produtos();

Este comando criará uma tabela vazia e sem nenhum campo no schema public da base de dados na qual estamos conectados no momento. É claro que uma tabela sem nenhum campo não possui nenhuma utilidade (a não ser que decidamos adicionar os campos mais tarde). Sendo assim, veja um comando CREATE TABLE que cria uma tabela chamada usuarios com os campos: id, nome, senha, data_cadastro:

CREATE TABLE usuarios(
  id serial NOT NULL,
  nome varchar(20) NOT NULL,
  senha varchar(20) NOT NULL,
  data_cadastro date NOT NULL,
  PRIMARY KEY (id)
);

Ao dispararmos o comando, o PostgreSQL nos exibirá a seguinte mensagem:

NOTA: CREATE TABLE criará sequência implícita "usuarios_id_seq" para coluna serial "usuarios.id"
NOTA: CREATE TABLE / PRIMARY KEY criará índice implícito "usuarios_pkey" na tabela "usuarios"
Query returned successfully with no result in 121 ms.

Isso é sinal de que a tabela foi criada com sucesso. Para verifirmos e exibirmos os dados da tabela recém-criada, podemos disparar o seguinte comando DML SELECT:

SELECT column_name, data_type, is_nullable, character_maximum_length 
FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'usuarios';

Como resultado teremos:

column_name    data_type           is_nullable   character_maximum_length
id             integer             NO     
nome           character varying   NO            20
senha          character varying   NO            20
data_cadastro  date                NO
Note que o campo id da tabela é do tipo auto-incremento de 4 bytes e foi marcado como chave-primária. Os campos nome e senha são varchar de 20 caracteres e o campo data_cadastro é do tipo date.

É importante termos em mente a mensagem de erro que o PostgreSQL exibirá quando tentamos criar uma tabela com um nome de uma já existente na mesma base de dados e schema:

NOTA:  CREATE TABLE criará sequência implícita "usuarios_id_seq1" 
para coluna serial "usuarios.id"
ERRO:  relação "usuarios" já existe

********** Error **********

ERRO: relação "usuarios" já existe
SQL state: 42P07
Para evitar este erro, o PostgreSQL nos fornece a cláusula IF NOT EXISTS. Esta cláusula faz com que o comando CREATE TABLE verifique antes se uma tabela com o mesmo nome já existe. Veja:

CREATE TABLE IF NOT EXISTS usuarios(
  id serial NOT NULL,
  nome varchar(20) NOT NULL,
  senha varchar(20) NOT NULL,
  data_cadastro date NOT NULL,
  PRIMARY KEY (id)
);

Agora o PostgreSQL trocará a mensagem de erro pela seguinte mensagem de advertência:

NOTA:  relação "usuarios" já existe, ignorando

Query returned successfully with no result in 14 ms.



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

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

Quantidade de visualizações: 1102 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 VisuAlg 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 VisuAlg:

algoritmo "Testar o tipo de um triângulo em VisuAlg"

var
  // variáveis usadas na resolução do problema
  lado_a, lado_b, lado_c: inteiro

inicio
  // vamos ler o primeiro lado do triângulo
  escreva("Informe o primeiro lado do triângulo: ")
  leia(lado_a)

  // vamos ler o segundo lado do triângulo
  escreva("Informe o segundo lado do triângulo: ")
  leia(lado_b)

  // vamos ler o terceiro lado do triângulo
  escreva("Informe o terceiro lado do triângulo: ")
  leia(lado_c)

  // os lados informados formam um triângulo?
  se ((lado_a < (lado_b + lado_c)) e (lado_b < (lado_a + lado_c)) e 
    (lado_c < (lado_a + lado_b))) entao
    // é um triângulo equilátero (todos os lados iguais)?
    se ((lado_a = lado_b) e (lado_b = lado_c)) entao
      escreval("O triângulo é equilátero")
    senao
      // é isósceles (dois lados iguais e um diferente)?
      se ((lado_a = lado_b) ou (lado_a = lado_c) ou (lado_c = lado_b)) entao
        escreval("O triângulo é isósceles")
      senao
        // é escaleno
        escreval("O triângulo é escaleno")
      fimse
    fimse
  senao
    escreval("Os lados informados não formam um triângulo.")
  fimse

fimalgoritmo



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

Exercícios Resolvidos de Java - Como inverter a ordem dos elementos de um array usando apenas uma variável temporária

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

Considere o seguinte trecho de código:

// declara, constrói e inicializa um array de 10 inteiros
int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
int temp;
Escreva um programa Java GUI ou console que inverta a ordem dos elementos do vetor valores usando apenas a variável temp, ou seja, não é permitido usar nenhum método disponível em classes Java. Sua saída deverá ser algo como:

Ordem inicial:

6   3   90   1   54   7   12   32   9   4   

Ordem invertida:

4   9   32   12   7   54   1   90   3   6
Resposta/Solução:

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

package estudos;

public class Estudos {
  public static void main(String[] args) {
    // declara, constrói e inicializa um array de 10 inteiros
    int valores[] = {6, 3, 90, 1, 54, 7, 12, 32, 9, 4};
    int temp;
    
    // vamos mostar a ordem inicial dos elementos no vetor
    System.out.print("Ordem inicial: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    // vamos inverter a ordem dos elementos no array
    int inicio = 0, fim = valores.length - 1;  
    while(inicio < fim){
      temp = valores[inicio];
      valores[inicio] = valores[fim];
      valores[fim] = temp;
      // incrementa e decrementa as variáveis de controle
      inicio++; 
      fim--;
    }
    
    // vamos mostar a ordem invertida dos elementos do vetor
    System.out.print("\nOrdem invertida: ");
    for(int i = 0; i < valores.length; i++){
      System.out.print(valores[i] + "   ");  
    }
    
    System.out.println();
  }
}



Mais Desafios de Programação e 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á 64 usuários muito felizes estudando em nosso site.