![]() |
|
|
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 Python |
||
|
||
|
|
||
HTML5 ::: Aplicativos Completos ::: Programas de desenho, edição e visualização de imagens e fotos |
Como criar um programa de desenho simples usando o objeto Canvas do HTML5Quantidade de visualizações: 7969 vezes |
|
Revisando alguns códigos que desenvolvi para clientes ao longo desses anos, encontrei um exemplo de um programa de desenho bem simples demonstrando as possibilidades gráficas do elemento Canvas do HTML. Este código foi escrito há uns dois anos e resolvi compartilhar com todos, para que vocês possam aprimorá-lo e acrescentar novas idéias, afinal, o HTML5 está mais atual do que nunca. Veja o resultado no navegador: ![]() Eu o escrevi de forma bem simples, sem usar jQuery ou qualquer outro framework, apenas JavaScript raiz mesmo, de forma que até os estudantes mais iniciantes não terão dificuldade de entender. Veja a listagem completa e com comentários:
<html>
<head>
<title>Desenhando no canvas do HTML5</title>
</head>
<body style="padding: 15px">
<b>Clique e arraste para desenhar</b><br><br>
<canvas id="quadro" style="border: 1px solid #666"
width="600" height="350"></canvas>
<br><br><button onClick="limpar()">Limpar</button>
<script type="text/javascript">
// obtém uma referência ao canvas
var quadro = document.getElementById('quadro');
// vamos obter o contexto de desenho
var areaDesenho = quadro.getContext("2d");
// podemos desenhar?
var podeDesenhar = false; // ainda não
// vetores para guardar as posições x, y, e se o mouse está sendo
// movimentado pressionado
var vetorX = new Array();
var vetorY = new Array();
var vetorArrastar = new Array();
// agora vamos adicionar na área de desenho um "ouvidor" de
// eventos mousedown, ou seja, vamos detectar quando o usuário
// pressionar o botão do mouse (sem soltar)
quadro.addEventListener('mousedown', function(e){
// podemos iniciar o desenho
podeDesenhar = true;
registrarClique(e.pageX - this.offsetLeft, e.pageY - this.offsetTop, false);
desenhar(); // faça o desenho, moço
});
// o "ouvidor" de evento que detecta se o mouse está sendo arrastado
// pressionado
quadro.addEventListener('mousemove', function(e){
if(podeDesenhar){
registrarClique(e.pageX - this.offsetLeft, e.pageY -
this.offsetTop, true);
desenhar(); // faça o desenho, moço
}
});
// o "ouvidor" de evento que detecta se o mouse foi liberado
// e interrompe o desenho
quadro.addEventListener('mouseup', function(e){
podeDesenhar = false;
});
// o mouse saiu da área de desenho?
quadro.addEventListener('mouseleave', function(e){
podeDesenhar = false;
});
function registrarClique(x, y, arrastar){
// aqui nós guardamos em vetores as posições x, y do clique ou
// o movimento do mouse pressionado.
vetorX.push(x);
vetorY.push(y);
vetorArrastar.push(arrastar);
}
// é aqui que a mágica ocorre
function desenhar(){
// primeiro vamos limpar o quadro de desenho
areaDesenho.clearRect(0, 0, areaDesenho.canvas.width,
areaDesenho.canvas.height);
areaDesenho.strokeStyle = "#5c5cd6"; // cor
areaDesenho.lineJoin = "round"; // formato da junção de linha
areaDesenho.lineWidth = 5; // largura da linha
// percorremos os vetores, usando como base o vetor de coordenadas x
for(var i = 0; i < vetorX.length; i++){
areaDesenho.beginPath(); // inicia o caminho
// o mouse foi arrastado neste evento?
if((vetorArrastar[i] == true && i > 0)){
areaDesenho.moveTo(vetorX[i - 1], vetorY[i - 1]);
}
else{
// é o início do desenho
areaDesenho.moveTo(vetorX[i] - 1, vetorY[i]);
}
// desenha a linha do ponto X ao ponto Y
areaDesenho.lineTo(vetorX[i], vetorY[i]);
// fecha o caminho
areaDesenho.closePath();
// conclui de fato o desenho
areaDesenho.stroke();
}
}
// e aqui nós limpamos a área de desenho e esvaziamos os vetores
function limpar(){
areaDesenho.clearRect(0, 0, areaDesenho.canvas.width,
areaDesenho.canvas.height);
vetorX = [];
vetorY = [];
vetorArrastar = [];
}
</script>
</body>
</html>
Salve o código como "desenho.html" (cuidado para não salvar como "desenho.html.txt") e abra-o no seu navegador, remoto ou localmente. Você pode começar suas modificações alterando a cor do desenho, a largura da linha, etc. Você pode também deixar figuras pré-configuradas e até permitir que o usuário inclua fotos no Canvas. Para os estudantes que já sabem Node.js, saiba que é possível enviar os três vetores via sockets em um ambiente real time para que outros usuários na rede vejam o seu desenho em tempo real. Bons estudos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127Quantidade de visualizações: 5127 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package arquivodecodigos;
public class Estudos{
public static void main(String[] args){
// um laço que começa em 1 e termina em 127
for(int i = 1; i <= 127; i++){
// vamos obter o caractere correspondente
char c = (char)(i);
// vamos exibí-lo
System.out.print(c + " ");
// é hora de quebrar a linha?
if(i % 10 == 0){
System.out.println();
}
}
System.out.println();
}
}
|
Python ::: Dicas & Truques ::: Data e Hora |
Como retornar a hora em Python como um decimal no intervalo 00-23 (formato 24 horas) usando o sinalizador %HQuantidade de visualizações: 7743 vezes |
|
Como retornar a hora em Python como um decimal no intervalo 00-23 (formato 24 horas) usando o sinalizador %H Nesta dica mostrarei como podemos obter a data atual em Python usando a função today() do objeto datetime e em seguida retornar a hora como um decimal no intervalo 00-23 (formato 24 horas) usando a função strftime() e o sinalizador %H. Veja o código Python completo para o exemplo:
from datetime import datetime
# função principal do programa
def main():
# Obtém um datetime da data e hora atual
hoje = datetime.today()
# Exibe a hora atual como um decimal
print("A hora é: {0}".format(hoje.strftime("%H")))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: A hora é: 11 |
Delphi ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular porcentagem em Delphi - Como efetuar cálculos de porcentagem em DelphiQuantidade de visualizações: 31631 vezes |
|
Cálculos de porcentagens estão presentes em boa parte das aplicações que desenvolvemos. Porém, há momentos em que a mente trava e não conseguimos lembrar com clareza como estes cálculos são feitos, principalmente em Delphi. Esta anotação tem o objetivo de ser uma fonte de pesquisa para os momentos em que suas habilidades matemáticas insistirem em continuar ocultas. Ex: 1 - Suponhamos que um produto que custe R$ 178,00 sofra um acréscimo de 15%. Qual o valor final do produto? Veja o código em Delphi:
// Algoritmo que calcula porcentagem em Delphi
program estudos_delphi;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
// variáveis usadas na resolução do problema
valor, percentual, valor_final: double;
begin
valor := 178.00; // valor original
percentual := 15.0 / 100.0; // 15%
valor_final := valor + (percentual * valor);
// mostra o resultado
WriteLn('O valor final do produto é: ' + FloatToStr(valor_final));
// O resultado será 204,70
WriteLn;
Write('Pressione Enter para sair...');
ReadLn;
end.
Ex: 2 - Um produto, cujo valor original era de R$ 250,00, teve um desconto de 8%. Qual foi seu valor final? Veja o código em Delphi:
// Algoritmo que calcula porcentagem em Delphi
program estudos_delphi;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
// variáveis usadas na resolução do problema
valor, percentual, valor_final: double;
begin
valor := 250.00; // valor original
percentual := 8.0 / 100.0; // 8%
valor_final := valor - (percentual * valor);
// mostra o resultado
WriteLn('O valor final do produto é: ' + FloatToStr(valor_final));
// O resultado será 230,00
WriteLn;
Write('Pressione Enter para sair...');
ReadLn;
end.
Ex: 3 - Em um concurso de perguntas e respostas, um jovem acertou 72 das 90 perguntas apresentadas. Qual foi a porcentagem de acertos? E a porcentagem de erros? Veja o código em Delphi:
// Algoritmo que calcula porcentagem em Delphi
program estudos_delphi;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
// variáveis usadas na resolução do problema
perguntas, acertos: double;
begin
perguntas := 90.0;
acertos := 72.0;
// mostra a porcentagem de acertos
WriteLn('Porcentagem de acertos: ' +
FloatToStr((acertos / perguntas) * 100) + '%');
// mostra a porcentagem de erros
WriteLn('Porcentagem de erros: ' +
FloatToStr(((perguntas - acertos) / perguntas) * 100) + '%');
// Os resultados serão 80% e 20%
WriteLn;
Write('Pressione Enter para sair...');
ReadLn;
end.
Ex: 4 - Um aparelho de CD foi adquirido por R$ 300,00 e revendido por R$ 340,00. Qual foi a porcentagem de lucro na transação? Veja o código em Delphi:
// Algoritmo que calcula porcentagem em Delphi
program estudos_delphi;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
// variáveis usadas na resolução do problema
valor_anterior, novo_valor, porcentagem_lucro: double;
begin
valor_anterior := 300.0; // valor anterior
novo_valor := 340.0; // valor novo
// calcula a porcentagem de lucro
// efetua o cálculo
porcentagem_lucro := ((novo_valor * 100) / valor_anterior) - 100;
WriteLn('A porcentagem de lucro foi de: ' +
FloatToStr(porcentagem_lucro) + '%');
// O resultado será 13,33
WriteLn;
Write('Pressione Enter para sair...');
ReadLn;
end.
Ex: 5 - Uma loja repassa 5% do lucro a seus vendedores. Se um produto custa R$ 70,00, qual o valor em reais repassado a um determinado vendedor? Veja o código em Delphi:
// Algoritmo que calcula porcentagem em Delphi
program estudos_delphi;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
// variáveis usadas na resolução do problema
valor, percentual, comissao: double;
begin
valor := 70.0; // valor do produto
percentual := 5.0 / 100.0; // 5%
// calcula a comissão
comissao := percentual * valor;
// mostra o resultado
WriteLn('O valor repassado ao vendedor é: '
+ FloatToStr(comissao));
// O resultado será 3,5
WriteLn;
Write('Pressione Enter para sair...');
ReadLn;
end.
|
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como usar os argumentos padrões das funções em PythonQuantidade de visualizações: 8068 vezes |
Geralmente quando efetuamos chamadas às funções, nosso código fica responsável por fornecer os valores para os argumentos da função. Em Python é possível termos argumentos padrões, e tais argumentos já podem ter um valor pré-definido. Desta forma, a passagem dos parâmetros se torna opcional. Veja um exemplo:
# função com argumento padrão
def erro(msg = "Houve um erro."):
print msg
# chamada à função fornecendo o argumento
erro("Erro desconhecido.")
# chamada à função sem fornecer o argumento
erro()
Veja mais um exemplo: # função com argumentos padrões def volume(comprimento = 1, largura = 1, altura = 1): return (comprimento * largura * altura) # chamada à função fornecendo um argumento print volume(3) # chamada à função fornecendo dois argumentos print volume(4, 5) # chamada à função fornecendo três argumentos print volume(4, 5, 7) # chamada à função fornecendo nenhum argumento print volume() É importante observar que os argumentos padrões devem estar sempre à direita dos demais argumentos. Falhar em cumprir esta exigência pode causar um erro do tipo: SyntaxError: non-default argument follows default argument |
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 |







