![]() |
|
||||
Código-Fonte Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesTenha 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 |
|||||
Você está aqui: Cards de Engenharia Civil - Estruturas de Concreto Armado |
||
|
||
|
|
||
Java ::: Java para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a distância entre dois pontos no plano em Java - Java para Geometria Analítica e Álgebra LinearQuantidade de visualizações: 7494 vezes |
|
Como calcular a Distância Euclidiana entre dois pontos usando Java. Em várias aplicações envolvendo geometria, principalmente no desenvolvimento de jogos em Java, é 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 Java completo que lê as coordenadas dos dois pontos e mostra a distância entre eles:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
Scanner entrada = new Scanner(System.in);
// vamos ler os dados do primeiro ponto
System.out.print("Informe o x do primeiro ponto: ");
double x1 = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o y do primeiro ponto: ");
double y1 = Double.parseDouble(entrada.nextLine());
// vamos ler os dados do segundo ponto
System.out.print("Informe o x do segundo ponto: ");
double x2 = Double.parseDouble(entrada.nextLine());
System.out.print("Informe o y do segundo ponto: ");
double y2 = Double.parseDouble(entrada.nextLine());
// vamos obter a distância entre eles
double distancia = distancia2d(x1, y1, x2, y2);
System.out.println("Distância entre os dois pontos: " +
distancia);
}
// função que permite calcular a distância
// entre dois pontos no plano (R2)
public static double distancia2d(double x1, double y1,
double x2, double y2){
double a = x2 - x1;
double b = y2 - y1;
double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
return c;
}
}
Ao executarmos este código nós teremos o seguinte resultado: Informe o x do primeiro ponto: 3 Informe o y do primeiro ponto: 6 Informe o x do segundo ponto: 9 Informe o y do segundo ponto: 4 Distância entre os dois pontos: 6.324555320336759 |
Java ::: Dicas & Truques ::: Threads |
Threads em Java - Como definir as prioridades das threads JavaQuantidade de visualizações: 12976 vezes |
|
Quando estamos trabalhando com threads em Java, precisamos estar cientes de que cada thread possui uma prioridade de execução. É por meio da prioridade de cada uma que o gerenciador de threads decidirá qual thread deverá ser executada primeiro. Por padrão, todas as threads possuem prioridade NORM_PRIORITY. Esta é uma constante que possui o valor 5 e está declarada na classe Thread. Além disso, cada thread herda automaticamente a prioridade da thread que a criou. As constantes MAX_PRIORITY (prioridade máxima), MIN_PRIORITY (prioridade mínima) e NORM_PRIORITY (prioridade normal) são usadas para definir as prioridades das threads Java. Veja um exemplo no qual temos duas threads. A primeira possui a prioridade máxima enquanto a segunda possui a prioridade mínima:
// criamos uma classe que servirá como thread
class MinhaThread extends Thread{
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 t1 = new MinhaThread("Thread 1");
t1.setPriority(Thread.MAX_PRIORITY); // prioridade máxima
t1.start();
MinhaThread t2 = new MinhaThread("Thread 2");
t2.setPriority(Thread.MIN_PRIORITY); // prioridade mínima
t2.start();
}
}
Execute este exemplo e veja como a segunda thread só é executada quando a primeira finaliza. Remova as linhas que definem a prioridade e note como o tempo de cada thread é novamente fracionado. É importante ter em mente que aqui estamos falando de um ambiente de processador único. Em ambientes de múltiplos processadores o comportamento pode ser diferente do abordado na dica. Não devemos confiar em prioridades de threads quando o objetivo é aguardar a finalização de uma thread e só então permitir o processamento das instruções contidas no método run() de outra thread. Para estes casos o recomendável é usar alguma forma para sinalizar as demais threads de que a thread atual concluiu sua tarefa. |
Delphi ::: Data Access Controls (Controles de Acesso a Dados) ::: TField e Classes Derivadas |
Como usar a classe TField em seus programas DelphiQuantidade de visualizações: 12856 vezes |
|
A classe TField (na unit DB) é um ancestral comum de todos os componentes que representam os campos de uma tabela no banco de dados (ou um dataset cujos dados foram carregados de um arquivo do tipo texto, binário ou XML). Esta classe encapsula o comportamento comum a todos os demais componentes to tipo field (campo). Veja sua posição na hierarquia de classes do Delphi:
System.TObject
Classes.TPersistent
Classes.TComponent
DB.TField
A classe TField apresenta propriedades, eventos e métodos que são usados para as seguintes tarefas: 1) Alterar o valor de um campo em um dataset; 2) Converter o valor de um campo de um tipo para outro tipo; 3) Efetuar validações nos dados informados pelos usuários para determinados campos; 4) Definir como as informações dos campos são mostradas em tempo de exibição ou para edição; 5) Calcular o valor de um campo a partir de código escrito no evento OnCalcFields do dataset; 6) Pesquisar o valor do campo a partir de outro dataset. Em geral não criamos instâncias da classe TField diretamente. Componentes que descendem de TField são criados automaticamente a cada vez que o dataset é ativado. Estes descendentes podem ser dinâmicos (o padrão) ou persistentes. Componentes campos dinâmicos refletem as colunas dos metadados da tabela a qual pertencem no momento que o dataset é aberto. Componentes campos persistentes são criados em tempo de design usando o editor Fields, que especifica os campos no dataset, suas propriedades e a ordem em que deverão estar. A criação de componentes de campos persistentes garante que todas as vezes que uma aplicação for executada, ela usará e exibirá as mesmas colunas, na mesma ordem, até mesmo se a estrutura física da base de dados mudar. Se uma coluna em uma tabela na qual um componente de campo persistente é baseado for excluída ou alterada, o IDE gera uma exceção em vez de permitir a abertura do dataset usando um coluna não existente ou incompatível. Se isso acontecer, devemos remover o camponente field para o campo não existente usando o editor Fields. Um campo (field) em um dataset é sempre tratado como uma das classes descendentes de TField abaixo: TADTField TDateField TReferenceField TAggregateField TDateTimeField TSmallIntField TArrayField TFloatField TSQLTimeStampField TAutoIncField TFMTBCDField TStringField TBCDField TGraphicField TTimeField TBinaryField TGuidField TVarBytesField TBlobField TIDispatchField TVariantField TBooleanField TIntegerField TWideStringField TBytesField TInterfaceField TWordField TCurrencyField TLargeintField TDataSetField TMemoField
procedure TForm3.Button3Click(Sender: TObject);
var
campo: TField;
begin
// vamos obter o campo com o nome "titulo" do registro atual
campo := ClientDataSet1.FieldByName('titulo');
// vamos mostrar o valor do campo
ShowMessage('O valor do campo é: ' + campo.AsString);
end;
Ao executarmos este código teremos um resultado parecido com: "O valor do campo é: Programando em Java". Esta dica foi escrita e testada no Delphi 2009. |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como copiar os caracteres de uma string para outra usando a função strcpy() da linguagem CQuantidade de visualizações: 13461 vezes |
Pessoas acostumadas com Delphi, Java ou PHP podem pensar que a tarefa de copiar o conteúdo de uma string para outra em C pode ser tão simples quanto o código a seguir:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 49 caracteres
// copia a primeira frase para a segunda
frase2 = frase1;
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
Este código não funciona. No Dev-C++ (MingW) a seguinte mensagem de erro de compilação é exibida: incompatible types in assignment of `char[13]` to `char[50]` Em C, a forma correta de copiar os caracteres de uma string para outra é obtendo ponteiros para a posição inicial das duas strings, percorrer todos os caracteres da primeira e atribuí-los um de cada vez nas posições de memória reservadas para a segunda string. Veja o protótipo da função strcpy(), usada para tal finalidade: char *strcpy(char *destino, const char *origem); Como podemos ver, a função copiará todos os caracteres contidos na string origem para a string destino. É importante observar que a string destino deverá ser declarada de forma que todos os caracteres a serem copiados possam ser acomodados sem que o programa corra o risco de escrever em áreas de memória reservadas a outras finalidades. Veja um exemplo completo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char frase1[] = "Gosto de PHP";
char frase2[50]; // pode receber até 50 caracteres
// copia a primeira frase para a segunda
strcpy(frase2, frase1);
// exibe o resultado
printf(frase2);
puts("\n\n");
system("PAUSE");
return 0;
}
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como ler o conteúdo de um arquivo texto em Java usando as classes BufferedReader, FileReader e a função readLine()Quantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como podemos combinar as classes BufferedReader, FileReader e a função readLine() para ler o conteúdo de um arquivo texto em Java, uma linha de cada vez. Veja o código completo para o exemplo:
package estudos;
import java.io.*;
public class Estudos {
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(
new FileReader("c:\\estudos_java\\alunos.txt"));
String linha;
while((linha = in.readLine()) != null){
System.out.println(linha);
}
in.close();
}
catch (IOException e){
System.out.println("Houve um erro: " + e.getMessage());
}
System.out.println();
}
}
Ao executar este código Java nós teremos o seguinte resultado: Alberto Maria Fernanda Josias |
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 |






