![]() |
|
Código-Fonte Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimentoDiga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
|
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar construtores em Ruby - Programação Orientada a Objetos em RubyQuantidade de visualizações: 10787 vezes |
|
Os métodos construtores são recursos muito importantes na construção de objetos de um classe, uma vez que estes permitem inicializar as variáveis de instância do objeto sendo construído. Dessa forma, na programação orientada a objetos, o método construtor tem por finalidade instanciar um novo objeto e já fornecer (ou não) os valores iniciais para as suas variáveis de instância. Em Ruby, o construtor de uma classe é definido com o uso da palavra-chave initialize. Veja um exemplo:
# Definição da classe Cliente
class Cliente
# construtor da classe
def initialize(nome, idade)
@nome = nome
@idade = idade
end
# método que permite retornar o nome do cliente
def obter_nome
@nome
end
# método que permite retornar a idade do cliente
def obter_idade
@idade
end
end
# Cria uma instância da classe Cliente e inicializa as
# variáveis de instância @nome e @idade
cliente = Cliente.new("Osmar J. Silva", 35)
# Efetua uma chamada ao método obter_nome
puts "O nome do cliente é: " + cliente.obter_nome
Ao executar este código Ruby nós teremos o seguinte resultado: O nome do cliente é: Osmar J. Silva |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como abrir ou criar arquivos em C usando a função fopen()Quantidade de visualizações: 67024 vezes |
Há muitas situações nas quais precisamos ler ou gravar dados em arquivos a partir de nossos programas C. O primeiro passo para esta tarefa é aprender a usar a função fopen(). Esta função é a responsável por conectar um ponteiro de arquivos ao arquivo que queremos manipular. Veja sua assinatura:FILE *fopen(const char *nome, const char *modo); O parâmetro nome é uma string que indica o nome do arquivo a ser aberto ou criado. O parâmetro modo indica se o arquivo será aberto para leitura, escrita ou ambos. Antes de continuarmos, veja um trecho de código que tenta abrir um arquivo chamado "testes.txt" localizado no diretório "c:\":
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *arquivo = fopen("c:\\testes.txt", "r");
// testa se o arquivo foi aberto com sucesso
if(arquivo != NULL)
printf("Arquivo foi aberto com sucesso.");
else
printf("Nao foi possivel abrir o arquivo.");
printf("\n\n");
system("PAUSE");
return 0;
}
Veja que a primeira linha declara um ponteiro para a estrutura FILE e atribui a este ponteiro o resultado de uma chamada à função fopen(). Se o arquivo for aberto com sucesso, poderemos manipulá-lo a partir do ponteiro *arquivo. Do contrário, o valor NULL será retornado. A linguagem C padrão permite a definição dos seguintes modos de abertura de arquivos: a - abre um arquivo para inserção. Se o arquivo não existir, o sistema operacional tentará criá-lo. r - abre um arquivo existente para leitura. w - abre um arquivo para escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo. r+ - abre um arquivo existente para leitura e gravação. w+ - abre um arquivo para leitura e escrita. Se o arquivo não existir, o sistema operacional tentará criá-lo. Se o arquivo existir, todo o seu conteúdo será substituído pelo novo conteúdo. a+ - abre um arquivo para inserção e leitura. Se o arquivo não existir, o sistema operacional tentará criá-lo. |
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: 996 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. |
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o Índice de Esbeltez de um pilar em Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 530 vezes |
![]() O índice de esbeltez de um pilar, representado pela letra grega λ (lambda) é uma relação que mede a altura do pilar em relação à sua largura ou seção transversal. Esse índice é usado para avaliar a suscetibilidade de um pilar à flambagem, que é um tipo de falha estrutural que pode ocorrer em pilares esbeltos sob compressão. Segundo a NBR 6118, 15.8.2, os pilares devem ter índice de esbeltez menor ou igual a 200 (λ ≤ 200). Apenas no caso de postes com força normal menor que 0,10 fcd x Ac, o índice de esbeltez pode ser maior que 200. O índice de esbeltez é a razão entre o comprimento de flambagem e o raio de giração, nas direções a serem consideradas. De acordo com o comprimento de flambagem, os pilares classificam-se como: curto, se λ < 35; medianamente esbelto, se 35 < λ < 90; esbelto, se 90 < λ < 140; e muito esbelto, se 140 < λ < 200. A fórmula para o cálculo do índice de esbeltez pode ser definida como: \[\lambda = 3,46 \cdot \frac{le}{h} \] Onde: λ = número adimensional representando o índice de esbeltez ao longo da direção escolhida (x ou y); le = algura do pilar, ou seja, o comprimento do pilar em centímetros. h = dimensão escolhida (x ou y) em centímetros. De acordo com a norma NBR 6118 (ABNT, 2014), se o índice de esbeltez na direção escolhida for menor que 35, nós não precisamos considerar os efeitos locais de 2ª ordem. Vamos agora ao código Python? Pediremos ao usuário para informar o comprimento (altura) do pilar em metros, as dimensões nas direções x e y e mostraremos os índices de esbeltez nas direções x e y do pilar com as respectivas anotações da necessidade ou não da consideração dos efeitos locais de 2ª ordem. Veja:
# método principal
def main():
# vamos pedir o comprimento do pilar em metros (pé direito)
le = float(input("Informe o comprimento do pilar (em metros): "))
# vamos converter o comprimento em metros para centímetros
le = le * 100.0
# vamos pedir as dimensões do pilar
hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))
# agora vamos calcular o índice de esbeltez na direção x
lambda_x = 3.46 * (le / hx)
# agora vamos calcular o índice de esbeltez na direção y
lambda_y = 3.46 * (le / hy)
# e mostramos os resultados
print("\nO índice de esbeltez na direção x é: {0}".format(round(lambda_x, 2)))
# precisamos considerar os efeitos locais de segunda ordem na direção x?
if lambda_x < 35:
print("Não considerar os efeitos locais de 2ª ordem na direção x")
else:
print("Considerar os efeitos locais de 2º ordem na direção x")
print("\nO índice de esbeltez na direção y é: {0}".format(round(lambda_y, 2)))
# precisamos considerar os efeitos locais de segunda ordem na direção y?
if lambda_y < 35:
print("Não considerar os efeitos locais de 2ª ordem na direção y")
else:
print("Considerar os efeitos locais de 2ª ordem na direção y")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o comprimento do pilar (em metros): 2.88 Informe a dimensão do pilar na direção x (em cm): 40 Informe a dimensão do pilar na direção y (em cm): 19 O índice de esbeltez na direção x é: 24.91 Não considerar os efeitos locais de 2ª ordem na direção x O índice de esbeltez na direção y é: 52.45 Considerar os efeitos locais de 2ª ordem na direção y |
JavaScript ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar o tamanho de uma string em JavaScript usando a propriedade length do objeto StringQuantidade de visualizações: 11 vezes |
|
Em várias situações nós precisamos obter a quantidade de caracteres, ou seja, o tamanho de uma palavra, frase ou texto em JavaScript. Para isso nós podemos usar a propriedade length do objeto String. A propriedade length do objeto String da linguagem JavaScript nos retorna um valor inteiro representando a quantidade de caracteres na string, incluindo espaços em branco e pontuações. Veja o código JavaScript completo para o exemplo:
<!doctype html>
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos declarar uma nova string
var frase = "JavaScript é bom demais";
// agora vamos obter o tamanho da string
var tam = frase.length;
// e mostramos o resultado
window.alert("Esta string possui " + tam
+ " caracteres.");
</script>
</body>
</html>
Ao abrir esta página HTML no navegador nós teremos uma mensagem window.alert() com o seguinte conteúdo: Esta string possui 23 caracteres. |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |








