Você está aqui: Cards de Ética e Legislação Profissional |
||
|
||
|
|
||
React.js ::: Dicas & Truques ::: Passos Iniciais |
Aprenda a desenvolver aplicações React diretamente no HTML, sem usar a ferramenta create-react-appQuantidade de visualizações: 1637 vezes |
|
Embora seja recomendável usar a ferramenta create-react-app para criar suas aplicações React, às vezes gostaríamos de testar algumas idéias diretamente no código HTML, ou seja, sem precisar passar pelo processo "npx create-react-app" -> "npm start" -> "npm run build". Tudo que temos que fazer é incluir três scripts, a saber, react.production.min.js, react-dom.production.min.js e babel.min.js. Estes scripts estão disponíveis para inclusão via CDN (o mais recomendado) ou você pode baixá-los para uso local, o que, com certeza, vai deixar o processo de desenvolvimento ainda mais rápido. Para obter os CDS ou fazer o download individual dos mesmos, basta pesquisá-los no Google por seus nomes. Nesta dica eu optei por baixar os scripts e rodá-los a partir da minha máquina de desenvolvimento. Os dois primeiros scripts nos permitem escrever código React em nossos códigos JavaScript, e o terceiro, babel.min.js, nos permite usar a síntáxe JSX (JavaScript XML) e também dar suporte ao JavaScript ES6 para os navegadores mais antigos. Então, vamos escrever código? Veja a listagem a seguir:
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Estudos React</title>
<script src="js/react.production.min.js"></script>
<script src="js/react-dom.production.min.js"></script>
<script src="js/babel.min.js"></script>
</head>
<body>
<h1>Primeira aplicação React direto no HTML</h1>
<div id="minha_app"></div>
<script type="text/babel">
// vmaos criar um novo compomente React
class Mensagem extends React.Component{
render() {
return <h1>Olá, bem-vindo(a) ao React!</h1>
}
};
// vamos exibir o componente Mensagem na div minha_app
ReactDOM.render(<Mensagem />, document.getElementById('minha_app'));
</script>
</body>
</html>
Ao abrir esta página no navegador teremos o seguinte resultado: Primeira aplicação React direto no HTML Olá, bem-vindo(a) ao React! Pronto! Agora você pode testar idéias no React de forma bem rápida e fácil. Mas, lembre-se, em aplicações mais complexas, o uso da ferramenta create-react-app continua sendo o mais recomendado. |
JavaScript ::: JavaScript para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando JavaScript - Geometria Analítica e Álgebra Linear usando JavaScriptQuantidade de visualizações: 2668 vezes |
|
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: ![]() Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código JavaScript que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos declarar os valores x e y
var x = 7;
var y = 6;
// vamos calcular a norma do vetor
var norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
// mostra o resultado
document.writeln("A norma do vetor é: " + norma);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
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: 920 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. |
Java ::: Estruturas de Dados ::: Pilhas |
Como criar uma pilha em Java usando um vetor (array) - Estruturas de Dados em JavaQuantidade de visualizações: 2812 vezes |
A Pilha é uma estrutura de dados do tipo LIFO - Last-In, First-Out (Último a entrar, primeiro a sair). Neste tipo de estrutura, o último elemento a ser inserido é o primeiro a ser removido. Veja a imagem a seguir:![]() Embora seja mais comum a criação de uma estrutura de dados do tipo Pilha de forma dinâmica (usando ponteiros e referências), nesta dica eu mostrarei como podemos criá-la em Java usando um array, ou seja, um vetor. No exemplo eu usei inteiros, mas você pode modificar para o tipo de dados que você achar mais adequado. Veja o código completo para uma classe Pilha usando um vetor de ints. Veja que o tamanho do vetor é informado no construtor da classe. Note também a lógica empregada na construção dos métodos empilhar(), desempilhar() e imprimirPilha(): Código para Pilha.java:
package estudos;
public class Pilha {
private int elementos[]; // elementos na pilha
private int topo; // o elemento no topo da pilha
private int maximo; // a quantidade máxima de elementos na pilha
// construtor da classe Pilha
public Pilha(int tamanho) {
// constrói o vetor
this.elementos = new int[tamanho];
// define o topo como -1
this.topo = -1;
// ajusta o tamanho da pilha para o valor recebido
this.maximo = tamanho;
}
// método usado para empilhar um novo elemento na pilha
public void empilhar(int item) {
// a pilha já está cheia?
if (this.topo == (this.maximo - 1)) {
System.out.println("\nA pilha está cheia\n");
}
else {
// vamos inserir este elemento no topo da pilha
this.elementos[++this.topo] = item;
}
}
// méodo usado para desempilhar um elemento da pilha
public int desempilhar() {
// a pilha está vazia
if (this.topo == -1) {
System.out.println("\nA pilha está vazia\n");
return -1;
}
else {
System.out.println("Elemento desempilhado: " + elementos[topo]);
return this.elementos[this.topo--];
}
}
// método que permite imprimir o conteúdo da pilha
public void imprimirPilha() {
// pilha vazia
if (this.topo == -1) {
System.out.println("\nA pilha está vazia\n");
}
else {
// vamos percorrer todos os elementos da pilha
for (int i = 0; i <= this.topo; i++) {
System.out.println("Item[" + (i + 1) + "]: " + this.elementos[i]);
}
}
}
}
Veja agora o código para a classe principal, ou seja, a classe Main usada para testar a funcionalidade da nossa pilha: Código para Principal.java:
package estudos;
public class Estudos{
public static void main(String[] args){
// vamos criar uma nova pilha com capacidade para 5 elementos
Pilha p = new Pilha(5);
// vamos empilhar 3 elementos
p.empilhar(34);
p.empilhar(52);
p.empilhar(18);
// vamos mostrar os elementos na pilha
System.out.println("Itens presentes na Pilha\n");
p.imprimirPilha();
// agora vamos remover e retornar dois elementos da pilha
System.out.println();
p.desempilhar();
p.desempilhar();
// vamos mostrar os elementos na pilha novamente
System.out.println("\nItens presentes na Pilha\n");
p.imprimirPilha();
}
}
Ao executar este código Java nós teremos o seguinte resultado: Itens presentes na Pilha Item[1]: 34 Item[2]: 52 Item[3]: 18 Elemento desempilhado: 18 Elemento desempilhado: 52 Itens presentes na Pilha Item[1]: 34 |
Python ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Aprenda a programar em Python - Como criar suas próprias funções em PythonQuantidade de visualizações: 17992 vezes |
Funções em Python são definidas usando a palavra-chave def. Tal palavra é seguida pelo nome da função, seguida de um par de parênteses que podem conter os parâmetros da função. Finalmente os dois-pontos (:) finalizam a definição da função. Veja um exemplo:def minhaFuncao(): print "Fui chamada" # chama a função minhaFuncao() Veja agora um exemplo de função com um parâmetro:
def escrever(texto):
print texto
# chama a função
escrever("Gosto de programar em Python")
Em Python, funções podem retornar um resultado para o código chamador usando a palavra-chave return. Veja:
def maior(x, y):
if x > y:
return x
else:
return y
# chama a função
print maior(43, 6)
|
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 |








