![]() |
|
|
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 ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de Java - O caractere ausente. Escreva um método Java que receba uma string não vazia e um inteiro positivo.Quantidade de visualizações: 1391 vezes |
|
Pergunta/Tarefa: O desafio do caractere faltante. Escreva um programa Java contendo um método que receberá uma palavra, frase ou texto e um inteiro positivo. Este método deverá retornar a palavra, frase ou texto com o caractere removido no índice especificado pelo inteiro fornecido como segundo argumento para o método. Certifique-se de que a string passada para o método não esteja vazia e de que o valor inteiro no segundo argumento não esteja fora da faixa permitida, ou seja, não seja menor que 0 nem maior que o comprimento da string - 1. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: JAVASCRIPT Informe um número inteiro: 4 O resultado é: JAVACRIPT 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 para o usuário informar uma palavra, frase ou texto
System.out.print("Informe uma palavra, frase ou texto: ");
String str = entrada.nextLine().trim();
// agora vamos pedir para o usuário informar um número inteiro
System.out.print("Informe um número inteiro: ");
int indice = Integer.parseInt(entrada.nextLine());
// os dados são válidos?
if(str.isEmpty()){
System.out.println("\nA string informada está vazia\n");
}
else if(indice < 0 || indice > str.length() - 1){
System.out.println("\nO índice não está na faiza permitida\n");
}
else{
String resultado = caractereFaltante(str, indice);
System.out.println("O resultado é: " + resultado);
}
}
public static String caractereFaltante(String str, int indice){
// primeiro nós obtemos uma substring que vai do primeiro
// índice até o indice informado pelo usuário, sem incluí-lo
String inicio = str.substring(0, indice);
// agora obtemos o restante da string a partir do índice informado
// pelo usuário, sem incluí-lo, é claro
String fim = str.substring(indice + 1, str.length());
return inicio + fim;
}
}
|
Java ::: Java Swing - Componentes Visuais ::: JList |
Como retornar os índices dos itens selecionados em uma JList de seleção múltipla do Java SwingQuantidade de visualizações: 8741 vezes |
|
Em outra dica desta seção nós vimos como obter e retornar os valores selecionados em uma JList de múltipla seleção do Java Swing. Agora veremos como retornar os índices dos valores selecionados. Para isso nós vamos usar o método getSelectedIndices(), que retorna um vetor (array) de inteiros. Note o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() da JList para indicar a forma de seleção que estamos usando no exemplo. Veja o código Java Swing completo para o exemplo:
package estudos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JList lista;
public Estudos() {
super("A classe JList");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria os itens da lista
String nomes[] = {"Carlos", "Marcelo", "Fabiana",
"Carolina", "Osmar"};
// Cria a JList
lista = new JList(nomes);
// Define a seleção múltipla para a lista
lista.setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
// Um botão que permite obter os índices do itens
// selecionados
JButton btn = new JButton("Obter índices selecionados");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
int[] indices = lista.getSelectedIndices();
String res = "Índices selecionados:\n";
for(int i = 0; i < indices.length; i++)
res += indices[i] + "\n";
JOptionPane.showMessageDialog(null, res);
}
}
);
// Adiciona a lista à janela
c.add(new JScrollPane(lista));
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Lembre-se que as teclas Ctrl ou Shift devem estar pressionadas enquanto escolhemos os itens de uma JList de seleção múltipla. |
Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Python Insertion Sort - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)Quantidade de visualizações: 4556 vezes |
|
Nesta dica veremos como implementar a ordenação Insertion Sort, Insertion-Sort, ou Ordenação por Inserção na linguagem Python. A ordenação Insertion Sort, 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 a forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando 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 por 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 Python 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}:
# método que permite ordenar o vetor de inteiros
# usando a ordenação Insertion Sort
def insertionSort(vetor):
# percorre todos os elementos do vetor começando
# pelo segundo elemento
for i in range(len(vetor)):
atual = vetor[i] # o valor atual a ser inserido
# começa a comparar com a célula à esquerda de i
j = i - 1
# enquanto vetor[j] estiver fora de ordem em relação
# a atual
while((j >= 0) and (vetor[j] > atual)):
# movemos vetor[j] para a direita e decrementamos j
vetor[j + 1] = vetor[j]
j = j - 1
# colocamos atual em seu devido lugar
vetor[j + 1] = atual
# função principal do programa
def main():
# cria uma lista de inteiros
valores = [4, 6, 2, 8, 1, 9, 3, 0, 11]
# exibimos o vetor na ordem original
print("Ordem original:\n")
for i in range(len(valores)):
print(valores[i], end = " ")
# vamos ordenar o vetor agora
insertionSort(valores)
# exibimos o vetor ordenado
print("\n\nOrdenado:\n")
for i in range(len(valores)):
print(valores[i], end = " ")
if __name__== "__main__":
main()
Ao executar este código Python 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 |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um vetor de inteiros em ordem decrescente em JavaQuantidade de visualizações: 1437 vezes |
|
Nesta dica mostrarei como é possível ordenar um array (vetor) de ints em ordem decrescente usando o método sort() da classe Arrays e um método inverter() personalizado. É claro que há várias outras formas de se conseguir realizar esta tarefa. Espero que esta seja mais uma técnica adicionada ao seu arsenal. Veja o código Java completo:
package arquivodecodigos;
import java.util.*;
public class Estudos{
public static void main(String[] args){
// vamos declarar e construir um vetor de 5 inteiros
int[] valores = new int[5];
// inicializa os elementos do array
valores[0] = 23;
valores[1] = 65;
valores[2] = 2;
valores[3] = 87;
valores[4] = 34;
// ordena os valores
Arrays.sort(valores);
System.out.println("Ordenado em ordem crescente:");
for(int valor : valores){
System.out.print(valor + " ");
}
// vamos inverter o vetor agora
inverter(valores);
// exibe os valores dos elementos do array
// usando o laço for melhorado
System.out.println("\nOrdenado em ordem decrescente:");
for(int valor : valores){
System.out.print(valor + " ");
}
System.out.println("\n");
System.exit(0);
}
// método que recebe um array e inverte a ordem
// de seus elementos
public static void inverter(int[] b){
int esquerdo = 0;
int direito = b.length-1;
while (esquerdo < direito) {
int temp = b[esquerdo];
b[esquerdo] = b[direito];
b[direito] = temp;
esquerdo++;
direito--;
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Ordenado em ordem crescente: 2 23 34 65 87 Ordenado em ordem decrescente: 87 65 34 23 2 |
Python ::: Dicas & Truques ::: Lista (List) |
Como pesquisar um item em uma list e removê-lo usando a função remove() do PythonQuantidade de visualizações: 9298 vezes |
|
Nesta dica mostrarei como é possível usar a função remove() do tipo de dados list para pesquisar um item em uma lista e removê-lo. Observe que, se o item a ser removido não for encontrado, um erro do tipo ValueError será exibido. Veja o código completo para o exemplo:
# função principal do programa
def main():
# cria uma lista de inteiros
valores = [2, 5, 12, 2, 3, 32, 18]
# exibe a lista
print(valores)
try:
valor = int(input("Informe o valor a ser removido: "))
valores.remove(valor)
except ValueError:
print("O valor pesquisado nao foi encontrado")
else:
print("O valor foi removido com sucesso")
# exibe a lista
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] Informe o valor a ser removido: 2 O valor foi removido com sucesso [5, 12, 2, 3, 32, 18] Observe que a função remove() da list remove apenas o primeiro item encontrado, ou seja, se a lista possuir mais de um valor igual, apenas o primeiro será removido. |
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 |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




