![]() |
|
|
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. |
||
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Pesquisa Operacional |
Exercício Resolvido de Python - Programação Linear em Python - Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metrosQuantidade de visualizações: 1145 vezes |
|
Pergunta/Tarefa: Este exercício de Python aborda o uso da biblioteca PuLP para resolver um problema de Pesquisa Operacional usando Programação Linear. Uma madeireira deseja obter 1000kg de lenha, 2000kg de madeira para móveis e 50 metros quadrados de casca de árvore, dispondo de carvalho e pinheiro, sendo que o carvalho gera 40kg de lenha, 150kg de madeira e 3 metros quadrados de casca aproveitável; o pinheiro 100kg de lenha, 60kg de madeira e 8 metros quadrados de casca aproveitável. Formule o problema, de modo a minimizar os custos, sabendo que cada carvalho custa R$ 1500,00 para a empresa e cada pinheiro R$ 1200,00. Em seguida use a API de Programação Linear do PuLP para resolver o problema e mostrar a melhor solução. Sua saída deverá ser parecida com: x: 11.111111 y: 5.5555556 Antes de passarmos para o código Python é importante entendermos e fazermos a modelagem do problema. Neste exercício busca-se encontrar o custo mínimo. Assim, a nossa função objetivo será dada pela combinação dos preços do carvalho e do pinheiro. Veja: Zmin = 1500x + 1200y Aqui nós definimos a variável x para o carvalho e a variável y para o pinheiro. Agora que já temos a função Z, o próximo passo é analizarmos as restrições. Note que a empresa precisa de 1000kg de lenha. O carvalho gera 40kg de lenha, enquanto o pinheiro gera 100kg. Então nossa primeira restrição é: R1 = 40x + 100y >= 1000 Para a segunda restrição nós temos que a empresa precisa de 2000kg de madeira. O carvalho gera 150kg de madeira, enquanto o pinheiro gera 60kg. Assim, nossa segunda restrição é: R2 = 150x + 60y >= 2000 Finalmente, para a terceira restrição, sabemos que a empresa necessita de 50 metros quadrados de casca de árvore. O carvalho gera 3 metros quadrados de casca aproveitável, enquanto o pinheiro gera 8 metros quadradros. Então a terceira restrição é: R3 = 3x + 8y >= 50 As restrições 4 e 5 dizem que tanto o x quanto o y devem ser maiores ou iguais a zero, e que ambos devem pertencer aos números reais. Veja agora como usamos os dados de formulação para resolver este exercício usando Python e a biblioteca PuLP:
# vamos importar as ferramentas necessárias
from pulp import LpMinimize, LpProblem, LpVariable
# método principal
def main():
# vamos criar o modelo
modelo = LpProblem(name="Pesquisa Operacional em Python", sense=LpMinimize)
# agora inicializamos as variáveis de decisão
x = LpVariable(name="x", lowBound=0)
y = LpVariable(name="y", lowBound=0)
# vamos adicionar as restrições de acordo com a formulação do problema
modelo += (40 * x + 100 * y >= 1000, "R1")
modelo += (150 * x + 60 * y >= 2000, "R2")
modelo += (3 * x + 8 * y >= 50, "R3")
# definimos a função objetivo e a adicionamos ao modelo
funcao_objetivo = 1500 * x + 1200 * y
modelo += funcao_objetivo
# e tentamos resolver o problema
modelo.solve()
# assumindo que o problema foi resolvido com sucesso, vamos
# mostrar os valores das variáveis x e y
for var in modelo.variables():
print(f"{var.name}: {var.value()}")
if __name__== "__main__":
main()
Note como o PuLP nos deu o custo mínimo de 23333.33 para atingir o objetivo desejado pela madeireira. |
PHP ::: Dicas & Truques ::: Expressões Regulares |
Expressões Regulares em PHP - Como usar expressões regulares em PHPQuantidade de visualizações: 9792 vezes |
|
Expressões regulares são padrões pré-definidos que permitem pesquisar ou substituir uma substring em uma string. Isso quer dizer que expressões regulares são uma ferramenta muito útil para validar CEPs, números de telefones, cartões de crédito, endereços de e-mail, entre outros. Várias linguagens de programação suportam expressões regulares, entre estas Perl, JavaScript, Java, C#, Python e VB.NET. Porém, o domínio destas expressões é privilégio de poucos. Talvez por sua complexidade ou até mesmo pelo fato de que alguns programadores se contentam em aprender apenas as características básicas de uma linguagem de programação. Quando precisam escrever um programa realmente avançado, vão em busca de códigos prontos e que satisfaçam suas necessidades depois de algumas pequenas alterações. O PHP suporta dois tipos de expressões regulares: PCRE (Perl-Compatible Regular Expression) e POSIX Extended. O grupo de dicas apresentadas nesta seção de nosso site abrange estes dois tipos de expressões regulares. Algumas funções de expressões regulares PCRE são: preg_grep(), preg_last_error(), preg_match_all(), preg_match(), preg_quote(), preg_replace_callback(), preg_replace() e preg_split(). Estas funções são abordadas com mais detalhes nesta seção. Algumas funções de expressões regulares POSIX Regex são: ereg_replace(), ereg(), eregi_replace(), eregi(), split(), spliti(), sql_regcase(). Veja um trecho de código que usa a função eregi() para verificar se uma URL começa com http ou https:
<?
$url = "http://www.arquivodecodigos.com.br";
// vamos verificar se a URL começa com http ou https
if(eregi("^http|https", $url))
echo "A URL começa com o padrão analisado";
else
echo "A URL NÃO começa com o padrão analisado";
?>
|
JavaScript ::: Web APIs (APIs Web) ::: MediaDevices Interface (Interface MediaDevices) |
Como acessar as mídias do usuário em JavaScript usando a função getUserMedia() da interface MediaDevicesQuantidade de visualizações: 3255 vezes |
|
O método getUserMedia() da interface MediaDevices nos permite acessar as entradas de mídias do usuários, tais como áudio e vídeo. Isso facilita o desenvolvimento de aplicações muito interessantes, a saber, tirar foto usando a webcam, gravar áudio a partir do microfone, gravar vídeo a partir da webcam, etc. No entanto, antes de usar o MediaStream retornado pelo método getUserMedia(), é importante saber que o usuário deverá dar a sua permissão. Assim, sempre que o método getUserMedia() é chamado, uma janela de informação é mostrada para que o usuário concorde ou não em permitir o acesso às suas mídias. Veja, por exemplo, como solicitar acesso à webcam/câmera do usuário:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>A interface MediaDevices</title>
</head>
<body>
<script type="text/javascript">
async function obterMediaUsuario(){
// vamos obter o stream
var stream = null;
try{
stream = await navigator.mediaDevices.getUserMedia({video: true});
window.alert("A mídia para vídeo foi obtida com sucesso.");
// agora podemos fazer algo com o stream aqui
}
catch(erro){
window.alert("Houve um erro: " + erro);
}
}
// o browser suporta o MediaDevices?
if(navigator.mediaDevices){
obterMediaUsuario()
}
else{
window.alert("O navegador não suporta o MediaDevices");
}
</script>
</body>
</html>
Veja que usamos uma função assíncrona para getUserMedia(). Isso é necessário porque esta função retorna uma Promise que, em caso de sucesso, será convertida em um objeto MediaStream. Se o usuário não permitir o acesso, um erro do tipo NotAllowedError ou NotFoundError será retornado. Alguns navegadores só permitem o uso do método getUserMedia() em ambiente seguro HTTPS ou localhost. Em mais dicas dessa seção você verá como tirar proveito do MediaStream retornado pela função getUserMedia() e também como tratar melhor os erros retornados. |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Matemática e Estatística |
Tutorial Machine Learning com Python - Como usar o método mean() da biblioteca NumPy para calcular média (ou média aritmética simples)Quantidade de visualizações: 4642 vezes |
|
Média aritmética (ou simplesmente média simples) é a soma de vários valores e dividido pelo total deles. Ou seja, o resultado dessa divisão equivale a um valor médio entre todos os valores. Veja a seguinte figura: ![]() Veja que temos 4 valores: 4, 9, 12 e 25. Assim, para obter a média aritmética desses valores, só precisamos somá-los e depois dividir pela quantidade, ou seja, por 4. A média resultante será 12,5. A biblioteca NumPy do Python nos oferece o método mean(), muito usado em Data Science e Machine Learning, que recebe um vetor de valores númericos (inteiro ou decimais) e retorna a média deles. Veja um exemplo:
# importamos a biblioteca NumPy
import numpy
def main():
# valores a serem observados
valores = [4, 9, 12, 25]
# vamos obter a média aritmética simples
media = numpy.mean(valores)
# vamos mostrar o resultado
print("A média dos valores é:", media)
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: A média dos valores é: 12.5 |
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Como usar a propriedade parentNode para obter o objeto pai de um elemento na hierarquia do DOM do JavaScript Firebird - Como usar o tipo de dados BLOB do Firebird para a gravação de imagens, vídeos e arquivos de música Delphi - Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltipla |
Você também poderá gostar das dicas e truques de programação abaixo |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




