![]() |
|
|
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 Cards de Hidrologia |
||
|
||
|
|
||
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o comprimento da hipotenusa em GNU Octave dadas as medidas do cateto oposto e do cateto adjascenteQuantidade de visualizações: 1425 vezes |
Nesta dica mostrarei como é possível usar a linguagem GNU Octave para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:![]() Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados. Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras): \[c^2 = a^2 + b^2\] Tudo que temos a fazer a converter esta fórmula para código GNU Octave (um script do GNU Octave). Veja:
a <- 20 # medida do cateto oposto
b <- 30 # medida do cateto adjascente
# agora vamos calcular o comprimento da hipotenusa
c <- sqrt(power(a, 2) + power(b, 2))
# e mostramos o resultado
fprintf("O comprimento da hipotenusa é: %f\n\n", c)
Ao executar este código GNU Octave nós teremos o seguinte resultado: O comprimento da hipotenusa é: 36.056000 Como podemos ver, o resultado retornado com o código GNU Octave confere com os valores da imagem apresentada. |
PHP ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler e processar os dados de um arquivo CSV usando a função fgetcsv() do PHPQuantidade de visualizações: 27510 vezes |
|
Arquivos CSV são arquivos texto cujas linhas possuem valores separados por vírgulas (ou ponto-e-vírgula, dois pontos, etc). As informações contidas em tais arquivos podem ser lidas usando-se a função fgetcsv(). Esta função recebe um ponteiro para um arquivo, o tamanho da maior linha de texto no arquivo (forneça 0 se não quiser ter este limite em seu código) e o caractere de delimitação (no exemplo eu usei ponto-e-vírgula). Observe a estrutura do seguinte arquivo CSV: 23;OSMAR J SILVA;AV. LESTE, 54;GOIANIA;GO 19;MARCOS DE PAULA;RUA L, 523;SÃO PAULO;SP As informações deste arquivo podem ser lidas usando-se o código abaixo:
<?php
// nome do arquivo
$arquivo = 'dados.csv';
// ponteiro para o arquivo
$fp = fopen($arquivo, "r");
// processa os dados do arquivo
while(($dados = fgetcsv($fp, 0, ";")) !== FALSE){
$quant_campos = count($dados);
for($i = 0; $i < $quant_campos; $i++){
echo $dados[$i] . "<br>";
}
echo "<br>";
}
fclose($fp);
?>
Ao executar este código PHP nós teremos o seguinte resultado: 23 OSMAR J SILVA AV. LESTE, 54 GOIANIA GO 19 MARCOS DE PAULA RUA L, 523 SÃO PAULO SP |
C# ::: Coleções (Collections) ::: ArrayList |
Como passar uma ArrayList para um método C#Quantidade de visualizações: 10000 vezes |
|
Em algumas situações nós precisamos fornecer uma ArrayList para um método C# e manipulá-la a partir deste método. Nesta dica eu mostro como isso pode ser feito. Veja que, dentro do método Main da aplicação nós criamos um novo objeto da classe ArrayList e inserimos 5 números inteiros nela. Em seguida nós efetuamos uma chamada ao método exibirArrayList() passando a lista como referência, ou seja, qualquer alteração que fizermos na ArrayList dentro do método afetará também o objeto criado fora do método. Veja o código completo para o exemplo:
using System;
using System.Collections;
namespace Estudos {
class Program {
static void Main(string[] args) {
// Cria o ArrayList
ArrayList lista = new ArrayList();
// Adiciona 5 inteiros
lista.Add(30);
lista.Add(2);
lista.Add(98);
lista.Add(1);
lista.Add(7);
// passa o ArrayList para um método que exibirá
// seus valores
exibirArrayList(lista);
Console.WriteLine("\n\nPressione qualquer tecla para sair...");
// pausa o programa
Console.ReadKey();
}
// método que receberá e exibirá o conteúdo do ArrayList
static void exibirArrayList(ArrayList mLista) {
foreach (int valor in mLista) {
Console.Write("{0} ", valor);
}
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: 30 2 98 1 7 |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Números Aleatórios, Números Randômicos, Amostras Aleatórias, Amostras Randômicas |
Como gerar números aleatórios em Python usando o método random.randint() da biblioteca NumPyQuantidade de visualizações: 3216 vezes |
|
Nesta dica mostrarei como podemos gerar números inteiros randômicos usando random.randint() da biblioteca NumPy. Note que a geração de números aleatórias é uma parte importante para o desenvolvimento de modelos de teste (test models) em Inteligência Artificial (IA), Machine Learning e outras áreas de estudo que envolvem Data Science. Veja um exemplo da forma mais simples do uso da função random.randint():
# importamos o módulo random da bibliteca NumPy
from numpy import random
def main():
# vamos gerar um número inteiro aleatório de 0 (incluído) à
# 10 (não incluído)
valor = random.randint(10)
print("O número sorteado foi: ", valor)
if __name__== "__main__":
main()
Ao executar este código teremos um resultado parecido com: O número sorteado foi: 3 Aqui nós informamos o limite alto do valor aleatório a ser gerado (mas ele não é incluído). Se quisermos limitar a faixa inferior, podemos tirar proveito dos parâmetros low e high da função randint(). Veja:
# importamos o módulo random da bibliteca NumPy
from numpy import random
def main():
# vamos gerar um número inteiro aleatório de 5 (incluído)
# à 10 (não incluído)
valor = random.randint(5, 10)
print("O número sorteado foi: ", valor)
if __name__== "__main__":
main()
A partir da versão 1.19 da NumPy, os desenvolvedores da biblioteca recomendam o uso do método integers() do módulo default_rng(). |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular desvio padrão em C++ - C++ para Matemática e EstatísticaQuantidade de visualizações: 1469 vezes |
|
Em Matemática e Estatística, o Desvio padrão (em inglês: Standard Deviation) é uma medida de dispersão, ou seja, é uma medida que indica o quanto um conjunto de dados é uniforme. Quando o desvio padrão é baixo, isso quer dizer que os dados do conjunto estão mais próximos da média. Como calcular o desvio padrão de um conjunto de dados? Vamos começar analisando a fórmula mais difundida na matemática e na estatística: \[\sigma = \sqrt{ \frac{\sum_{i=1}^N (x_i -\mu)^2}{N}}\] Onde: a) __$\sigma__$ é o desvio; b) __$x_i__$ é um valor qualquer no conjunto de dados na posição i; c) __$\mu__$ é a média aritmética dos valores do conjunto de dados; d) N é a quantidade de valores no conjunto. O somatório dentro da raiz quadrada nos diz que devemos somar todos os elementos do conjunto, desde a posição 1 até a posição n, subtrair cada valor pela média do conjunto e elevar ao quadrado. Obtida a soma, nós a dividimos pelo tamanho do conjunto. Veja o código C++ completo que obtém o desvio padrão a partir de um conjunto de dados contendo quatro valores:
#include <iostream>
#include <math.h>
using namespace std;
// função principal do programa
int main(int argc, char *argv[]){
// conjunto dos dados
double conjunto[] = {10, 30, 90, 30};
double soma = 0.0; // soma dos elementos
double desvio_padrao = 0.0; // desvio padrão
int tam = 4; // tamanho dos dados
double media;
// vamos somar todos os elementos
for(int i = 0; i < tam; i++){
soma = soma + conjunto[i];
}
// agora obtemos a média do conjunto de dados
media = soma / tam;
// e finalmente obtemos o desvio padrão
for(int i = 0; i < tam; i++){
desvio_padrao = desvio_padrao + pow(conjunto[i] - media, 2);
}
// mostramos o resultado
cout << "Desvio Padrão Populacional: " << sqrt(desvio_padrao / tam);
cout << "\nDesvio Padrão Amostral: " << sqrt(desvio_padrao / (tam - 1));
cout << "\n" << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: Desvio Padrão Populacional: 30.0 Desvio Padrão Amostral: 34.64101615137755 Veja que, para calcular o Desvio Padrão Populacional, nós dividimos o somatório pela quantidade de elementos no conjunto, enquanto, para calcular o Desvio Padrão Amostral, nós dividimos o somatório pela quantidade de elementos - 1 (cuidado com a divisão por zero no caso de um conjunto com apenas um elemento). |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






