![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa 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 JavaQuantidade 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 TextoQuantidade 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 |
|
Java - Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do Java PHP - Programação Orientada a Objetos em PHP - Aprenda a criar e usar métodos e classes abstratas em PHP |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Estruturas de Dados em Java - Como inserir nós no início de uma lista singularmente ligada em Java |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




