![]() |
|
|
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 |
||
|
||
|
|
||
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHPQuantidade de visualizações: 8999 vezes |
Em algumas situações precisamos fornecer um objeto de uma classe para um método de outra classe ou mesmo uma simples função PHP. Nesta dica eu mostro como isso pode ser feito. Note que, ao receber o objeto da classe no método ou função, todas as alterações feitas no objeto serão refletidas no objeto original, ou seja, objetos de classe são automaticamente passados por referência em PHP. Eis o código:
<?php
// classe Cliente com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Cliente{
private $nome;
private $email;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $this->nome;
}
public function setEmail($email){
$this->email = $email;
}
public function getEmail(){
return $this->email;
}
}
// vamos criar um novo objeto da classe Cliente
$c = new Cliente;
$c->setNome("Osmar J. Silva");
$c->setEmail("osmar@arquivodecodigos.com.br");
// vamos agora passar este objeto para uma função PHP
imprimirCliente($c);
// e aqui está a função que recebe o objeto da classe Cliente
// e exibe o valor de suas variáveis
function imprimirCliente($cliente){
echo "Nome: " . $cliente->getNome() . "<br>
E-Mail: " . $cliente->getEmail();
}
?>
Ao executar este código teremos o seguinte resultado: Nome: Osmar J. Silva E-Mail: osmar@arquivodecodigos.com.br |
Python ::: Dicas & Truques ::: Data e Hora |
Como retornar o nome do mês de uma data no formato longo em Python usando o marcador %B do método strftime()Quantidade de visualizações: 8633 vezes |
|
Como retornar o nome do mês de uma data no formato longo em Python usando o marcador %B do método strftime() Nesta dica mostrarei como podemos usar a função strftime() do objeto datetime para retornar o nome do mês de uma data no formato longo, por exemplo, "dezembro". Note que, para isso, nós vamos usar o código de formatação %B. Para deixar o exemplo ainda mais interessante eu usei o método setlocale() da classe locale para exibir o nome do mês em Português, ou seja, de acordo com as configurações regionais. Veja o código Python completo:
from datetime import datetime
import locale
def main():
# Configurações do usuário
locale.setlocale(locale.LC_ALL, "")
# Obtém um datatime da data e hora atual
hoje = datetime.today()
# Exibe o nome do mês no formato longo
print(hoje.strftime("O mês é: %B"))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: O mês é: fevereiro |
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: 1175 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. |
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de VisuAlg - Como verificar quantas vezes um valor é encontrado em um vetor - Como usar vetores e matrizes em VisuAlgQuantidade de visualizações: 673 vezes |
|
Pergunta/Tarefa: Escreva um programa VisuAlg que declara, constrói e inicializa um vetor de 10 inteiros. Em seguida peça para que o usuário informe um valor a ser pesquisado. Faça uma varredura no vetor e informe quantas vezes o valor pesquisado é encontrado: // declara um vetor de 10 inteiros valores: vetor[1..10] de inteiro Informe um valor: 4 O valor foi encontrado: 3 vezes Informe um valor: 8 O valor foi encontrado: 1 vezes Informe um valor: 3 O valor foi encontrado: 0 vezes Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Contar quantas vezes um elemento repete em um vetor"
var
// variáveis usadas na resolução do problema
valores: vetor[1..10] de inteiro
pesquisa, repeticoes, i: inteiro
inicio
// inicializa um vetor de 10 inteiros
valores[1] <- 4
valores[2] <- 21
valores[3] <- 9
valores[4] <- 8
valores[5] <- 12
valores[6] <- 21
valores[7] <- 4
valores[8] <- 4
valores[9] <- 1
valores[10] <- 10
// vamos ler um valor inteiro
escreva("Informe um valor: ")
leia(pesquisa)
// vamos verificar quantas vezes o valor informado está
// contido no vetor
repeticoes <- 0
para i de 1 ate 10 faca
se valores[i] = pesquisa entao
// encontrou? vamos contar esta ocorrência
repeticoes <- repeticoes + 1
fimse
fimpara
// vamos mostrar o resultado
escreva("O valor foi encontrado: ", repeticoes, " vezes")
fimalgoritmo
|
VisuAlg ::: Desafios e Lista de Exercícios Resolvidos ::: VisuAlg Básico |
Exercícios Resolvidos de VisuAlg - Escreva um programa VisuAlg que pergunte a velocidade de um carro. Caso ultrapasse 80km/h, exiba uma mensagem dizendo queQuantidade de visualizações: 949 vezes |
|
Pergunta/Tarefa: Escreva um programa VisuAlg que pergunte a velocidade de um carro. Caso ultrapasse 80km/h, exiba uma mensagem dizendo que o usuário foi multado. Nesse caso, exiba o valor da multa, cobrando R$ 5,00 por cada quilômetro acima da velocidade permitida. Sua saída deve ser parecida com: Velocidade do carro: 85 Você foi multado. A multa a ser paga é: 25.0 Velocidade do carro: 75 Você não foi multado Velocidade do carro: 110 Você foi multado. A multa a ser paga é: 150.0 Veja a resolução comentada deste exercício usando VisuAlg:
algoritmo "Calcular a velocidade de um carro em VisuAlg"
var
// variáveis usadas na resolução do problema
velocidade, multa: real
// função principal do programa
inicio
// vamos pedir para o usuário informar a velocidade
// do carro
escreva("Informe a velocidade do carro: ")
leia(velocidade)
// vamos verificar se o usuário foi multado
se (velocidade > 80) entao
escreval("Você foi multado.")
// vamos calcular a multa
multa <- (velocidade - 80) * 5.0
escreval("A multa a ser paga é: ", multa)
senao
escreval("Você não foi multado")
fimse
escreval()
fimalgoritmo
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VisuAlg |
Veja mais Dicas e truques de VisuAlg |
Dicas e truques de outras linguagens |
|
Java - Como testar se uma determinada chave está contida no HashMap do Java usando o método containsKey() MySQL - Como adicionar uma chave primária a uma tabela MySQL usando o comando ALTER TABLE ADD PRIMARY KEY |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




