![]() |
|
|
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 AutoCAD Civil 3D |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Matemática e Estatística |
Regressão linear - Como calcular o coeficiente de correlação linear de Pearson em Java - Java para Machine LearningQuantidade de visualizações: 679 vezes |
![]() No estudo de Machine Learning, uma das primeiras ferramentas que aprendemos é Regressão Linear. E, para o bom entendimento da regressão linear, temos que aprender sobre o coeficiente de correlação linear, mais especificamente o coeficiente de correlação linear de Pearson. A fórmula do coeficiente de correlação linear de Pearson é: \[r_\text{xy} = \frac{n \sum x_i y_i - \sum x_i \sum y_i}{\sqrt{n \sum {x_i}^2 - \left(\sum {x_i}\right)^2} \cdot \sqrt{n \sum {y_i}^2 - \left(\sum {y_i}\right)^2}} \] Onde: x e y são os conjuntos de valores cuja correlação queremos testar. É claro que encontraremos algumas variações desta fórmula na internet e também em livros de estatística, mas o resultado é sempre o mesmo. A correlação de Pearson é uma técnica estatística para medir se duas variáveis estão linearmente relacionadas. Essa técnica também pode ser chamada de r de Pearson, correlação produto-momento de Pearson ou, mais coloquialmente, de correlação de Pearson. O r de Pearson é uma métrica que expressa a relação linear entre variáveis por meio de um número que vai de -1 a +1. Isto é, quanto mais próximo dos extremos (-1 ou +1), maior é a força da correlação. Por outro lado, valores próximos de zero indicam que a correlação é fraca. O sinal da correlação, por sua vez, indica a direção da relação entre variáveis. Se a correlação é positiva, então o aumento em uma variável implica o aumento na outra variável. Por outro lado, se a correlação é negativa, então o aumento em uma variável implica o decréscimo na outra variável. Veja agora o código Java completo no qual calculamps o coeficiente de correlação linear de Pearson a partir de valores x e y, dispostos em dois vetores, ou seja, dois arrays unidimensionais:
package estudos;
public class Estudos {
public static void main(String[] args) {
// vamos criar os vetores com os valores x e y
double x[] = {13, 32, 47, 54, 69, 73};
double y[] = {208, 184, 145, 14, 65, 32};
// as variáveis para os somatórios
double soma_x = 0, soma_y = 0, soma_x_quadrado = 0;
double soma_y_quadrado = 0, soma_x_vezes_y = 0;
// vamos percorrer os vetores e efetuar as somas
for (int i = 0; i < x.length; i++) {
// primeiro o somatório de x
soma_x = soma_x + x[i];
// agora o somatório de y
soma_y = soma_y + y[i];
// então o somatório de x^2
soma_x_quadrado = soma_x_quadrado + Math.pow(x[i], 2);
// e o somatório de y^2
soma_y_quadrado = soma_y_quadrado + Math.pow(y[i], 2);
// e finalmente o somatório de x*y
soma_x_vezes_y = soma_x_vezes_y + x[i] * y[i];
}
// vamos obter a quantidade de valores na observação
int n = x.length;
// e finalmente calculamos o coeficiente de correlação
// linear
double r_xy = ((n * soma_x_vezes_y) - (soma_x * soma_y)) /
(Math.sqrt((n * soma_x_quadrado) - Math.pow(soma_x, 2)) *
Math.sqrt((n * soma_y_quadrado) - Math.pow(soma_y, 2)));
// e mostramos o resultado
System.out.println("O coeficiente de correlação é: " +
r_xy);
}
}
Ao executar este código Java nós teremos o seguinte resultado: O coeficiente de correlação é: -0.8713675107044452 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como resolver o problema da Torre de Hanói recursivamenteQuantidade de visualizações: 3405 vezes |
|
Pergunta/Tarefa: Torre de Hanói, ou The Towers of Hanoi, é um "quebra-cabeça" que consiste em uma base contendo três pinos, em um dos quais são dispostos alguns discos uns sobre os outros, em ordem crescente de diâmetro, de cima para baixo. O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca fique em cima de outro menor em nenhuma situação. O número de discos pode variar sendo que o mais simples contém apenas três. A solução da Torre de Hanói (The Towers of Hanoi) pode ser feita recursivamente da seguinte forma: O caso base (parada da recursão) é quando n = 1. Se n = 1 nós podemos simplesmente mover o disco de A para B, sem precisar passar pelo pino C. Quando n > 1 nós podemos dividir o problema original em três sub-problemas e resolvê-los sequencialmente. 1) Mova os primeiros n - 1 discos de A para C com a ajuda do pino B; 2) Mova o disco n de A para B; 3) Mova n - 1 discos do pino C para o pino B com a ajuda do pino A. Além de resolver o problema, seu programa deverá informar quantas chamadas recursivas foram feitas. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos {
static int quantChamadasRecursivas = 0; // registra as chamadas recursivas
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// vamos ler a quantidade de discos a serem usados na simulação
System.out.print("Informe a quantidade de discos: ");
int discos = Integer.parseInt(entrada.nextLine());
// resolve o problema recusivamente
System.out.println("\nOs movimentos para resolver o problema foram:\n");
moverDiscos(discos, 'A', 'B', 'C');
System.out.println("\nForam feitas " + quantChamadasRecursivas +
" chamadas recursivas");
System.out.println();
}
// método recursivo que resolve o problema da Torre de Hanói
public static void moverDiscos(int n, char daTorre, char paraTorre,
char torreAux) {
quantChamadasRecursivas++; // registra mais uma chamada recursiva
if(n == 1){ // condição de parada
System.out.println("Movendo o disco " + n + " de " + daTorre + " para " +
paraTorre);
}
else{ // faz mais uma chamada recursiva
moverDiscos(n - 1, daTorre, torreAux, paraTorre);
System.out.println("Movendo o disco " + n + " de " + daTorre + " para " +
paraTorre);
moverDiscos(n - 1, torreAux, paraTorre, daTorre);
}
}
}
|
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como inserir uma substring em uma determinada posição de uma string em Ruby usando a função insert()Quantidade de visualizações: 9299 vezes |
|
Muita vezes precisamos inserir uma substring em uma determinada posição de uma string em Ruby. Esta tarefa pode ser realizada com a função insert() da classe String. Esta função opera na string original e requer dois argumentos: a posição na string onde a substring será inserida e a substring propriamente dita. A posição é um índice iniciando em 0. Índices negativos são contados a partir do final da string. Veja o exemplo: # declara e inicializa uma variável string frase = "Gosto muito de Ruby" puts "A frase original é: " + frase # vamos inserir " Python e" antes de "Ruby". frase.insert(14, " Python e") # exibe o resultado puts "A nova frase é: " + frase Ao executar este código Ruby nós teremos o seguinte resultado: A frase original é: Gosto muito de Ruby A nova frase é: Gosto muito de Python e Ruby |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em PHP usando o operador "."Quantidade de visualizações: 3 vezes |
|
Todas as linguagens de programação oferecem o seu operador de concatenação, que nos permite juntar palavras, frases, textos e valores de variáveis. Na maioria das linguagens o operador de concatenação é o sinal de adição "+". Porém, em PHP, a concatenação é feita usando-se o operador ".". Veja um exemplo abaixo de como usá-lo: <?php $nome = "Carlos"; $cidade = "São Paulo"; echo "Meu nome é " . $nome . " e eu moro em " . $cidade . "."; ?> |
Python ::: Dicas & Truques ::: Lista (List) |
Como pesquisar um item em uma lista Python e retornar seu índice usando a função index()Quantidade de visualizações: 11570 vezes |
|
Em algumas situações nós precisamos pesquisar um item em uma List do Python e retornar o índice de sua primeira ocorrência. Para isso nós podemos usar o método index(), que aceita uma string, um number, um object, etc, e retorna o índice da primeira posição do item dentro da lista. Veja um exemplo de seu uso:
"""
Este exemplo mostra como pesquisar um item em
uma lista. Se o item for encontrado, seu índice é
retornado. Do contrário uma exceção do tipo ValueError
é levantada.
"""
def main():
# cria uma lista de inteiros
valores = [2, 5, 12, 2, 3, 32, 18]
try:
indice = valores.index(13)
except ValueError:
print("O valor pesquisado nao foi encontrado")
else:
print("O valor foi encontrado no índice", indice)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O valor pesquisado não foi encontrado. Note que no exemplo nós usamos um bloco try..except para tratar a exceção ValueError, disparada quando o item pesquisado por meio da função index() não for encontrado na List. Veja: Exception has occurred: ValueError 13 is not in list |
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 |






