![]() |
|
|
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 Hidrostática |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercícios Resolvidos de Java - Como escrever uma função Java que recebe dois números inteiros e retorna a soma desses dois valores como um inteiroQuantidade de visualizações: 10590 vezes |
|
Pergunta/Tarefa: Escreva um método estático em Java chamado somar() que recebe dois números inteiros e retorna a soma desses dois valores como um inteiro. Este método deverá ter a seguinte assinatura:
public static int somar(int a, int b){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Informe o primeiro número: 4 Informe o segundo número: 3 A soma dos dois números é: 7 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos pedir ao usuário que informe dois valores inteiros
System.out.print("Informe o primeiro número: ");
int n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo número: ");
int n2 = Integer.parseInt(entrada.nextLine());
// vamos efetuar uma chamada ao método somar() e obter seu retorno
int resultado = somar(n1, n2);
// finalmente mostramos o resultado
System.out.println("A soma dos dois números é: " + resultado);
}
// método estático que recebe dois inteiros e retorna a soma como um número inteiro
public static int somar(int a, int b){
int soma = a + b; // soma os dois números
return soma; // retorna a soma para o método chamado
}
}
|
C# ::: Windows Forms ::: CheckBox |
Como marcar ou desmarcar todas as CheckBox de um formulário C# Windows Forms de uma só vez via códigoQuantidade de visualizações: 17994 vezes |
|
Em algumas situações temos formulários com muitos controles CheckBox C# Windows Forms e gostaríamos de marcá-los ou desmarcá-los de uma só vez. Esta dica mostra como isso pode ser feito. Para simular este exemplo, coloque vários controles CheckBox no formulário e coloque o código abaixo no evento Click de um botão:
private void button1_Click(object sender, EventArgs e){
// vamos percorrer todos os controles do formulário
for(int i = 0; i < this.Controls.Count; i++){
// vamos testar se o controle é do tipo CheckBox
if(this.Controls[i] is System.Windows.Forms.CheckBox){
// é do tipo CheckBox. Vamos marcar
(this.Controls[i] as CheckBox).Checked = true;
}
}
}
Se quiser desmarcar todas as CheckBoxes, troque a linha: (this.Controls[i] as CheckBox).Checked = true; por (this.Controls[i] as CheckBox).Checked = false; |
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Java dados dois pontos no plano cartesianoQuantidade de visualizações: 2280 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem Java que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// coordenadas dos dois pontos
double x1, y1, x2, y2;
// guarda o coeficiente angular
double m;
// x e y do primeiro ponto
System.out.print("Coordenada x do primeiro ponto: ");
x1 = Double.parseDouble(entrada.nextLine());
System.out.print("Coordenada y do primeiro ponto: ");
y1 = Double.parseDouble(entrada.nextLine());
// x e y do segundo ponto
System.out.print("Coordenada x do segundo ponto: ");
x2 = Double.parseDouble(entrada.nextLine());
System.out.print("Coordenada y do segundo ponto: ");
y2 = Double.parseDouble(entrada.nextLine());
// vamos calcular o coeficiente angular
m = (y2 - y1) / (x2 - x1);
// mostramos o resultado
System.out.println("O coeficiente angular é: " + m);
System.out.println("\n\n");
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.6666666666666666 Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
package arquivodecodigos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// coordenadas dos dois pontos
double x1, y1, x2, y2;
// guarda os comprimentos dos catetos oposto e adjascente
double cateto_oposto, cateto_adjascente;
// guarda o ângulo tetha (em radianos) e a tangente
double tetha, tangente;
// x e y do primeiro ponto
System.out.print("Coordenada x do primeiro ponto: ");
x1 = Double.parseDouble(entrada.nextLine());
System.out.print("Coordenada y do primeiro ponto: ");
y1 = Double.parseDouble(entrada.nextLine());
// x e y do segundo ponto
System.out.print("Coordenada x do segundo ponto: ");
x2 = Double.parseDouble(entrada.nextLine());
System.out.print("Coordenada y do segundo ponto: ");
y2 = Double.parseDouble(entrada.nextLine());
// vamos obter o comprimento do cateto oposto
cateto_oposto = y2 - y1;
// e agora o cateto adjascente
cateto_adjascente = x2 - x1;
// vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
// (em radianos, não se esqueça)
tetha = Math.atan2(cateto_oposto, cateto_adjascente);
// e finalmente usamos a tangente desse ângulo para calcular
// o coeficiente angular
tangente = Math.tan(tetha);
// mostramos o resultado
System.out.println("O coeficiente angular é: " + tangente);
System.out.println("\n\n");
System.exit(0);
}
}
Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como retornar a posição da última ocorrência de uma substring em uma string Java usando a função lastIndexOf() da classe StringQuantidade de visualizações: 2 vezes |
|
Em algumas situações nós precisamos pesquisar uma substring em uma string Java e retornar o índice da última ocorrência encontrada. Para isso nós podemos usar o método lastIndexOf() da classe String. Veja um exemplo completo de seu uso:
package estudos;
public class Estudos {
public static void main(String[] args) {
// Este exemplo mostra como pesquisar a última ocorrência
// de uma substring em uma string
String frase = "As pessoas costumam entender tudo sobre pessoas";
// verifica se a frase contém a palavra "pessoas" e
// retorna a posição de sua última ocorrência
int res = frase.lastIndexOf("pessoas");
if(res > 0){
System.out.println("A ultima ocorrencia foi encontrada na posicao: "
+ res);
}
else{
System.out.println("A substring nao foi encontrada");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: A ultima ocorrencia foi encontrada na posicao: 40 |
Delphi ::: Dicas & Truques ::: Recursão (Recursividade) |
Como usar recursividade em Delphi - Como usar recursão ou funções recursivas em DelphiQuantidade de visualizações: 16137 vezes |
Recursão ou recursividade é a habilidade que uma procedure ou function (função) possui de chamar a si própria uma vez, várias, indefinidamente ou até que a solução do problema a ser resolvido seja encontrada. Assim, podemos definir uma função recursiva (aqui uma procedure recursiva) em Delphi da seguinte forma (atenção: não execute este código):// uma procedure recursiva procedure Recursiva; begin // chama a si própria Recursiva; end; // vamos chamar a procedure pela primeira vez // a partir do Click de um botão procedure TForm1.Button1Click(Sender: TObject); begin Recursiva; end; O fato de eu pedir para que você não execute o código é que, uma vez clicado o botão, a procedure Recursiva será chamada e continuará chamando a si mesma até que a pilha do sistema estoure, ou seja, como funções recursivas são implementadas usando a pilha do sistema operacional e não na área de memória destinada a cada aplicativo o resultado será um travamento do programa, e, caso não estejamos com sorte, um travamento do sistema operacional. Sabedor do risco, clique no botão para ver o resultado você mesmo. O que devemos saber a respeito das funções recursivas é que estas precisam saber o ponto de parada, de forma a evitar chamadas infinitas. Como exemplo, veja uma procedure recursiva que conta de 0 até 10. Note como cada chamada verifica se já é hora de interromper a cadeia:
// uma procedure recursiva que conta de 0 até 10
procedure Contar(valor: Integer);
begin
// vamos exibir o valor atual
ShowMessage(IntToStr(valor));
// é hora de parar?
if valor = 10 then
ShowMessage('Terminei')
else
begin
// chama a si própria (note que aumentamos o valor atual em 1)
Inc(valor);
Contar(valor);
end;
end;
// vamos chamar a procedure pela primeira vez
// a partir do Click de um botão
procedure TForm1.Button1Click(Sender: TObject);
begin
// chama a função recursiva fornecendo o valor inicial
Contar(0);
end;
Execute este código e veja o resultado. Observe que a cada chamada recursiva nós incrementamos a variável de controle. Ela é a responsável por evitar que chamadas infinitas sejam feitas. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






