![]() |
|
|
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 ::: Estruturas de Controle |
Exercício Resolvido de Python - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menorQuantidade de visualizações: 5202 vezes |
|
Algoritmos Resolvidos de Python - Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor Pergunta/Tarefa: Um comerciante comprou um produto e quer vendê-lo com um lucro de 45% se o valor da compra for menor que R$ 20,00; caso contrário, o lucro será de 30%. Elabore um algoritmo que leia o valor do produto e imprima o valor de venda para o produto. Sua saída deverá ser parecida com: Informe o valor do produto: 85 O valor de venda é: 110.5 Veja a resolução comentada deste exercício usando Python: Código para principal.py:
# método principal
def main():
# valor ler o valor do produto
valor = float(input("Informe o valor do produto: "))
# vamos calcular o valor de venda
if valor < 20:
valor_venda = valor + (valor * (45.0 / 100))
else:
valor_venda = valor + (valor * (30.0 / 100))
print("O valor de venda é: {0}".format(valor_venda))
if __name__== "__main__":
main()
|
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenhoQuantidade de visualizações: 14408 vezes |
|
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException. O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar uma linha");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
// Desenha uma linha no JLabel
Graphics graphics = label.getGraphics();
graphics.drawLine(0, 0, 150, 100);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do PythonQuantidade de visualizações: 3571 vezes |
|
O objeto ndarray é a parte mais importante da biblioteca Numpy do Python. É por meio dele que criamos vetores e matrizes. Quando falamos vetores, estamos nos referindo às matrizes de apenas uma dimensão, ou seja, uma linha e várias colunas. A forma mais comum de se criar arrays na Numpy é usando funções presentes na biblioteca. Veja: # importamos a bibliteca NumPy import numpy as np def main(): # vamos usar o método arange() para construir um # vetor de 10 elementos, começando de 0 até 9 vetor = np.arange(10) # vamos mostrar o vetor gerado print(vetor) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: [0 1 2 3 4 5 6 7 8 9] Depois que criamos o vetor, seus elementos individuais podem ser acessados usando-se o nome da variável usada para representar todo o valor e o índice do elemento que queremos acessar (começando em 0). Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos usar o método arange() para construir um vetor de
# 10 elementos, começando de 0 até 9
vetor = np.arange(10)
# vamos mostrar o vetor inteiro
print("Vetor gerado: ", vetor)
# vamos mostrar o valor do terceiro elemento
print("Terceiro elemento: ", vetor[2])
if __name__== "__main__":
main()
Este código produzirá o seguinte resultado: Vetor gerado: [0 1 2 3 4 5 6 7 8 9] Terceiro elemento: 2 Uma outra forma de criarmos vetores usando a Numpy, é fornecendo os elementos do vetor como uma list. Veja:
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar um vetor passando uma list
valores = np.array([4, 12, 50, 8, 32])
# vamos mostrar o resultado
print("Elementos no vetor:", valores)
if __name__== "__main__":
main()
Este código vai gerar o seguinte resultado: Elementos no vetor: [ 4 12 50 8 32] Agora vamos usar essa mesma abordagem para criar uma matriz de duas dimensões (bidimensional):
# importamos a bibliteca NumPy
import numpy as np
def main():
# vamos criar uma matriz bidimensional passando
# duas lists dentro de uma list
valores = np.array([(4, 12, 50), (5, 3, 1)])
# vamos mostrar o resultado
print("Elementos no vetor:", valores)
if __name__== "__main__":
main()
Veja o resultado da execução desse código: Elementos no vetor: [[12 12 50] [ 5 3 1]] Em mais dicas dessa seção você aprenderá mais sobre as funções de criação e manipulação de vetores e matrizes usando a biblioteca NumPy do Python. |
HTML5 ::: HTML5 + JavaScript ::: Canvas |
Programação gráfica para iniciantes - Como desenhar círculos com ou sem preenchimento usando o método arc() do objeto Canvas do HTML5Quantidade de visualizações: 7510 vezes |
Podemos usar o método arc() do objeto Canvas do HTML5 para desenhar círculos com ou sem prenchimento. Veja nos exemplos abaixo como isso pode ser feito. Primeiro um círculo sem preenchimento:
<!doctype html>
<html>
<head>
<title>O objeto Canvas do HTML5</title>
</head>
<body>
<Canvas id="canvas1" width="500" height="350"></Canvas>
<script type="text/javascript">
// obtemos uma referência ao elemento Canvas
var canvas = document.getElementById("canvas1");
// obtemos o contexto de desenho
var contexto = canvas.getContext("2d");
// vamos desenhar um círculo sem preenchimento com raio de 80
contexto.beginPath(); // início um novo caminho
// o círculo começa no x = 100, y = 100, começa no ângulo 0
// e vai até o ângulo 360 (as medidas são em radianos, não em graus)
contexto.arc(100, 100, 80, 0, 2 * Math.PI, false);
contexto.lineWidth = 2; // largura da linha
contexto.strokeStyle = '#990000'; // cor da linha
contexto.stroke(); // realiza o desenho
</script>
</body>
</html>
Ao abrir esta página HTML nós teremos o seguinte resultado: ![]() E agora um círculo preenchido:
<!doctype html>
<html>
<head>
<title>O objeto Canvas do HTML5</title>
</head>
<body>
<Canvas id="canvas1" width="500" height="350"></Canvas>
<script type="text/javascript">
// obtemos uma referência ao elemento Canvas
var canvas = document.getElementById("canvas1");
// obtemos o contexto de desenho
var contexto = canvas.getContext("2d");
// vamos desenhar um círculo sem preenchimento com raio de 80
contexto.beginPath(); // início um novo caminho
// o círculo começa no x = 100, y = 100, começa no ângulo 0
// e vai até o ângulo 360 (as medidas são em radianos, não em graus)
contexto.arc(100, 100, 80, 0, 2 * Math.PI, false);
// vamos preencher o círculo
contexto.fillStyle = "#CCCCCC"; // cor do preenchimento
contexto.fill(); // preenche de fato
contexto.lineWidth = 2; // largura da linha
contexto.strokeStyle = '#990000'; // cor da linha
contexto.stroke(); // realiza o desenho
</script>
</body>
</html>
Ao abrir esta página HTML nós teremos o seguinte resultado: ![]() |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C# - Como retornar a quantidade de itens em uma ListBox do C# Windows Forms usando a propriedade Count PHP - Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHP |
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 |






