![]() |
|
|
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. |
||
Java ::: Dicas & Truques ::: Threads |
Threads em Java - Como definir as prioridades das threads JavaQuantidade de visualizações: 13213 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. |
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: 5037 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();
}
}
|
C ::: Dicas & Truques ::: Struct (Estruturas, Registros) |
Linguagem C para iniciantes - Como usar estruturas (struct) em CQuantidade de visualizações: 69115 vezes |
Vetores e matrizes (arrays) são muito importantes quando precisamos agrupar várias variáveis de um mesmo tipo de dados. Porém, há casos em que precisamos agrupar variáveis de diferentes tipos. Para estes casos a linguagem C nos fornece as estruturas (struct). Veja como declará-las:
// uma estrutura Pessoa
struct Pessoa
{
char *nome;
int idade;
};
Veja que esta estrutura possui dois tipos de dados diferentes: um ponteiro para uma cadeia de caracteres e uma variável do tipo int. Para declarar variáveis do tipo Pessoa você tem duas opções. A primeira consiste em declarar as variáveis juntamente com a declaração da estrutura. Veja:
// uma estrutura Pessoa
struct Pessoa
{
char *nome;
int idade;
}pessoa, cliente, chefe;
A outra forma consiste em declarar a variável no local no qual ela será usada. Esta forma é mais prática. Veja um exemplo completo de como isso é feito:
#include <stdio.h>
#include <stdlib.h>
// uma estrutura Pessoa
struct Pessoa
{
char *nome;
int idade;
};
int main(int argc, char *argv[])
{
// declara uma variável do tipo struct
struct Pessoa cliente;
cliente.nome = "Osmar J. Silva";
cliente.idade = 36;
// obtém os dados
printf("O nome do cliente e: %s\n", cliente.nome);
printf("A idade do cliente e: %d\n", cliente.idade);
printf("\n\n");
system("PAUSE");
return 0;
}
|
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com JavaQuantidade de visualizações: 1509 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Java, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Java que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo:
package estudos;
// vamos declarar a classe Circulo
class Circulo{
double xc;
double yc;
double raio;
public Circulo(double xc, double yc, double raio){
this.xc = xc; // x do centro
this.yc = yc; // y do centro
this.raio = raio; // raio do círculo
}
}
// agora vamos declarar a classe Ponto
class Ponto{
double x;
double y;
public Ponto(double x, double y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
// classe principal da aplicação
public class Estudos{
public static void main(String[] args){
// vamos criar um objeto Circulo
Circulo c = new Circulo(205, 166, 115);
// vamos criar um objeto Ponto
Ponto p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
double dx = p.x - c.xc;
double dy = p.y - c.yc;
if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){
System.out.println("O ponto está dentro do círculo");
}
else{
System.out.println("O ponto NÃO está dentro do círculo");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Apostila de Java - Como retornar uma substring em Java usando o método substring() da classe String Android Java - Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas JavaScript - Como testar se uma string contém uma determinada substring em JavaScript usando a função includes() |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Python - Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesiano C# - Como adicionar conteúdo ao final de um arquivo em C# usando as classes FileStream e StreamWriter |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






