![]() |
|
|
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. |
||
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Java ::: Coleções (Collections) ::: ArrayList |
Como retornar o índice da última ocorrência de um elemento em uma ArrayList do Java usando a função lastIndexOf()Quantidade de visualizações: 10082 vezes |
|
Em algumas situações nós gostaríamos de pesquisar um valor em um ArrayList e retornar o índice de sua última aparição, para o caso desse elemento estar contido mais de uma vez na coleção. Para isso nós podemos usar o método lastIndexOf(). Se o elemento pesquisado não estiver na ArrayList, o valor -1 será retornado. Veja o código completo para o exemplo:
package estudos;
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// adiciona itens na lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
nomes.add("Osmar");
nomes.add("Maria");
// obtém o índice da última ocorrência do
// nome "Maria"
int indice = nomes.lastIndexOf("Maria");
System.out.println("O último índice do nome pesquisado é: "
+ indice);
System.exit(0);
}
}
Ao executarmos este código Java nós teremos o seguinte resultado: O último índice do nome pesquisado é: 4 |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover elementos repetidos de um array em Ruby usando as funções uniq e uniq!Quantidade de visualizações: 11027 vezes |
|
Em algumas situações nós precisamos excluir os itens duplicados de um array em Ruby. Para isso nós podemos usar as funções uniq e uniq!. A função uniq remove os itens duplicados e retorna um novo array, enquanto uniq! opera no array original, ou seja, modificando seus valores. Veja o código Ruby completo para o exemplo: # Cria um array de inteiros com duplicações valores = [2, 3, 3, 5, 5, 6, 3] # Exibe os valores do array original puts "Os valores do array são:\n" valores.each do | valor | print valor.to_s + " " end # Obtém um novo array sem as duplicações valores2 = valores.uniq puts "\n\nO novo array sem repetições:\n" valores2.each do | valor | print valor.to_s + " " end # Remove as duplicações do array original valores.uniq! puts "\n\nO array original sem repetições:\n" valores.each do | valor | print valor.to_s + " " end Ao executar este código Ruby nós teremos o seguinte resultado: Os valores do array são: 2 3 3 5 5 6 3 O novo array sem repetições: 2 3 5 6 O array original sem repetições: 2 3 5 6 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Como rotacionar os elementos de um vetor de inteiros n vezes para a direita - Solução usando vetor temporárioQuantidade de visualizações: 978 vezes |
|
Pergunta/Tarefa: Dado o vetor:
// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
Importante: a solução que apresentamos usa um array adicional para resolver o desafio. Fique à vontade para usar força-bruta ou outra abordagem que achar mais conveniente. Sua saída deverá ser parecida com: Array na ordem original: 1 6 9 3 7 8 5 2 Rotação do vetor no passo 1 do primeiro laço: 8 0 0 0 0 0 0 0 Rotação do vetor no passo 2 do primeiro laço: 8 5 0 0 0 0 0 0 Rotação do vetor no passo 3 do primeiro laço: 8 5 2 0 0 0 0 0 Rotação do vetor no passo 1 do segundo laço: 8 5 2 1 0 0 0 0 Rotação do vetor no passo 2 do segundo laço: 8 5 2 1 6 0 0 0 Rotação do vetor no passo 3 do segundo laço: 8 5 2 1 6 9 0 0 Rotação do vetor no passo 4 do segundo laço: 8 5 2 1 6 9 3 0 Rotação do vetor no passo 5 do segundo laço: 8 5 2 1 6 9 3 7 Array depois de rotacionar 3 vezes: 8 5 2 1 6 9 3 7 Veja a resolução comentada deste exercício em Java:
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar um vetor de inteiros
int valores[] = {1, 6, 9, 3, 7, 8, 5, 2};
// mostramos o array na ordem original
System.out.println("Array na ordem original:");
exibirVetor(valores);
// vamos rotacionar o array 3 casas para a direita
valores = rotacionarArray(valores, 3);
// e mostramos o resultado
System.out.println("Array depois de rotacionar 3 vezes:");
exibirVetor(valores);
}
// método usado para exibir o array
public static void exibirVetor(int []vetor){
// percorremos cada elemento do vetor
for (int i = 0; i < vetor.length; i++) {
System.out.print(vetor[i] + " ");
}
System.out.println("\n");
}
// método que recebe um vetor de inteiros e o rotaciona um
// determinado número de vezes
public static int[] rotacionarArray(int[] vetor, int n) {
// vamos obter a quantidade de elementos no vetor
int quant = vetor.length;
// o número de rotações é maior que a quantidade de
// elementos no vetor? Se for nós ajustamos o número
// de rotações usando o operador de módulo
if(n > quant){
n = n % quant;
}
// criamos um vetor temporário
int[] resultado = new int[quant];
// o primeiro laço movimenta os elementos a partir
// do valor de n
for(int i = 0; i < n; i++){
resultado[i] = vetor[quant - n + i];
// mostramos o progresso
System.out.println("Rotação do vetor no passo " + (i + 1) +
" do primeiro laço:");
exibirVetor(resultado);
}
// ajustamos o índice para o primeiro elemento do vetor
int indice = 0;
for(int i = n; i < quant; i++){
resultado[i] = vetor[indice];
// mostramos o progresso
System.out.println("Rotação do vetor no passo " + (indice + 1) +
" do segundo laço:");
exibirVetor(resultado);
indice++; // incrementa o índice
}
// retorna o vetor rotacionado
return resultado;
}
}
A solução que apresentamos aqui usa um vetor temporário, isto é, um array adicional, para melhorar a perfomance. Em outras dicas do site nós apresentamos uma solução para este desafio usando força-bruta. A força-bruta não é a melhor abordagem, mas pode ser mais fácil de ser entendida por iniciantes em programação. |
AutoCAD ::: Dicas & Truques ::: Configurações da Área de Desenho |
Como definir os limites da área de desenho do AutoCAD usando o comando LIMITSQuantidade de visualizações: 1819 vezes |
|
Quando estamos criando um novo desenho no AutoCAD, muitas vezes usando os arquivos de template acad.dwt (medidas imperiais) ou acadiso.dwt (medidas métricas), nos deparamos com uma área de desenho gigantesca, com medidas enormes. Assim, é sempre uma boa idéia delimitarmos a área de desenho, e isso é feito por meio do comando LIMITS. Este comando, quando acionado, nos pede duas coordenadas: Lower Left e Upper Right. Veja a figura: ![]() Dessa forma, Lower Left define os limites para o canto esquerdo inferior e Upper Right define os limites para o canto superior direito. Quando acionamos o comando LIMITS (ligado: ON), não conseguimos sair desses limites, o que pode ser uma comodidade, pois podemos nos concentrar em pequenos porções de um desenho de grandes proporções. Vamos então aprender a usar o comando LIMITS do AutoCAD? Comece criando um novo desenho (usando ou não os templates mencionados acima) e digite os comandos a seguir: LIMITS [Enter] Specify lower left corner or [ON/OFF] <0.0000,0.0000>: 0,0 Specify upper right corner <420.0000,297.0000>: 100,80 Tenha a certeza de inserir as coordenadas separadas por vírgulas e acionar a opção ON para ativar os limites. No final, digite o comando ZOOM ALL para aproximar a área de desenho dentro dos limites recém-definidos. Agora, sempre que digitarmos coordenadas fora desses limites, o AutoCAD nos avisará que os valores são inválidos e os rejeitará. Para desligar os limites, basta chamar LIMITS novamente e informar o valor OFF. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string Java está toda em letras maiúsculas ou minúsculas usando as funções Character.isWhitespace() e Character.isUpperCase()Quantidade de visualizações: 2 vezes |
|
Nesta dica mostrarei como podemos combinar um laço e as funções Character.isWhitespace() e Character.isUpperCase() para testar se uma palavra, frase ou texto está toda em letras maiúsculas em Java. Veja o código completo para o exemplo:
package estudos;
public class Estudos {
public static void main(String[] args) {
// Este exemplo mostra como verificar se uma
// string está toda em letras maiúsculas
String frase = "PROGRAMANDO EM JAVA";
boolean maiusculas = true;
for (int i = 0; i < frase.length(); i++) {
Character caractere = frase.charAt(i);
if (Character.isWhitespace(caractere)) {
continue;
}
if (!Character.isUpperCase(caractere)) {
maiusculas = false;
break;
}
}
if (maiusculas) {
System.out.println("A string esta toda em letras maiusculas");
}
else{
System.out.println("A string NAO esta toda em letras maiusculas");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: A string está toda em letras maiúsculas |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
Laravel - Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 2 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





