![]() |
|
|
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 - Construção Civil |
||
|
||
|
|
||
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como repetir os elementos de um vetor ou matriz usando a função repeat() da NumPy do PythonQuantidade de visualizações: 1414 vezes |
|
A função repeat() da biblioteca NumPy do Python é usada quando queremos repetir os elementos de um vetor ou matriz um determinado número de vezes. Em sua forma mais simples esta função pede um array e um número inteiro indicando a quantidade de repetições. Veja o código Python completo para o exemplo:
# vamos importar a biblioteca NumPy
import numpy as np
def main():
# vamos criar um vetor contendo 5 elementos
vetor = np.array([5, 3, 9, 1, 4])
# agora vamos aplicar a função repeat() a este vetor
novo_vetor = np.repeat(vetor, 3)
# vamos mostrar o resultado
print("O vetor original é: {0}".format(vetor))
print("O novo vetor é: {0}".format(novo_vetor))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O vetor original é: [5 3 9 1 4] O novo vetor é: [5 5 5 3 3 3 9 9 9 1 1 1 4 4 4] Veja agora o efeito desta função em uma matriz de 2 linhas por 3 colunas:
# vamos importar a biblioteca NumPy
import numpy as np
def main():
# vamos criar uma matriz de 2 linhas e 3 colunas
matriz = np.array([(1, 2, 3), (4, 5, 6)])
# agora vamos aplicar a função repeat() a esta matriz
nova_matriz = np.repeat(matriz, 3, 0)
# vamos mostrar o resultado
print("A matriz original é:\n\n{0}".format(matriz))
print("A nova matriz é:\n\n{0}".format(nova_matriz))
if __name__== "__main__":
main()
Note que informei o valor 0 para o terceiro parâmetro da função repeat(). Isso faz com que os elementos da matriz sejam repetidos no eixo x. Veja: A matriz original é: [[1 2 3] [4 5 6]] A nova matriz é: [[1 2 3] [1 2 3] [1 2 3] [4 5 6] [4 5 6] [4 5 6]] Se trocarmos o valor 0 por 1, o resultado será: A matriz original é: [[1 2 3] [4 5 6]] A nova matriz é: [[1 1 1 2 2 2 3 3 3] [4 4 4 5 5 5 6 6 6]] |
C# ::: Coleções (Collections) ::: List<T> |
Como pesquisar um elemento em uma lista do C# usando a função Find() e um PredicateQuantidade de visualizações: 15708 vezes |
|
Em algumas situações gostaríamos de pesquisar e retornar o primeiro elemento de uma List<T> que obedece a algum critério de busca. Assim, poderíamos, por exemplo, pesquisar um nome que começa com uma determinada palavra ou um preço de produto maior ou igual a um determinado valor. Para tais situações podemos usar o método Find(). Este método possui a seguinte assinatura: public T Find( Predicate<T> match ) Veja que o método pede um delegate do tipo Predicate<T> que define as condições para a pesquisa do elemento. Se o elemento for encontrado, este é retornado. Caso contrário, o valor padrão para T é retornado (null para referências). Veja um trecho de código no qual eu mostro como usar o método Find() em combinação com um método personalizado que permite usar um delegate anônimo. Desta forma conseguimos fornecer, em tempo de execução, o argumento para o parâmetro match do Predicate:
static void Main(string[] args){
// vamos criar um objeto da classe List<T>
List<string> nomes = new List<string>();
// vamos inserir quatro valores na lista
nomes.Add("Osmar J. Silva");
nomes.Add("Salvador Miranda de Andrade");
nomes.Add("Dyego Fernandes de Souza");
nomes.Add("Marcos de Paula Rocha");
// vamos pesquisar um valor na lista usando um método personalizado
// Neste exemplo vamos retornar o primeiro nome que contenha a palavra
// "Dyego"
string nome = encontrar(nomes, "Dyego");
// vamos verificar se o nome foi encontrado
if(nome != null){
// foi encontrado....vamos retornar o resultado
Console.WriteLine(nome);
}
else{
Console.WriteLine("Nenhum nome encontrado.");
}
// vamos pausar a execução
Console.Write("\n\nPressione qualquer tecla para continuar...");
Console.ReadKey();
}
// método auxiliar que permite encontrar um valor na lista usando
// o método Find() da classe List<T> e um Predicate
static string encontrar(List<string> lista, string texto){
string encontrado = null;
// vamos pesquisar o valor na lista usando seu método Find()
// Aqui o primeiro nome que passar no critério de busca será retornado
encontrado = lista.Find(delegate(string valor){
return valor.Contains(texto);
});
return encontrado;
}
O método Find() executa uma busca linear. Assim, este método é uma operação O(n), onde n é a quantidade de elementos na lista. |
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Vetores e Matrizes em PHP - Como sortear um ou mais elementos de um vetor em PHPQuantidade de visualizações: 15312 vezes |
Nesta dica mostrarei como usar a função array_rand() da linguagem PHP para sortear elementos de um vetor (array). Coloque o código abaixo na sua página e atualize-a várias vezes para ver o resultado:
<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
<?php
$pessoas = array();
$pessoas[0] = "Carlos";
$pessoas[1] = "Juliana";
$pessoas[2] = "Igor";
$pessoas[3] = "Marcelo";
// sorteia um elemento
$sorteado = array_rand($pessoas, 1);
echo "O sorteado foi: " . $pessoas[$sorteado] .
"<br><br>";
// sorteia dois elementos
$sorteados = array_rand($pessoas, 2);
echo "Os sorteados foram: <br>";
for($i = 0; $i < count($sorteados); $i++){
echo $pessoas[$sorteados[$i]] . "<br>";
}
?>
</body>
</html>
Ao executar este código nós teremos um resultado parecido com: O sorteado foi: Carlos Os sorteados foram: Carlos Igor |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de VisuAlg - Como testar se um ano é bissexto em VisuAlg - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 1480 vezes |
|
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa VisuAlg que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Como testar se um ano é bissexto em VisuAlg"
var
// variáveis usadas na resolução do problema
ano: inteiro
inicio
// vamos solicitar que o usuário informe um ano
escreva("Informe o ano: ")
leia(ano)
// vamos verificar se o ano informado é bissexto
se (((ano mod 4 = 0) e (ano mod 100 <> 0)) ou (ano mod 400 = 0)) entao
escreva("O ano informado é bissexto.")
senao
escreva("O ano informado não é bissexto.")
fimse
fimalgoritmo
|
C# ::: Dicas & Truques ::: Mouse e Teclado |
C# Windows Forms - Como verificar o estado da tecla Num Lock em suas aplicações C# Windows FormsQuantidade de visualizações: 8901 vezes |
|
Em algumas situações nós precisamos verificar o estado da tecla Num Lock (que ativa ou desativa o teclado numérico), ou seja, precisamos saber se ela está ou não ativada. Em C# isso pode ser feito de duas formas: 1) A forma mais simples, oferecida no .NET Framework a partir da versão 2.0; 2) Usando código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Vamos começar com a forma mais fácil, disponível no .NET Framework a partir da versão 2.0:
private void button1_Click(object sender, EventArgs e){
// vamos verificar se a tecla Num Lock está ativada
if(Control.IsKeyLocked(Keys.NumLock)){
MessageBox.Show("A tecla Num Lock está ativada");
}
else{
MessageBox.Show("A tecla Num Lock NÃO está ativada");
}
}
Aqui nós usamos o método IsKeyLocked() da classe Control e fornecemos como argumento a constante NumLock, da enumeração Keys. A segunda forma consiste em usar código não gerenciado (unmanaged code) e acessar a API do Windows (Win32 API). Para isso devemos seguir os seguintes passos: a) Adicionar using System.Runtime.InteropServices; na seção de importações. b) Adicionar o código abaixo no corpo da classe, como um método:
// Função com código não gerenciado que obtém o estado de uma
// determinada tecla
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true,
CallingConvention = CallingConvention.Winapi)]
public static extern short GetKeyState(int keyCode);
c) Adicione o código abaixo no evento Click de um botão:
private void button1_Click(object sender, EventArgs e){
// vamos obter o estado da tecla Num Lock como um boolean
bool NumLock = (((ushort)GetKeyState(0x90)) & 0xffff) != 0;
// vamos verificar se a tecla Num Lock está ativada
if(NumLock){
MessageBox.Show("A tecla Num Lock está ativada");
}
else{
MessageBox.Show("A tecla Num Lock NÃO está ativada");
}
}
|
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 |



