Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Mouse e Teclado |
Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouseQuantidade de visualizações: 31698 vezes |
|
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho. Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel. O resultado é exibido na imagem abaixo: ![]() E aqui está o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Estudos extends JFrame{
public Estudos(){
super("Eventos do Mouse e Teclado");
Container c = getContentPane();
PainelDesenho painel = new PainelDesenho();
c.add(painel, BorderLayout.CENTER);
c.add(new JLabel("Arraste o mouse para desenhar..." ),
BorderLayout.SOUTH );
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class PainelDesenho extends JPanel{
private int quantPontos = 0;
private Point pontos[] = new Point[10000];
public PainelDesenho(){
this.setBackground(Color.WHITE);
this.addMouseMotionListener(
new MouseMotionAdapter(){
public void mouseDragged(MouseEvent e){
if(quantPontos < pontos.length){
pontos[quantPontos] = e.getPoint();
quantPontos++;
repaint();
}
}
}
);
}
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
for(int i = 0 ; i < quantPontos; i++)
g.fillOval(pontos[i].x, pontos[i].y, 4, 4);
}
}
|
Python ::: Dicas & Truques ::: Data e Hora |
Datas e horas em Python - Como obter o nome do dia da semana no formato longo (segunda-feira, terça-feira, etc) usando a função strftime() do PythonQuantidade de visualizações: 9250 vezes |
|
Nesta dica eu mostro como podemos usar a função strftime() da linguagem Python para obter e exibir o nome do dia da semana no formato longo e em português, ou seja, segunda-feira, terça-feira, quarta-feira, etc. Veja o código completo para o exemplo:
from datetime import datetime
import locale
# função principal do programa
def main():
# Configurações do usuário
locale.setlocale(locale.LC_ALL, '')
# Obtém um datatime da data e hora atual
hoje = datetime.today()
# Exibe o nome do dia da semana no formato
# longo
print("O dia da semana é:", hoje.strftime("%A"))
if __name__== "__main__":
main()
Ao executarmos este código nós teremos o seguinte resultado: O dia da semana é: quinta-feira |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como testar a existência de um caractere em uma string e retornar sua posição em Java usando o método indexOf() da classe StringQuantidade de visualizações: 1 vezes |
|
Nesta dica eu mostro como podemos usar o método indexOf() da classe String para pesquisar um caractere em uma palavra, frase ou texto e retornar a sua posição, ou seja, o seu índice dentro da string. Se o caractere for encontrado, sua posição é retornada. Caso contrário o valor -1 é retornado. Veja o código completo para o exemplo:
package estudos;
public class Estudos{
public static void main(String[] args){
// vamos criar uma string
String frase = "Gosto de programar em Java";
// vamos testas se a string contém a letra "k"
int pos = frase.indexOf('k');
if(pos < 0){
System.out.println("A string não contém a letra k");
}
else{
System.out.println("A letra k foi encontrada na posicao: " + pos);
}
// fecha o programa
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: A string não contém a letra k |
LISP ::: Fundamentos da Linguagem ::: Variáveis e Constantes |
Como declarar variáveis locais em Lisp usando o comando letQuantidade de visualizações: 1102 vezes |
|
Em várias situações nós gostaríamos de declarar variáveis que serão usadas em um espaço limitado, ou seja, dentro de uma função Common Lisp ou até mesmo em um bloco de código. Entram em cena as variáveis locais. Variáveis locais, como o próprio nome indica, são visíveis apenas dentro do corpo de uma função ou dentro do bloco no qual elas são declaradas. Em Common Lisp as variáveis locais são declaradas usando-se o comando let. Veja um exemplo no qual nós declaramos três variáveis locais e que serão usadas no corpo de uma função Multiplicar():
; vamos definir a função Multiplicar()
(defun Multiplicar()
; vamos usar o comando let para declarar
; três variáveis locais
(let ((a 3)(b 9)(produto))
; agora vamos obter o produto das variáveis
; a e b
(setq produto (* a b))
; e mostramos o resultado
(format t "O produto dos dois valores é ~D" produto)
)
)
; chamamos a função Multiplicar()
(Multiplicar)
Ao executar este código nós teremos o seguinte resultado: O produto dos dois valores é 27 Agora veja como podemos declarar variáveis locais dentro de um bloco de código em Common Lisp: ; vamos usar o comando let para declarar ; três variáveis locais (dentro de um bloco ; de código) (let ((a 7)(b 5)(produto)) ; agora vamos obter o produto das variáveis ; a e b (setq produto (* a b)) ; e mostramos o resultado (format t "O produto dos dois valores é ~D" produto) ) Execute este código e você terá o seguinte resultado: O produto dos dois valores é 35 Nos dois trechos de código, se tentarmos acessar as variáveis locais fora de seus escopos, nós teremos o seguinte erro: The variable PRODUTO is unbound. |
LISP ::: LISP para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como converter Coordenadas Polares para Coordenadas Cartesianas em LISP - LISP para EngenhariaQuantidade de visualizações: 879 vezes |
|
Nesta nossa série de LISP e AutoLISP para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas polares e coordenadas cartesianas. Esta operação é muito frequente em computação gráfica e é parte integrante das disciplinas dos cursos de Engenharia (com maior ênfase na Engenharia Civil). Na matemática, principalmente em Geometria e Trigonometria, o Sistema de Coordenadas Polares é um sistema de coordenadas em duas dimensões no qual cada ponto no plano é determinado por sua distância a partir de um ponto de referência conhecido como raio (r) e um ângulo a partir de uma direção de referência. Este ângulo é normalmente chamado de theta (__$\theta__$). Assim, um ponto em Coordenadas Polares é conhecido por sua posição (r, __$\theta__$). Já o sistema de Coordenadas no Plano Cartesiano, ou Espaço Cartesiano, é um sistema que define cada ponto em um plano associando-o, unicamente, a um conjuntos de pontos numéricos. Dessa forma, no plano cartesiano, um ponto é representado pelas coordenadas (x, y), com o x indicando o eixo horizontal (eixo das abscissas) e o y indicando o eixo vertical (eixo das ordenadas). Quando saímos do plano (espaço 2D ou R2) para o espaço (espaço 3D ou R3), temos a inclusão do eixo z (que indica profundidade). Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas: ![]() A fórmula para conversão de Coordenadas Polares para Coordenadas Cartesianas é: x = raio × coseno(__$\theta__$) y = raio × seno(__$\theta__$) E aqui está o código LISP completo que recebe as coordenadas polares (r, __$\theta__$) e retorna as coordenadas cartesianas (x, y):
; programa LISP que converte Coordenadas Polares
; em Coordenadas Cartesianas
(let((raio)(theta)(graus)(x)(y))
; vamos ler o raio e o ângulo
(princ "Informe o raio: ")
(force-output)
(setq raio (read))
(princ "Informe o theta: ")
(force-output)
(setq theta (read))
(princ "Theta em graus (1) ou radianos (2): ")
(force-output)
(setq graus (read))
; o theta está em graus?
(if(eq graus 1)
(setq theta (* theta (/ pi 180.0)))
)
; fazemos a conversão para coordenadas cartesianas
(setq x (* raio (cos theta)))
(setq y (* raio (sin theta)))
; exibimos o resultado
(format t "As Coordenadas Cartesianas são: (x = ~F, y = ~F)"
x y)
)
Ao executar este código LISP nós teremos o seguinte resultado: Informe o raio: 1 Informe o theta: 1.57 Theta em graus (1) ou radianos (2): 2 As Coordenadas Cartesianas são: (x = 0,00, y = 1,00) |
Veja mais Dicas e truques de LISP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






