![]() |
|
|
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 - Estruturas de Aço e Madeira |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como resolver o problema da Subsequência de Soma Máxima em Java usando o Algorítmo de KadaneQuantidade de visualizações: 928 vezes |
|
Pergunta/Tarefa: O problema do Subvetor Contíguo de Soma Máxima, ou Subarray ou Subsequência de Soma Máxima é um dos algorítmos mais populares na programação dinâmica. Este problema envolve encontrar um subvetor, ou seja, um sub-array contíguo de maior soma possível. Por contíguo entendemos que os elementos da subsequência deverão estar consecutivos no vetor original. O Algorítmo de Kadane, inventado por Jay Kadane em 1977, é um dos favoritos para a resolução deste problema, e deverá ser aplicado na resolução deste exercício. Dado o vetor [-2, 1, -3, 4, -1, 2, 1, -5, 4], encontre a soma máxima da subsequência contígua. Não é exigido mostrar os elementos da sub-sequência, apenas o valor da soma máxima. Sua saída deverá ser parecida com: A soma maxima é: 6 Veja a resolução comentada deste exercício usando Java:
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar um array com 9 elementos
int valores[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
// agora usamos o algoritmo de Kadane para encontrar
// a maior soma consecutiva
int soma_maxima = kadane(valores);
System.out.println("A soma maxima é: " + soma_maxima);
}
// método que recebe um array e usa o algoritmo de Kadane
// para retornar a maior soma consecutiva
public static int kadane(int vetor[]){
// ajustamos max_atual para 0 e max_total para -1
int max_atual = 0, max_total = -1;
// um laço for que percorre todos os elementos do
// vetor, do primeiro até o último
for(int i = 0; i < vetor.length; i++){
// max_atual recebe ele mesmo mais o valor
// do elemento no índice i
max_atual = max_atual + vetor[i];
// se max_atual for negativo nós o ajustamos
// para zero novamente
if(max_atual < 0){
max_atual = 0;
}
// se max_atual for maior que max_total então
// max_total recebe o valor de max_atual
if(max_atual > max_total){
max_total = max_atual;
}
}
// e retornamos a soma máxima
return max_total;
}
}
|
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é uma matriz identidade usando JavaQuantidade de visualizações: 1610 vezes |
|
Seja M uma matriz quadrada de ordem n. A matriz M é chamada de Matriz Identidade de ordem n (indicada por In) quando os elementos da diagonal principal são todos iguais a 1 e os elementos restantes são iguais a zero. Para melhor entendimento, veja a imagem de uma matriz identidade de ordem 3, ou seja, três linhas e três colunas: ![]() Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz identidade ou não:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
int n = 3; // ordem da matriz quadrada
int matriz[][] = new int[n][n]; // matriz quadrada
// para efetuar a leitura do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar os elementos da matriz
for (int i = 0; i < n; i++){
for (int j = 0; j < n; j++) {
System.out.print("Elemento na linha " + (i + 1) +
" e coluna " + (j + 1) + ": ");
matriz[i][j] = Integer.parseInt(entrada.nextLine());
}
}
// agora verificamos se a matriz é uma matriz identidade
boolean identidade = true;
for(int linha = 0; linha < n; linha++){
for(int coluna = 0; coluna < n; coluna++){
if(matriz[linha][coluna] != 1 && matriz[coluna][linha] != 0){
identidade = false;
break;
}
}
}
// agora mostramos a matriz lida
System.out.printf("\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.printf("%d ", matriz[i][j]);
}
System.out.printf("\n");
}
if (identidade){
System.out.printf("\nA matriz informada é uma matriz identidade.\n");
}
else{
System.out.printf("\nA matriz informada não é uma matriz identidade.\n");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 1 Elemento na linha 1 e coluna 2: 0 Elemento na linha 1 e coluna 3: 0 Elemento na linha 2 e coluna 1: 0 Elemento na linha 2 e coluna 2: 1 Elemento na linha 2 e coluna 3: 0 Elemento na linha 3 e coluna 1: 0 Elemento na linha 3 e coluna 2: 0 Elemento na linha 3 e coluna 3: 1 1 0 0 0 1 0 0 0 1 A matriz informada é uma matriz identidade. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como converter uma string em um valor real em Ruby usando a função to_fQuantidade de visualizações: 6726 vezes |
|
Nesta dica mostrarei como podemos usar a função to_f do objeto String da linguagem Ruby para converter uma string em um valor de ponto-flutuante, ou seja, um valor real, com casas decimais. Veja o código completo para o exemplo:
# Este exemplo mostra como usar o método to_f
# para converter uma string em um valor numérico
# de ponto-flutuante
# vamos pedir para o usuário informar
# dois números
print "Informe o primeiro número: "
num1 = (gets.chomp).to_f
print "Informe o segundo número: "
num2 = (gets.chomp).to_f
# vamos exibir a soma dos valores informados
puts "A soma dos valores é: #{num1 + num2}"
Ao executar este código Ruby nós teremos o seguinte resultado: Informe o primeiro número: 5 Informe o segundo número: 3 A soma dos valores é: 8.0 Note que usei gets para ler o texto informado pelo usuário. Em seguida usei chomp para remover quaisquer quebras de linhas no final do texto e, finamente, usei to_f para converter a string lida em um valor do tipo float. |
Java ::: Coleções (Collections) ::: ArrayList |
Como obter o índice da primeira ocorrência de um elemento no ArrayList do Java usando o método indexOf()Quantidade de visualizações: 12855 vezes |
|
Este exemplo mostra como usar o método indexOf() para obter o índice da primeira ocorrência de um item na ArrayList. Se o ítem não for encontrado, o valor retornado é -1. Veja o código completo para a dica:
package arquivodecodigos;
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 primeira ocorrência do
// nome "Maria"
int indice = nomes.indexOf("Maria");
System.out.println("O índice do nome pesquisado é: "
+ indice);
System.exit(0);
}
}
Ao executar este código nós teremos o seguinte resultado: O índice do nome pesquisado é: 1 |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Python - Um método recursivo que recebe um valor inteiro e o exibe na ordem inversaQuantidade de visualizações: 1276 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que recebe um valor inteiro (com qualquer quantidade de dígitos) e o exibe na ordem inversa. Se o método receber o valor 467, o valor inverso será 764. Seu método deverá possuir a seguinte assinatura: def exibirInverso(valor): # sua implementação aqui Sua saída deverá ser parecida com: Informe um valor inteiro: 932 O valor invertido é: 239 Veja a resolução comentada deste exercício usando Python console:
# método recursivo que recebe um valor inteiro e o exibe na ordem
# inversa
def exibirInverso(valor):
# a parada da recursividade é o valor igual a 0
if valor != 0:
print(valor % 10, end ="")
valor = valor // 10
exibirInverso(valor) # efetua uma nova chamada recursiva
# método principal
def main():
# solicita um valor inteiro ao usuário
numero = int(input("Informe um valor inteiro: "))
# exibe o valor na ordem invertida
print("O valor invertido é: ", end =" ")
exibirInverso(numero)
if __name__== "__main__":
main()
|
Mais Desafios de Programação e 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 |





