Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: Java ::: Dicas & Truques ::: Threads

Threads em Java - Como usar a interface Runnable da Java API em suas aplicações

Quantidade de visualizações: 17534 vezes
A interface pública Runnable deve ser implementada em nossas classes quando queremos que instâncias destas possam ser executadas por uma thread. Esta interface está no pacote java.lang e entre as classes que a implementam podemos citar AsyncBoxView.ChildState, FutureTask, RenderableImageProducer, Thread e TimerTask.

Esta interface apresenta apenas um método, a saber:

public void run();
Assim, uma classe que implementa Runnable deverá redefinir este método, sem argumentos, e fornecer a funcionalidade desejada.

Este interface foi idealizada para fornecer um protocolo comum para objetos que têm como objetivo executar determinadas porções de código enquanto ativos. Por exemplo, Runnable é implementada pela classe Thread. Estar ativa significa que uma thread foi iniciada e ainda não finalizou sua tarefa.

Além disso, a interface Runnable fornece meios para que uma classe esteja ativa sem fazer sub-classe de Thread. Uma classe que implementa Runnable pode ser executada sem fazer sub-classe de Thread criando-se uma instância de Thread e fornecendo tal classe como alvo. Na maioria dos casos, a interface Runnable deve ser usada se estivermos planejando apenas sobrescrever o método run() e nenhum outro método da classe Thread. Isso é importante, uma vez que não devemos extender classes a menos que tenhamos a intenção de modificar ou extender o comportamento fundamental da classe.

Veja uma aplicação na qual temos uma classe que implementa Runnable. Note como criamos instâncias de Thread e fornecemos nossa classe como alvo:

// criamos uma classe que servirá como thread
class MinhaThread implements Runnable{
  private String nome;  

  public MinhaThread(String nome){
    this.nome = nome;
  }   

  public void run(){
    for(int i = 1; i <= 20; i++){
      System.out.println(nome + ": " + i);
    }
  }
}

public class Estudos{
  public static void main(String[] args){
    // vamos criar duas threads
    MinhaThread mt1 = new MinhaThread("Thread 1");
    Thread t1 = new Thread(mt1);
    t1.start();    

    MinhaThread mt2 = new MinhaThread("Thread 2");
    Thread t2 = new Thread(mt2);
    t2.start();

    System.exit(0);
  }
}


Link para compartilhar na Internet ou com seus amigos:

C# ::: Namespace System.Drawing ::: Graphics

Como desenhar texto usando o método DrawString() da classe Graphics do C#

Quantidade de visualizações: 5674 vezes
Em algumas situações precisamos desenhar uma string (texto) no formulário ou algum outro controle. Para isso podemos usar o método DrawString() da classe Graphics. A assinatura mais comumente usada deste método é:

Graphics.DrawString(String, Font, Brush, Single, Single)
Note que precisamos fornecer a string a ser desenhada, a fonte a ser usada (como um objeto da classe Font), a cor e preenchimento (um objeto de alguma classe que herde de Brush) e as coordenadas x e y. Veja um trecho de código no qual desenhamos a string "Arquivo de Códigos" no formulário:

private void button1_Click(object sender, EventArgs e){
  // vamos obter o Graphics do formulário
  Graphics g = this.CreateGraphics();

  // vamos desenhar a string "Arquivo de Códigos"
  g.DrawString("Arquivo de Códigos", this.Font, new 
    SolidBrush(Color.Red), 40, 60);

  // vamos liberar o objeto Graphics
  g.Dispose();
}

Aqui a string será desenhada usando a fonte do formulário e na cor vermelha e sólida. Se quiséssemos definir a fonte, o código ficaria algo assim:

g.DrawString("Arquivo de Códigos", new Font("Verdana", 30), 
  new SolidBrush(Color.Red), 40, 60);

As coordenadas x e y nas quais o desenho ocorrerá podem ser informadas como um objeto da estrutura PointF. Veja:

g.DrawString("Arquivo de Códigos", new Font("Verdana", 30), 
  new SolidBrush(Color.Red), new PointF(80f, 120f));



Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear

Como converter Coordenadas Cartesianas para Coordenadas Polares usando Python

