![]() |
|
|
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 - Fundações |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Como usar a busca binária em Python - Pesquisa binária na linguagem PythonQuantidade de visualizações: 963 vezes |
|
A busca binária, ou pesquisa binária, é um algoritmo eficiente para encontrar um item em uma lista (vetor ou array) ordenada. Sim, os itens devem, obrigatoriamente, estar ordenados. O processo é bem simples. A busca binária começa a partir do meio da lista e compara o item nesta posição com o valor sendo pesquisado. Se o valor não for encontrado e for menor que o item no meio da lista, o algoritmo passa para a porção à esquerda da lista, eliminando, assim, metade dos elementos do vetor ou array (a porção maior que o valor pesquisado). Se o valor não for encontrado e for maior que o item no meio da lista, então a busca reinicia a partir da metade da sub-lista à direita (os itens maiores que o valor pesquisado). Essa divisão continua até que o valor seja encontrado ou não seja mais possível dividir a lista pela metade. Se um array ou vetor possuir 100 elementos e usarmos a busca binária nele, precisaremos efetuar no máximo 7 tentativas para encontrar o valor desejado. Se a lista possuir 4 bilhões de itens nós teremos que fazer no máximo 32 tentativas. Isso acontece porque a pesquisa binária é executada em tempo logarítmico, ou seja, log2 n, onde n é a quantidade de itens no vetor. Dessa forma, se tivemos 1.000 itens em um array, log2 1000 = 10 tentativas. Lembre-se de que, na programação log e log2 retornam resultados diferentes: log(10) = 2.302585092994046 enquanto log2(10) = 3.321928094887362. Na análise da busca binária nós usamos sempre log2. Vamos agora ver como podemos codificar a busca binária em Python. Veja o código a seguir:
# função principal do programa
def main():
# vamos criar uma lista ordenada de inteiros
valores = [3, 5, 7, 8, 9, 12, 43, 50, 52, 60]
print("Os valores da lista são: {0}".format(valores))
# vamos pedir o item a ser pesquisado
numero = int(input("Informe o número a ser pesquisado: "))
# agora vamos pesquisar o número no array usando a pesquisa
# binária
# a variável esquerda aponta para o primeiro elemento do vetor
esquerda = 0
# a variável direita aponta para o último elemento do vetor
direita = len(valores) - 1
# para indicar se o valor foi encontrado
encontrado = False
# enquanto houver mais de um elemento a ser comparado
while esquerda <= direita:
# obtemos o elemento na metade da lista
meio = (esquerda + direita) // 2
# fazemos a comparação
if numero == valores[meio]:
print("O número foi encontrado no índice {0}".format(
meio))
encontrado = True
break # sai do laço
# o item atual é maior que o valor pesquisado?
if valores[meio] > numero:
direita = meio - 1
# o item atual é menor que o valor pesquisado?
else:
esquerda = meio + 1
# o valor foi encontrado?
if not encontrado:
print("O valor pesquisado não foi encontrado")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Os valores da lista são: [3, 5, 7, 8, 9, 12, 43, 50, 52, 60] Informe o número a ser pesquisado: 9 O número foi encontrado no índice 4 |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como obter o arco-seno de um ângulo em radianos usando o método asin() da classe Math da linguagem JavaQuantidade de visualizações: 14436 vezes |
|
Nesta dica eu mostrarei como podemos obter o arco seno (ou arco-seno) de um determinado ângulo (em radianos, não em graus). De acordo com a seguinte definição: Se seno(x) = y, então arcoseno(y) = x O arco-seno (geralmente abreviado como arcsen, ou arcsin) é parte das funções trigonométricas inversas, ou seja, ele é o inverso do seno. Dessa forma, se o seno é a relação entre o cateto oposto ao ângulo e a hipotenusa, o arcoseno parte dessa relação para encontrar o valor do ângulo. A classe Math, do pacote java.lang, possui o seguinte método: public static double asin(double a) Este método recebe um valor double e retorna também um valor double, na faixa (-PI / 2) <= x <= (PI / 2), onde x é o valor forcecido para o método. Veja o código para o exemplo:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
double angulo = 0.5;
System.out.println("O arco seno de " +
angulo + " é " + Math.asin(angulo));
}
}
Ao executarmos este código nós teremos o seguinte resultado: O arco seno de 0.5 é 0.5235987755982989 Não se esqueça de que o resultado será em radianos. Assim, se efetuarmos o cálculo abaixo: Graus = Radianos * (180 / PI) Graus = 0.5235987755982989 * (180 / 3.14) Teremos o valor aproximado de 30.015216435571276 para o ângulo em graus. |
PHP ::: Dicas & Truques ::: Strings e Caracteres |
PHP para iniciantes - Como substituir substrings considerando maiúsculas e minúsculas usando a função str_replace() do PHPQuantidade de visualizações: 2 vezes |
|
A função str_replace() da linguagem PHP é muito útil quando precisamos efetuar substituições de substrings em uma string, ou seja, precisamos substituir partes de uma palavra, frase ou texto. No entanto, temos que ficar atentos ao fato de que esta função diferencia letras maiúsculas de minúsculas. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
$frase = "Jsp? Gosto de programar em JSP";
echo "Original: " . $frase;
$frase = str_replace("JSP", "PHP", $frase);
echo "<br>Depois da substituição: " . $frase;
?>
</body>
</html>
Ao executar este código PHP nós teremos o seguinte resultado: Original: Jsp? Gosto de programar em JSP Depois da substituição: Jsp? Gosto de programar em PHP |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular o determinante de uma matriz 3x3 usando a Método de Sarrus em Python - Python para Álgebra LinearQuantidade de visualizações: 6193 vezes |
|
Os estudos da Geometria Analítica e Álgebra Linear envolvem, em boa parte de seus cálculos, a magnitude de vetores, ou seja, o módulo, tamanho, comprimento ou intensidade dos vetores. E isso não é diferente em relação às matrizes. Quando uma matriz é envolvida nos cálculos, com muita frequência precisamos obter o seu determinante, que nada mais é que um número real associado à todas as matrizes quadradas. Nesta dica mostrarei como obter o determinante de uma matriz quadrada de ordem 3, ou seja, três linhas e três colunas, usando o Método de Sarrus (somente matrizes 3x3). Note que é possível obter o mesmo resultado com o Teorema de Laplace, que não está restrito às matrizes quadradas de ordem 3. Veja também que não considerei as propriedades do determinante, o que, em alguns casos, simplifica muito os cálculos. Então, vamos supor a seguinte matriz 3x3: ![]() O primeiro passo é copiarmos a primeira e a segunda colunas para o lado direito da matriz. Assim: ![]() Agora dividimos a matriz em dois conjuntos: três linhas diagonais descendentes e três linhas diagonais ascendentes: ![]() Agora é só efetuar cálculos. Multiplicamos e somamos os elementos de cada conjunto, subtraindo o segundo conjunto do primeiro. Veja: (1 x 5 x 9 + 2 x 6 x 7 + 3 x 4 x 8) - (7 x 5 x 3 + 8 x 6 x 1 + 9 x 4 x 2) = 0 Como podemos ver, o determinante dessa matriz é 0. E agora veja o código Python no qual declaramos e instanciamos uma matriz 3x3, em seguida, calculamos o seu determinante:
# importamos a bibliteca NumPy
import numpy as np
# função principal do programa
def main():
# vamos criar uma matriz 3x3
m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)])
# calcula o determinante usando a Regra de Sarrus
det = ((m[0][0] * m[1][1] * m[2][2]) + (m[0][1]
* m[1][2] * m[2][0]) + (m[0][2] * m[1][0] * m[2][1])) - ((m[2][0]
* m[1][1] * m[0][2]) + (m[2][1] * m[1][2] * m[0][0]) + (m[2][2]
* m[1][0] * m[0][1]))
# mostramos o resultado
print("O determinante da matriz é: %f" % det)
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O determinante da matriz é: 2.0 É possível também obter o determinante de uma matriz (não restrita à dimensão 3x3) usando o método linalg.det() da biblioteca NumPy do Python. Veja o código a seguir:
# importamos a bibliteca NumPy
import numpy as np
# função principal do programa
def main():
# vamos criar uma matriz 3x3
m = np.array([(1, 2, 3), (2, 5, 2), (1, 3, 1)])
# calcula o determinante usando apenas NumPy
det = np.linalg.det(m)
# mostramos o resultado
print("O determinante da matriz é: %f" % det)
if __name__== "__main__":
main()
Veja que usei a mesma matriz e, usando apenas o método linalg.det() nós obtemos o mesmo resultado. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicialQuantidade de visualizações: 3 vezes |
|
Nesta dica mostrarei como é possível usar o método indexOf() da classe String para obter o índice (começando em 0) da primeira ocorrência de uma substring em uma string. Se a substring não for encontrada, o retorno será -1. Veja o código completo para o exemplo:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
String frase = "Programar em Java é muito bom";
System.out.println("Frase: " + frase);
// verifica se a frase contém a palavra Java
int res = frase.indexOf("Java");
if(res > 0){
System.out.println("A substring foi encontrada " +
" na posicao (índice): " + res);
}
else{
System.out.println("A substring nao foi encontrada");
}
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Frase: Programar em Java é muito bom A substring foi encontrada na posicao (índice): 13 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
C - Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







