![]() |
|
|
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 - Estruturas de Aço e Madeira |
||
|
||
|
|
||
Portugol ::: Dicas & Truques ::: Cadeias e Caracteres |
Como acessar os caracteres individuais de uma palavra ou frase em Portugol usando a função obter_caracter() da biblioteca TextoQuantidade de visualizações: 1229 vezes |
|
Em algumas situações nós precisamos acessar os caracteres individuais de uma palavra ou frase no Portugol Studio ou Portugol Web Studio. Para isso nós podemos usar a função obter_caracter() da biblioteca Texto. Esta função pede, como primeiro argumento, a palavra ou frase a partir da qual o caractere será extraído e, como segundo argumento, o índice do caractere (sempre começando em 0 para o primeiro caractere). Veja um programa Portugol completo no qual obtemos o primeiro caractere de uma palavra:
programa {
// vamos importar a biblioteca Texto
inclua biblioteca Texto --> tx
funcao inicio() {
cadeia palavra = "PORTUGOL"
caracter letra = tx.obter_caracter(palavra, 0)
escreva("A letra retornada é: ", letra)
}
}
Ao executar este código Portugol nós teremos o seguinte resultado: A letra retornada é: P Veja agora como podemos usar o laço PARA para percorrer e exibir todos os caracteres individuais da palavra ou frase:
programa {
// vamos importar a biblioteca Texto
inclua biblioteca Texto --> tx
funcao inicio() {
cadeia palavra = "PORTUGOL"
para (inteiro i = 0; i <= tx.numero_caracteres(palavra) - 1; i++) {
caracter letra = tx.obter_caracter(palavra, i)
escreva("A letra é: ", letra, "\n")
}
}
}
Ao executar o código novamente nós teremos o seguinte resultado: A letra é: P A letra é: O A letra é: R A letra é: T A letra é: U A letra é: G A letra é: O A letra é: L |
C# ::: Windows Forms ::: Formulários e Janelas |
Como abrir outros formulários de sua aplicação C# Windows Forms a partir do formulário principalQuantidade de visualizações: 33598 vezes |
|
Esta é, sem dúvida, uma das perguntas mais frequentes de meus visitantes. Sendo assim, vou detalhar passo-a-passo como você poderá abrir outros formulários a partir do formulário principal da aplicação. Assumindo que você já tenha criado o formulário principal, siga estes passos para criar um novo formulário (Visual C# 2005 ou 2008): a) Vá no menu Project -> Add Windows Form. O novo Form já aparecerá selecionado. Dê um nome a ele, por exemplo, "NovoForm.cs" e clique o botão Add; b) Coloque os controles que desejar no novo formulário e salve tudo; c) Volte no formulário principal e adicione o código abaixo no evento Click de um botão:
private void button1_Click(object sender, EventArgs e){
// vamos criar o novo formulário e exibí-lo
NovoForm nf = new NovoForm();
nf.Show();
}
Execute e veja o resultado. Note, contudo, que se clicarmos no formulário principal com o segundo formulário ainda aberto, veremos que o primeiro sobrepõe o segundo. Isso acontece porque abrimos o novo formulário como não modal. Em algumas aplicações este pode não ser o comportamento esperado. Continue seguindo minhas dicas para aprender a diferença entre formulários modais e não modais em Windows Forms e C#. |
JavaScript ::: JavaScript para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em JavaScript - JavaScript para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 5769 vezes |
|
Como calcular a Distância Euclidiana entre dois pontos usando JavaScript Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em JavaScript, é comum nos depararmos com a necessidade de calcular a distância entre dois pontos A e B. Nessa dica mostrarei como efetuar esse cálculo no R2, ou seja, no plano. Em outra dica eu abordo o cálculo no R3 (espaço). Comece analisando a imagem abaixo: ![]() Veja que temos um ponto A (x = 3; y = 6) e um ponto B (x = 9; y = 4). Para determinarmos a distância entre esses dois pontos no plano cartesiano, temos que realizar a análise tanto no sentido do eixo das abscissas (x) quanto no do eixo das ordenadas (y). Veja a fórmula: \[d_{AB} = \sqrt{\left(x_b - x_a\right)^2 + \left(y_b - y_a\right)^2}\] Agora, jogando os valores dos dois pontos da fórmula nós teremos: \[d_{AB} = \sqrt{\left(9 - 3\right)^2 + \left(6 - 4\right)^2}\] Que resulta em 6,32 (aproximadamente). E agora veja o código JavaScript completo que define as coordenadas dos dois pontos e mostra a distância entre eles:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// função que permite calcular a distância
// entre dois pontos no plano (R2)
function distancia2d(x1, y1, x2, y2){
var a = x2 - x1;
var b = y2 - y1;
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
return c;
}
// vamos definir os dados do primeiro ponto
var x1 = 3;
var y1 = 6;
// vamos ler os dados do segundo ponto
var x2 = 9;
var y2 = 4;
// vamos obter a distância entre eles
var distancia = distancia2d(x1, y1, x2, y2);
document.writeln("Distância entre os dois pontos: " +
distancia);
</script>
</body>
</html>
Ao executarmos este código JavaScript nós teremos o seguinte resultado: Distância entre os dois pontos: 6.324555320336759 |
Python ::: Pygame ::: Animação, Animações, Técnicas de Animação |
Como criar um relógio analógico no Pygame - Código completo com variáveis e comentários em portuguêsQuantidade de visualizações: 1787 vezes |
Nesta dica mostrarei um código para a criação de um relógio analógico completo em Python, com comentários detalhados e fácil de entender. Veja a imagem:![]() Por simplicidade, eu mantive a mesma cor para todos os elementos da animação e deixei somente o básico mesmo, para que você possa se concentrar nas partes mais importantes. Neste código você aprenderá como definir o tamanho, título e cor de fundo para uma janela do Pygame do Python. Aprenderá também como definir a quantidade de frames por segundo para a animação, assim como controlar os disparos do timer pygame.time.Clock(). Por fim, o código mostra como calcular o ângulo dos ponteiros das horas, minutos e segundos e efetuar o desenho das retas saindo do centro do círculo. Você sabia, por exemplo, que o ângulo de 45 graus corresponde exatamente à hora 1:30hs? Em vários exemplos de relógios analógicos na internet, o ponteiro das horas fica preso à uma determinada hora, aguardando o ponteiro dos segundos completar um giro completo. No código que apresento aqui, eu obtive a hora atual como um decimal, o que faz com que o ponteiro das horas mostre a posição real da hora, como um relógio analógico do mundo real. Para estudantes de matemática, engenharia e física, este código é uma boa aplicação da técnica de se converter coordenadas polares para coordenadas cartesianas. Eis o código completo para o relógio analógico. Boa diversão.
# vamos importar as bibliotecas necessárias
import pygame, sys
from pygame.locals import *
import math
from datetime import datetime
# função que faz a correção dos ângulos
def corrigir_angulo(angulo):
return abs(angulo % 360)
# inicializa a biblioteca
pygame.init()
# quantidade de frames por segundo
FPS = 30
# construímos o timer
timer = pygame.time.Clock()
# obtém a superfície do jogo e define o tamanho da tela
janela = pygame.display.set_mode((600, 400))
# vamos definir o título da janela do jogo
pygame.display.set_caption('Relógio Analógico no Pygame')
# vamos definir alguns parâmetros
fonte = pygame.font.Font(None, 36)
VERMELHO = (200, 0, 0)
BRANCO = (255, 255, 255)
raio = 150
x_inicial = 300
y_inicial = 200
distancia_aro = 20
# e aqui nós entramos no loop do game
while True:
# vamos pintar a tela toda de branco
janela.fill(BRANCO)
# monitoramos os eventos
for evento in pygame.event.get():
# se o evento foi um pedido para sair
if evento.type == QUIT:
# fechamos a tela do jogo
pygame.quit()
# e saimos do programa
sys.exit()
# vamos desenhar um circulo não preenchido (maior)
pygame.draw.circle(janela, VERMELHO, (x_inicial, y_inicial), raio, 2)
# vamos desenhar um circulo não preenchido (menor)
pygame.draw.circle(janela, VERMELHO, (x_inicial + 1, y_inicial + 1), 5, 0)
# vamos desenhar os números do relório (1-12)
for n in range(1, 13):
# calcula o ângulo dessa hora
angulo = math.radians((n * (360 / 12)) - 90)
# agora convertemos o ângulo e o raio para coordenadas cartesianas
if len(str(n)) > 1:
x = math.cos(angulo) * (raio - distancia_aro) - 18
else:
x = math.cos(angulo) * (raio - distancia_aro) - 10
y = math.sin(angulo) * (raio - distancia_aro) - 10
texto_numero = fonte.render(str(n), True, VERMELHO)
janela.blit(texto_numero, (x_inicial + x, y_inicial + y))
# vamos obter as horas, minutos e segundos atuais
hoje = datetime.today()
horas = hoje.hour % 12
minutos = hoje.minute
segundos = hoje.second
# ajustamos as horas para tratar a hora decimal (com frações de horas)
horas = horas + (minutos * (1 / 60)) + (segundos * (1 / 3600))
# desenha o ponteiro das horas
angulo_horas = corrigir_angulo(horas * (360 / 12) - 90)
angulo_horas = math.radians(angulo_horas)
hora_x = math.cos(angulo_horas) * (raio - 60)
hora_y = math.sin(angulo_horas) * (raio - 60)
coord_finais = (x_inicial + hora_x, y_inicial + hora_y)
pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 4)
# desenha o ponteiro dos minutos
angulo_minutos = corrigir_angulo(minutos * (360 / 60) - 90)
angulo_minutos = math.radians(angulo_minutos)
minutos_x = math.cos(angulo_minutos) * (raio - 40)
minutos_y = math.sin(angulo_minutos) * (raio - 40)
coord_finais = (x_inicial + minutos_x, y_inicial + minutos_y)
pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 3)
# desenha o ponteiro dos segundos
angulo_segundos = corrigir_angulo(segundos * (360 / 60) - 90)
angulo_segundos = math.radians(angulo_segundos)
segundos_x = math.cos(angulo_segundos) * (raio - 30)
segundos_y = math.sin(angulo_segundos) * (raio - 30)
coord_finais = (x_inicial + segundos_x, y_inicial + segundos_y)
pygame.draw.line(janela, VERMELHO, (x_inicial, y_inicial), coord_finais, 1)
# redesenha a tela continuamente
pygame.display.update()
# aciona o disparo do timer
timer.tick(FPS)
|
Java ::: Coleções (Collections) ::: LinkedList |
Como usar a classe LinkedList do Java em suas aplicaçõesQuantidade de visualizações: 27616 vezes |
|
A classe LinkedList é uma implementação da interface List. Esta classe implementa boa parte das operações de uma lista e permite a inserção de qualquer tipo de elemento (incluindo null). Veja sua posição na hierarquia de classes Java:
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
java.util.AbstractSequentialList<E>
java.util.LinkedList<E>
Esta classe implementa as seguintes interfaces: Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E> e Queue<E>. O uso mais comum de uma lista ligada é quando precisamos adicionar e remover elementos no início ou final da lista, acessar os elementos no início ou final e percorrer a lista elemento por elemento. Não é raro ver programadores usando a classe LinkedList como uma pilha ou fila. O trecho de código abaixo mostra como criar uma LinkedList, adicionar elementos e percorrê-los usando um ListIterator:
import java.util.*;
public class Estudos{
public static void main(String args[]){
// Cria uma LinkedList de String
LinkedList<String> lista = new LinkedList<String>();
// adiciona três elementos na lista
lista.add("Cuiabá");
lista.add("Goiânia");
lista.add("Belo Horizonte");
// obtém um ListIterator para percorrer toda a
// lista, começando no primeiro elemento
ListIterator<String> iterador = lista.listIterator(0);
while(iterador.hasNext()){
String cidade = iterador.next();
System.out.println(cidade);
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Cuiabá Goiânia Belo Horizonte |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






