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.

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

Como usar a função array_unique() do PHP para remover elementos duplicados de um vetor - Removendo elementos repetidos de um array PHP

Quantidade de visualizações: 18996 vezes
Em algumas situações nossos códigos precisam remover os elementos duplicados em um array (vetor) PHP. Isso pode ser feito por meio do uso da função array_unique(). Esta função recebe um array e retorna um outro array com os elementos duplicados removidos. Veja um exemplo:

<?php
  // vamos declarar e inicializar um vetor de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6);
 
  // vamos exibir os valores do vetor
  echo "Com elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
 
  // vamos remover os elementos duplicados
  $valores = array_unique($valores);
   
  // vamos exibir os valores do vetor novamente
  echo "<br><br>Sem elementos duplicados:<br>";
  foreach($valores as $valor){
    echo $valor . " - ";
  }
?>

Ao executarmos este código teremos o seguinte resultado:

Com elementos duplicados:
43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 
 
Sem elementos duplicados:
43 - 2 - 6 - 11 - 98 - 3 -


Note que a função array_unique() remove APENAS os valores dos elementos duplicados, ou seja, as chaves ou índices são mantidos. Isso pode ser visto no trecho de código a seguir:

<?php
  // vamos declarar e inicializar um vetor de inteiros
  $valores = array(43, 2, 6, 11, 98, 6, 3, 6);
 
  // vamos listar os valores dos elementos no vetor
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }
 
  // vamos remover os elementos duplicados
  $valores = array_unique($valores);
   
  // vamos listar os valores no vetor novamente
  echo "<br><br>";
  for($i = 0; $i < count($valores); $i++){
    echo $valores[$i] . " - ";
  }
?>

Este código resultará em:

43 - 2 - 6 - 11 - 98 - 6 - 3 - 6 - 
 
43 - 2 - 6 - 11 - 98 - -


Note que a última iteração do laço deveria alcançar o valor 3. Em vez disso o laço imprimiu um valor não definido no índice 5. Esta dica foi escrita no PHP 5.2.10. Vamos torcer para que as versões mais recentes não apresentem este comportamento. Enquanto isso EVITE usar o laço for com vetores resultantes de uma chamada à função array_unique(). Use o laço foreach().


CSS ::: Dicas & Truques ::: Barras de Navegação, Menus e Dropdowns

Como criar uma barra de navegação horizontal com menu dropdown em HTML e CSS - Menu suspenso usando CSS

Quantidade de visualizações: 1185 vezes
Nesta dica mostrarei como podemos usar uma combinação de várias propriedades CSS para criar um menu suspenso, ou seja, uma barra de navegação contendo links normais e também links que, ao passar o mouse, exibe uma lista de sub-menus.

O código apresentado neste exemplo é muito útil para estudantes de HTML e CSS, pois apresenta várias propriedades interessantes para melhorar o visual e a usabilidade de suas páginas web.

Entre as propriedades CSS usadas na criação deste menu suspenso nós podemos citar overflow, margin, padding, list-style-type, background-color, display, float, text-align, text-decoration, position, min-width e z-index. Note que coloquei o mínimo de código para fazer a barra de menus funcional. Fique à vontade para acrescentar as formatações que você achar interessante.

Veja a página HTML e CSS para o exemplo:

<!doctype html>
<html>
<head>
  <title>Estudos CSS</title>
  
<style>
  /* estiliza o elemento <ul> */
  ul{
    background-color: #e0e0e0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style-type: none;
  }

  /* aplica estilo aos elementos <li> */
  li{
    float: left;
  }
  
  /* aplica estilo aos links e <li> do sub-menu */
  li a, .dropdown_linguagens{
    display: inline-block;
    text-align: center;
    padding: 10px 15px;
    text-decoration: none;
  }
  
  /* define o display do <li> de linguagens */
  li.linguagens{
    display: inline-block;
  }
  
  /* aplica estilo ao menu de linguagens */
  .menus_linguagens{
    display: none;
    position: absolute;
    background-color: #eceff1;
    min-width: 160px;
    z-index: 1;
  }

  /* aplica estilo aos links do sub-menu */
 .menus_linguagens a {
   padding: 10px 15px;
   text-decoration: none;
   display: block;
   text-align: left;
 }

 /* exibe o sub-menu ao passar o mouse */ 
 .linguagens:hover .menus_linguagens{
   display: block;
 }
 
 /* aplica uma cor diferente aos menus ao
    passar o mouse */
 .menus_linguagens a:hover{
   background-color: #cfd8dc;
 }
