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 ::: Pacote java.lang ::: StringBuffer

Curso completo de Java - Como usar a classe StringBuffer da linguagem Java

Quantidade de visualizações: 9696 vezes
A classe StringBuffer, no pacote java.lang, representa uma sequencia de caracteres mutável e segura em relação a threads. Um objeto StringBuffer é parecido com uma String, com a diferença que um StringBuffer pode ser modificado in-place, ou seja, modificações em seu conteúdo não geram uma nova cópia, como acontece com objetos da classe String.

Veja a posição desta classe na hierarquia de classes Java:

java.lang.Object
  java.lang.StringBuffer
A classe StringBuffer implementa as interfaces Serializable, Appendable e CharSequence.

A qualquer momento um StringBuffer contém uma sequencia de caracteres em particular, mas o tamanho e o conteúdo da sequencia pode ser alterado por meio de certas chamadas de métodos.

Objetos StringBuffer são seguros para acesso em um ambiente de múltiplas threads. Os métodos são sincronizados (synchronized) onde necessário de forma a garantir que todas as operações em uma instância em particular se comportem como se estivessem em ordem serial, ou seja, sejam consistentes com a ordem das chamadas de métodos feitas por cada uma das threads envolvidas.

As operações principais de um StringBuffer são os métodos append() e insert(), que são sobrecarregados para aceitar dados de qualquer tipo. Cada um destes métodos converte a informação fornecida em string e então acrescenta ou insere os caracteres desta string no string buffer. O método append() sempre adiciona os caracteres no final do buffer. O método insert(), por sua vez, adiciona os caracteres em um determinado ponto.

Por exemplo, se z se refere a um objeto string buffer cujo conteúdo é "start", então a chamada de método z.append("le") faria com que o string buffer tivesse agora ""startle"", enquanto z.insert(4, "le") alteraria o conteúdo do string buffer para "starlet".

Em geral, se sb se refere a uma instância de StringBuffer, então sb.append(x) tem o mesmo efeito que sb.insert(sb.length(), x).

Sempre que uma operação ocorre envolvendo uma sequencia de fonte (por exemplo, adicionar ou inserir a partir de uma outra sequencia), esta classe sincroniza somente o string buffer no qual a operação está sendo feita.

Todo string buffer possui uma capacidade (capacity). Enquanto o comprimento da sequencia de caracteres contida no string buffer não exceder a capacidade do mesmo, não há necessidade de alocar uma nova matriz interna de buffer. Se o buffer interno for sobrecarregado, ele será automaticamente expandido. A partir do Java 5, esta classe foi suplementada com uma classe equivalente criada para o uso em ambiente de thread única: StringBuilder. A classe StringBuilder deve ser usada em vez de StringBuffer, uma vez que ela suporta as mesmas operações mas é mais rápida por não executar sincronização.


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

Como calcular porcentagem em VisuAlg - Como efetuar cálculos de porcentagem em VisuAlg

Quantidade de visualizações: 3131 vezes
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em VisuAlg.

Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas.

Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor, percentual, valor_final: real

inicio
  valor <- 178.00 // valor original
  percentual <- 15.0 / 100.0 // 15%
  valor_final <- valor + (percentual * valor)

  // mostra o resultado
  escreva("O valor final do produto é: ", valor_final)

  // O resultado será 204,70

fimalgoritmo

Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor, percentual, valor_final: real

inicio
  valor <- 250.00; // valor original
  percentual <- 8.0 / 100.0 // 8%
  valor_final <- valor - (percentual * valor)

  // mostra o resultado
  escreva("O valor final do produto é: ", valor_final)

  // O resultado será 230,00

fimalgoritmo

Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  perguntas, acertos: real

inicio
  perguntas <- 90.0
  acertos <- 72.0

  // mostra a porcentagem de acertos
  escreva("Porcentagem de acertos: ")
  escreval(((acertos / perguntas) * 100), "%")

  // mostra a porcentagem de erros
  escreva("Porcentagem de erros: ")
  escreval((((perguntas - acertos) / perguntas) * 100), "%")

  // Os resultados serão 80% e 20%

