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.

C ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca)

Ordenação e pesquisa em C - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)

Quantidade de visualizações: 3454 vezes
A ordenação Insertion Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados.

A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando as cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação.

A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim em diante, até não receber mais cartas.

Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição.

Vamos ver a implementação na linguagem C agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}:

#include <stdio.h>
#include <stdlib.h>
 
// função que permite ordenar um vetor de inteiros
// usando a ordenação Insertion Sort
void insertionSort(int vetor[], int tam){
  int i, temp, j;
  
  // este laço varre os elementos a partir do segundo
  // elemento, ou seja, o índice 1
  for(i = 1; i < tam; i++){
    // guardamos o elemento atual em temp
    temp = vetor[i];
		
    for(j = i; ((j > 0) && (vetor[j - 1] > temp)); j--){ 
      vetor[j] = vetor[j - 1]; // houve uma troca
    }
    
    vetor[j] = temp; // colocamos temp em seu devido lugar
  }
}  
 
int main(int argc, char *argv[]){
  int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11};
  int i, tamanho = 9;
 
  // imprime a matriz sem a ordenação
  puts("Sem ordenação:\n");
  for(i = 0; i < 9; i++){
    printf("%d ", valores[i]);
  }
 
  // vamos ordenar a matriz
  insertionSort(valores, tamanho);
 
  // imprime a matriz ordenada
  puts("\n\nOrdenada usando Insertion Sort:\n");
  for(i = 0; i < 9; i++){
    printf("%d ", valores[i]);
  }   
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Sem ordenação:

4 6 2 8 1 9 3 0 11

Ordenada usando Insertion Sort:

0 1 2 3 4 6 8 9 11


Python ::: Dicas & Truques ::: Lista (List)

Como inverter a ordem dos elementos em uma lista Python usando o método reverse()

Quantidade de visualizações: 17780 vezes
Inverter a ordem dos itens de um vetor ou lista é uma das tarefas mais corriqueiras durante o trabalho de programação. Na linguagem Python nós podemos inverter os elementos de uma list usando o método reverse(), já embutido na linguagem.

Este método modifica a lista original. Veja um exemplo de seu uso:

def main():
  # cria uma lista de inteiros
  valores = [2, 5, 12, 2, 3, 32, 18]

  # exibe a lista na ordem original
  print(valores)

  # inverte a lista
  valores.reverse()

  # exibe a lista na ordem invertida
  print(valores)
  
if __name__== "__main__":
  main()

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

[2, 5, 12, 2, 3, 32, 18]
[18, 32, 3, 2, 12, 5, 2]


Java ::: Dicas & Truques ::: Strings e Caracteres

Como transformar em letras maiúsculas as iniciais de cada palavra em uma string Java

Quantidade de visualizações: 6 vezes
Nesta dica mostrarei como podemos combinar os métodos da classe String e da classe StringBuffer para converter em letras maiúsculas as iniciais de cada palavra de uma frase ou texto. Para isso nós vamos usar os métodos charAt(), length(), toUpperCase() e setCharAt().

Veja o código completo para o exemplo:

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string contendo a nossa frase
    String frase = "Programar em java é bom demais";
    System.out.println("A frase original é: " + frase);
    
    // vamos converter a frase em letras minúsculas
    frase = frase.toLowerCase();
    
    // agora criamos um StringBuffer contendo a frase anterior 
    StringBuffer frase2 = new StringBuffer(frase);
    
    // um laço que percorra todos os caracteres da frase
    for(int i = 0; i < frase2.length(); i++){
      Character letra = frase2.charAt(i);
      if(i == 0){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
      else if((i > 0) && (frase2.charAt(i - 1) == ' ')){
        letra = Character.toUpperCase(letra);
        frase2.setCharAt(i, letra);
      }
    }
    
    // retornamos para a string    
    frase = frase2.toString(); 
    // e exibimos o resultado
    System.out.println("Resultado: " + frase);
    
    System.exit(0);
  }
} 

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

A frase original é: Programar em java é bom demais
Resultado: Programar Em Java É Bom Demais


Portugol ::: Dicas & Truques ::: Cadeias e Caracteres

Como acessar os caracteres individuais de uma palavra ou frase em Portugol usando a função obter_caracter() da biblioteca Texto

Quantidade de visualizações: 1311 vezes
Em algumas situações nós precisamos acessar os caracteres individuais de uma palavra ou frase no Portugol Studio ou Portugol Web Studio. Para isso nós podemos usar a função obter_caracter() da biblioteca Texto.

Esta função pede, como primeiro argumento, a palavra ou frase a partir da qual o caractere será extraído e, como segundo argumento, o índice do caractere (sempre começando em 0 para o primeiro caractere).

Veja um programa Portugol completo no qual obtemos o primeiro caractere de uma palavra:

programa {
  // vamos importar a biblioteca Texto
  inclua biblioteca Texto --> tx
  
  funcao inicio() {
    cadeia palavra = "PORTUGOL"
    caracter letra = tx.obter_caracter(palavra, 0)
    escreva("A letra retornada é: ", letra)
  }
}

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

A letra retornada é: P

Veja agora como podemos usar o laço PARA para percorrer e exibir todos os caracteres individuais da palavra ou frase:

programa {
  // vamos importar a biblioteca Texto
  inclua biblioteca Texto --> tx
  
  funcao inicio() {
    cadeia palavra = "PORTUGOL"

    para (inteiro i = 0; i <= tx.numero_caracteres(palavra) - 1; i++) {
      caracter letra = tx.obter_caracter(palavra, i)
      escreva("A letra é: ", letra, "\n")
    }
  }
}

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

A letra é: P
A letra é: O
A letra é: R
A letra é: T
A letra é: U
A letra é: G
A letra é: O
A letra é: L


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