![]() |
|
|
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 cosseno de um ângulo em GNU Octave usando a função cos() - Calculadora de cosseno em OctaveQuantidade de visualizações: 3420 vezes |
|
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem GNU Octave (script do GNU Octave). Esta função, já embutida na linguagem, recebe um valor numérico double e retorna um valor double, ou seja, também numérico) entre -1 até 1 (ambos inclusos). Veja:
# vamos calcular o cosseno de três números
fprintf("Cosseno de 0 = %f\n", cos(0))
fprintf("Cosseno de 1 = %f\n", cos(1))
fprintf("Cosseno de 2 = %f\n", cos(2))
Ao executar este código GNU Octave nós teremos o seguinte resultado: Cosseno de 0 = 1.000000 Cosseno de 1 = 0.540302 Cosseno de 2 = -0.416147 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: ![]() |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Números Aleatórios, Números Randômicos, Amostras Aleatórias, Amostras Randômicas |
Como gerar um número randômico em Python usando a função rand() do módulo random da NumPyQuantidade de visualizações: 1051 vezes |
Em algumas situações nós precisamos gerar um número aleatório na faixa de 0 e 1 (não incluído). Para isso nós podemos usar a função rand() do módulo random da biblioteca NumPy do Python. Veja um exemplo:
# importamos o módulo random da biblioteca NumPy
import numpy as np
# método principal
def main():
# vamos gerar um número decimal aleatório de 0 (incluído)
# à 1 (não incluído)
valor = np.random.rand()
print("O número sorteado foi: {0}".format(valor))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O número sorteado foi: 0.2037063569952866 Note que o número retornado pela função rand() é um float com uma precisão semelhante ao double em outras linguagens de programação. Veja agora uma modificação deste código para gerar 10 números aleatórios:
# importamos o módulo random da biblioteca NumPy
import numpy as np
# método principal
def main():
# vamos gerar 10 números decimais aleatórios de 0 (incluído)
# à 1 (não incluído)
for i in range(10):
valor = np.random.rand()
print("O número sorteado foi: {0}".format(valor))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O número sorteado foi: 0.57920714427429 O número sorteado foi: 0.06329414607318185 O número sorteado foi: 0.12184477988071851 O número sorteado foi: 0.5410663009618577 O número sorteado foi: 0.790229323250604 O número sorteado foi: 0.4733277307431061 O número sorteado foi: 0.7669969432159425 O número sorteado foi: 0.6934927410217504 O número sorteado foi: 0.13216036543343856 O número sorteado foi: 0.6958612722883786 |
C# ::: Dicas & Truques ::: Validação de Dados |
C# Windows Forms - Como validar o conteúdo de uma caixa de texto usando o evento Validating da classe ControlQuantidade de visualizações: 18434 vezes |
|
O evento Validating (disponível para todas as classes que herdam de System.Windows.Forms.Control) é muito útil quando precisamos verificar a validade dos valores inseridos nos controle Windows Forms. Neste exemplo mostrarei como usá-lo para validar o conteúdo de um TextBox. Aqui veremos como verificar se o conteúdo inserido é um valor inteiro válido. Tudo começa com a propriedade CausesValidation da classe Control. Esta propriedade nos permite definir se o controle provocará uma validação de seus dados quando o mesmo estiver prestes a perder o foco, ou seja, o usuário começara a interagir com outro controle após inserir dados no controle alvo da validação. Se o valor desta propriedade for true a validação ocorrerá. Em seguida voltamos nossa atenção para o evento Validating (também declarado originalmente na classe Control). Este evento é disparado quando a propriedade CausesValidation é true e o controle está prestes a perder o foco (o usuário está saindo para interagir com outro controle). Veja a ordem dos eventos quando estamos saindo do controle usando o teclado: a) Leave b) Validating c) Validated d) LostFocus Se estivermos saindo do controle usando o mouse (clicando em outro controle), a ordem é: a) Leave b) Validating c) Validated Veja um exemplo do uso do evento Validating de um TextBox:
private void textBox1_Validating(object sender, CancelEventArgs e){
MessageBox.Show("Meu conteúdo pode ser validado agora");
}
Experimente executar este código, coloque o foco na caixa de texto e depois "saia" para outro componente. Você verá a caixa de mensagem ser exibida. O tratador de evento Validating recebe um objeto da classe CancelEventArgs. Esta classe possui apenas uma propriedade chamada Cancel. Se o valor desta propriedade for definido como true, o evento Validating (e todos que viriam após ele) é cancelado. Isso faz com que o foco fique preso no controle até que o usuário informe o valor correto. Veja:
private void textBox1_Validating(object sender, CancelEventArgs e){
// vamos verificar se a caixa de texto contém um valor inteiro válido
try{
// vamos tentar converter o texto recebido em um valor inteiro
int valor = Int32.Parse(textBox1.Text);
MessageBox.Show("Validação ocorreu com sucesso!");
}
catch(FormatException fe){
// não conseguimos converter o texto em um valor inteiro
MessageBox.Show("Valor inválido! Tente novamente! " +
fe.Message.ToString());
// limpamos a caixa de texto
textBox1.Text = "";
// e "prendemos" o foco na caixa de texto
e.Cancel = true;
}
}
Neste trecho de código nós usamos um bloco try...catch para tentar converter o texto do TextBox em um valor inteiro. Se houver falha na conversão nós avisamos o usuário, limpamos a caixa de texto e forçamos o usuário a fazer a correção. Para finalizar, entra em cena o evento Validated. Este evento é disparado imediatamente após o evento Validating finalizar sua parte e é um bom lugar para avisarmos o usuário sobre o sucesso da validação ou remover quaisquer efeito visual que tenhamos inserido durante o processo de validação. Veja:
private void textBox1_Validating(object sender, CancelEventArgs e){
// vamos verificar se a caixa de texto contém um valor inteiro válido
try{
// vamos tentar converter o texto recebido em um valor inteiro
int valor = Int32.Parse(textBox1.Text);
}
catch(FormatException fe){
// não conseguimos converter o texto em um valor inteiro
MessageBox.Show("Valor inválido! Tente novamente! " +
fe.Message.ToString());
// limpamos a caixa de texto
textBox1.Text = "";
// e "prendemos" o foco na caixa de texto
e.Cancel = true;
}
}
private void textBox1_Validated(object sender, EventArgs e){
MessageBox.Show("Validação ocorreu com sucesso!");
}
Veja que tudo que fizemos aqui foi remover a mensagem de sucesso de validação do evento Validating para o evento Validated. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercício Resolvido de C - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em CQuantidade de visualizações: 2153 vezes |
|
Pergunta/Tarefa: Escreva um programa C para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 Veja a resolução comentada deste exercício usando C:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// função principal do programa
int main(int argc, char *argv[]){
// variáveis usadas na resolução do problema
int numero, sucessor, antecessor;
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um número inteiro
printf("Informe um número inteiro: ");
scanf("%d", &numero);
// vamos calcular o sucessor do número informado
sucessor = numero + 1;
// vamos calcular o antecessor do número informado
antecessor = numero - 1;
// e agora mostramos os resultados
printf("O número informado foi: %d\n", numero);
printf("O antecessor é %d\n", antecessor);
printf("O sucessor é: %d", sucessor);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Python ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como embaralhar os elementos de um array em Python usando random.shuffle()Quantidade de visualizações: 1587 vezes |
|
Nesta dica mostrarei como podemos embaralhar a ordem dos elementos de uma lista do Python. Para isso usaremos o método shuffle() do módulo random. Este método muda a ordem dos elementos no vetor original. Veja o código completo para o exemplo:
# vamos importar o módulo random
import random
# função principal do programa
def main():
# vamos criar uma lista de números inteiros
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# vamos mostrar o vetor original
print("Ordem original: {0}".format(numeros))
# agora vamos embaralhar a ordem dos elementos da lista
random.shuffle(numeros)
# e mostramos o resultado
print("Após o embaralhamento: {0}".format(numeros))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Ordem original: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Após o embaralhamento: [3, 10, 6, 8, 9, 5, 7, 4, 1, 2] |
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 |