fimalgoritmo

Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor_anterior, novo_valor, porcentagem_lucro: real

inicio
  valor_anterior <- 300.0 // valor anterior
  novo_valor <- 340.0 // valor novo

  // calcula a porcentagem de lucro
  // efetua o cálculo
  porcentagem_lucro <- ((novo_valor * 100) / valor_anterior) - 100

  escreva("A porcentagem de lucro foi de: ", porcentagem_lucro, "%")

  // O resultado será 13,33

fimalgoritmo

Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em VisuAlg:

algoritmo "Algoritmo que calcula porcentagem"

var
  // variáveis usadas na resolução do problema
  valor, percentual, comissao: real

inicio
  valor <- 70.0 // valor do produto
  percentual <- 5.0 / 100.0 // 5%

  // calcula a comissão
  comissao <- percentual * valor

  // mostra o resultado
  escreva("O valor repassado ao vendedor é: ", comissao)

  // O resultado será 3,5

fimalgoritmo



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

Exercício Resolvido de Java - Como calcular o restante de um salário após o pagamento de duas contas com juros

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

Cintia acaba de receber seu salário mas precisa pagar duas contas atrasadas. Por causa do atraso, ela deverá pagar multa de 2% sobre cada conta. Faça um programa que leia o valor do salário e das duas contas e que calcule e mostre quanto restará do salário de Cintia.

Sua saída deverá ser parecida com:

Informe o salário: 1350
Valor da primeira conta: 140
Valor da segunda conta: 300

Total das contas sem juros: 440.0
Total dos juros: 8.8
Total das contas com juros: 448.8
Sobra do salário: 901.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) {
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);  
    
    // vamos pedir que o usuário informe o valor do salário e das duas contas
    System.out.print("Informe o salário: ");
    double salario = Double.parseDouble(entrada.nextLine());
    System.out.print("Valor da primeira conta: ");
    double conta1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Valor da segunda conta: ");
    double conta2 = Double.parseDouble(entrada.nextLine());
    
    // total a ser pago nas duas contas sem os juros
    double totalContas = conta1 + conta2;
    // calcula os juros
    double totalJuros = totalContas * 0.02;
    // total a ser pago com juros
    double totalContasComJuros = totalContas + totalJuros;
    // sobra do salário
    double sobraSalario = salario - totalContasComJuros;
    
    // mostra os resultados
    System.out.println("\nTotal das contas sem juros: " + totalContas);
    System.out.println("Total dos juros: " + totalJuros);
    System.out.println("Total das contas com juros: " + totalContasComJuros);
    System.out.println("Sobra do salário: " + sobraSalario);
    
    System.out.println("\n");
  }
}



Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout

Como posicionar os componentes nas linhas e colunas de um GridBagLayout do Java Swing usando as propriedades gridx e gridy

Quantidade de visualizações: 12748 vezes
A classe GridBagConstraints, usada para definir como os componentes serão distribuidos em um GridBagLayout, possui duas variáveis que permitem definir a linha e coluna nas quais o componente será colocado. Veja-as abaixo:

gridx - Especifica a coluna na qual o componente será colocado. A primeira coluna possui o valor 0. Esta variável pode receber também o valor RELATIVE (valor padrão). Neste caso, o componente será colocado imediatamente após o último componente inserido (na horizontal).

gridy - Especifica a linha na qual o componente será colocado. A primeira linha possui o valor 0. Esta variável pode receber também o valor RELATIVE (valor padrão). Neste caso, o componente será colocado imediatamente abaixo do último componente inserido (na vertical).

Veja um trecho de código que mostra como posicionar seis botões nas linhas e colunas de um GridBagLayout:

import javax.swing.*;
import java.awt.*;