</style>

</head>
  
<body>

<h1>Exemplo de Barra de Navegação com
  Menu Dropdown</h1>

<ul>
  <li><a href="index.php">Inicial</a></li>
  <li class="linguagens">
    <a href="javascript:void(0)" class="dropdown_linguagens">
      Linguagens</a>
    <div class="menus_linguagens">
      <a href="java.php">Java</a>
      <a href="python.php">Python</a>
      <a href="ruby.php">Ruby</a>
      <a href="delphi.php">Delphi</a>
    </div>
  </li>
</ul>
  
</body>
</html>



Java ::: Fundamentos da Linguagem ::: Modificadores

Como usar o modificador synchronized da linguagem Java

Quantidade de visualizações: 24358 vezes
O modificador synchronized tem seu uso e importância destacados quando várias threads (fluxos de execução) estão sendo executadas em um programa. Tais threads podem tentar acessar métodos de uma ou mais classes ao mesmo tempo. No entanto, pode ser necessário planejarmos o sistema de forma que determinados métodos possam ser acessados por somente uma thread de cada vez, talvez para garantir a integridade de valores das diversas variáveis envolvidas no processo. É aqui que o modificador synchronized é usado.

Ao marcarmos um método como synchronized, o sistema de execução Java garantirá que apenas uma thread de cada vez acesse tal método. Se outras threads tentarem fazer o mesmo, elas serão colocadas em espera até que a thread atual finalize seu trabalho e libere o método.

Um exemplo de aplicação do modificador synchronized pode ser visto em uma classe Pilha. Como sabemos, esta estrutura de dados possui métodos para inserir um novo item no topo da pilha e para removê-lo do topo (lembra? LIFO: Last In First Out). Ora, para evitar que uma thread remova o elemento do topo ao mesmo tempo em que outra está tentando inserir, tais métodos devem ser marcados como synchronized. Isso evitará que os dados sejam corrompidos.


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

Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas)

Quantidade de visualizações: 626 vezes
Exercícios Resolvidos de VisuAlg - Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas)

Pergunta/Tarefa:

Uma loja está concedendo desconto de 20% para clientes do sexo feminino com idade entre 18 e 35 anos (ambas incluídas). Para os demais clientes o desconto é 5% apenas. Leia o valor do produto, o nome, sexo e a idade do cliente e aplique o desconto correspondente.

Sua saída deverá ser parecida com:

Informe o valor do produto: 520
Informe o nome do cliente: FABRICIA DE CASTRO
Informe a idade: 23
Informe o sexo: F
FABRICIA DE CASTRO, você ganhou o desconto de 20%
Valor a pagar: 416.0

Informe o valor do produto: 830
Informe o nome do cliente: OSMAR SLVA
Informe a idade: 38
Informe o sexo: M
OSMAR SLVA, você ganhou apenas o desconto de 5%
Valor a pagar: 788.5
Resposta/Solução:

Veja a resolução deste exercício em VisuAlg:

algoritmo "Ler o valor do produto, o valor do produto, o sexo..."
var
  valor: real
  nome, sexo: caractere
  idade: inteiro

inicio
  //  vamos ler o valor do produto
  escreva("Informe o valor do produto: ")
  leia(valor)

  // agora vamos ler o nome do cliente
  escreva("Informe o nome do cliente: ")
  leia(nome)

  // agora vamos ler a idade
  escreva("Informe a idade: ")
  leia(idade)

  // e finalmente vamos ler o sexo do cliente
  escreva("Informe o sexo: ")
  leia(sexo)

  // vamos verificar se o cliente faz jus ao desconto
  // de 20%
  se ((idade >= 18) e (idade <= 35) e (sexo = "F")) entao
    valor <- valor - (valor * (20 / 100))
    escreval(nome, ", você ganhou o desconto de 20%")
    escreval("Valor a pagar: ", valor)
  senao
    valor <- valor - (valor * (5 / 100))
    escreval(nome, ", você ganhou apenas o desconto de 5%")
    escreval("Valor a pagar: ", valor)
  fimse
  
fimalgoritmo



Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

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