Quantidade de visualizações: 5068 vezes
Nesta nossa série de Python para Geometria Analítica e Álgebra Linear, mostrarei um código 100% funcional para fazer a conversão entre coordenadas cartesianas e coordenadas polares. 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 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).

Já 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__$).

Antes de prosseguirmos, veja uma imagem demonstrando os dois sistemas de coordenadas:



A fórmula para conversão de Coordenadas Cartesianas para Coordenadas Polares é:

__$r = \sqrt{x^2+y2}__$
__$\theta = \\arctan\left(\frac{y}{x}\right)__$

E aqui está o código Python completo que recebe as coordenadas cartesianas (x, y) e retorna as coordenadas polares (r, __$\theta__$):

# importamos a bibliteca NumPy
import numpy as np
import math as math
  
def main():
  # vamos ler as coordenadas cartesianas
  x = float(input("Valor de x: "))
  y = float(input("Valor de y: "))

  # vamos calcular o raio
  raio = math.sqrt(math.pow(x, 2) + math.pow(y, 2))  

  # agora calculamos o theta (ângulo) em radianos 
  theta = np.arctan2(y, x)

  # queremos o ângulo em graus também
  angulo_graus = 180 * (theta / math.pi) 

  # e exibimos o resultado
  print("As Coordenadas Polares são:")
  print("raio = %0.4f, theta = %0.4f, ângulo em graus = %0.2f" 
    % (raio, theta, angulo_graus))

if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

Valor de x: -1
Valor de y: 1
As Coordenadas Polares são:
raio = 1.4142, theta = 2.3562, ângulo em graus = 135.00

Veja que as coordenadas polares equivalentes são (__$\sqrt{2}__$, __$\frac{3\pi}{4}__$), com o theta em radianos. Sim, os professores das disciplinas de Geometria Analítica e Álgebra Linear, Física e outras gostam de escrever os resultados usando raízes e frações em vez de valores reais.


Delphi ::: Dicas & Truques ::: Matemática e Estatística

Como calcular porcentagem em Delphi - Como efetuar cálculos de porcentagem em Delphi

Quantidade de visualizações: 29868 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.



Ruby ::: Dicas & Truques ::: Hashes (Arrays Associativas)

Como criar um hash em Ruby - Criação e uso de arrays associativos na linguagem Ruby

Quantidade de visualizações: 8971 vezes
Os hashes (também chamados de arrays associativas, mapas ou dicionários) são parecidos com arrays no sentido em que são coleções indexadas de referências a objetos. Contudo, enquanto podemos indexar arrays usando inteiros, hashes podem ser indexados usando-se qualquer tipo de dados: strings, expressões regulares, inteiros, e assim por diante.

Quando guardamos um valor em um hash, estamos na verdade guardando dois objetos: o índice (geralmente chamado de chave) e o valor. Os valores em um hash Ruby podem ser de qualquer tipo.

Hashes em Ruby podem ser criados de duas formas: usando a notação literal ou criando-se um objeto da classe Hash.

Veja como criamos um hash usando notação literal:

# cria um hash de estados e capitais
capitais = {'Goiás' => 'Goiânia',  'Mato Grosso' => 'Cuiabá', 
  'Paraná' => 'Curitiba'}
  
# exibe a capital correspondente ao estado de Mato Grosso
puts capitais['Mato Grosso']

Veja como usamos os nomes dos estados como chaves e os nomes das capitais como valores para cada um dos elementos do hash. Veja agora como criar este mesmo hash por meio da criação de um objeto da classe Hash:

# cria um hash de estados e capitais
capitais = Hash.new

capitais['Goiás'] = 'Goiânia'
capitais['Mato Grosso'] = 'Cuiabá'
capitais['Paraná'] = 'Curitiba'
  
# exibe a capital correspondente ao estado de Mato Grosso
puts capitais['Mato Grosso']



GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em GNU Octave usando a função sin()

Quantidade de visualizações: 1443 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem GNU Octave. Esta função, que já vem embutido na ferramenta, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

>> sin(0) [ENTER]
ans = 0
>> sin(1) [ENTER]
ans = 0.8415
>> sin(2) [ENTER]
ans = 0.9093
>>

Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




Veja mais Dicas e truques de GNU Octave

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 12 usuários muito felizes estudando em nosso site.