public class Estudos extends JFrame{
  public Estudos(){
    super("Como usar a classe GridBagLayout");

    // define o layout
    setLayout(new GridBagLayout());

    // cria o GridBagConstraints
    GridBagConstraints gbc = new GridBagConstraints();

    // adiciona componentes à janela
    gbc.gridy = 0; // linha
    gbc.gridx = 0; // coluna
    add(new JButton("Botão 1"), gbc);

    gbc.gridy = 0; // linha
    gbc.gridx = 1; // coluna
    add(new JButton("Botão 2"), gbc);

    gbc.gridy = 0; // linha
    gbc.gridx = 2; // coluna
    add(new JButton("Botão 3"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 0; // coluna
    add(new JButton("Botão 4"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 1; // coluna
    add(new JButton("Botão 5"), gbc);

    gbc.gridy = 1; // linha
    gbc.gridx = 2; // coluna
    add(new JButton("Botão 6"), gbc);
    
    setSize(350, 150);
    setVisible(true);    
  }

  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais

Cálculo de estribos em vigas de concreto armado usando Python - Armadura mínima transversal normativa

Quantidade de visualizações: 894 vezes
A ABNT NBR 6118 (Projeto de estruturas de concreto armado) define uma taxa de armadura mínima para os estribos das vigas de concreto armado, e, a partir dessa taxa mínima nós podemos facilmente calcular a área de aço mínima a ser usada.

A fórmula para o cálculo da taxa mínima de armadura tranversal pode ser definida como:

\[\rho_\text{sw} = 0,2 \cdot \frac{f_\text{ck,m}}{f_\text{ywk}} \]
Onde:

&#961;sw é um número adimensional representando a taxa de armadura mínima transversal de acordo com recomendações da norma NBR 6118;

fctk,m é a resistência à tração média do concreto em Mpa;

fymk é a resistência à tração do aço em Mpa. Em geral, esse valor é fixado em 500 (CA 50), mesmo que o aço usado seja CA 60 ou superior;

Após calculada a taxa de armadura transversal mínima, podemos calcular a área de aço mínima transversal por meio da seguinte fórmula:

\[A_\text{sw,min} = \rho_\text{sw} \cdot b_w \cdot S \cdot sen(\alpha) \]
Onde:

Asw,min é a área de aço mínima a ser usada, em cm2/m;

&#961;sw é um número adimensional representando a taxa de armadura mínima transversal de acordo com recomendações da norma NBR 6118;

bw é a largura da viga em centímetros;

S é o espaçamento a ser considerado. Informamos o valor de 100 para considerar um espaçamento de 1 metro;

&#945; é a inclinação dos estribos, em geral 90º.

Veja agora o código Python :

# vamos importar o módulo Math
import math
 
# função principal do programa
def main():
  # vamos pedir para o usuário informar o FCK do concreto
  fck = float(input("Informe o FCK do concreto em Mpa: "))
 
  # agora vamos calcular a resistência à tração média
  # do concreto
  fctk_m = 0.3 * math.pow(fck, 2.0 / 3.0)
 
  # vamos pedir para o usuário informar a largura da viga em cm
  largura = float(input("Informe a largura da viga em cm: "))
 
  # vamos calcular a taxa de armadura transversal mínima
  fywk = 500 # vamos considerar aço CA 50
  psw = 0.2 * (fctk_m / fywk)

  # agora vamos calcular a área mínima de aço para a armadura
  # tranversal, ou seja, os estribos
  S = 100 # considerando 1 metro de viga
  inclinacao = 90 # inclinação em graus dos estribos
  aws_min = psw * largura * S * math.sin(math.radians(inclinacao))

  # e mostramos os resultados
  print("\n-------RESULTADOS--------------------------------------")
  print("A resistência à tração média do concreto é: {0} Mpa".
    format(round(fctk_m, 5)))
  print("A taxa de armadura transversal mínima é: {0}".format(
    round(psw, 5)))
  print("A área mínima de aço é: {0} cm2/m".format(round(aws_min, 5)))
  
if __name__ == "__main__":
  main()

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

Informe o FCK do concreto em Mpa: 25
Informe a largura da viga em cm: 19

-------RESULTADOS--------------------------------------
A resistência à tração média do concreto é: 2.56496 Mpa
A taxa de armadura transversal mínima é: 0.00103
A área mínima de aço é: 1.94937 cm2/m


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

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