![]() |
|
|
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 ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em Java - Como calcular Bhaskara em JavaQuantidade de visualizações: 3425 vezes |
|
Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem Java. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso código Java vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código Java. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String[] args){
// para efetuar a leitura do usuário
Scanner entrada = new Scanner(System.in);
// os coeficientes
double a, b, c;
// as duas raizes, a imaginaria e o discriminante
double raiz1, raiz2, imaginaria, discriminante;
// vamos pedir para o usuário informar os valores dos coeficientes
System.out.print("Valor do coeficiente a: ");
a = Double.parseDouble(entrada.nextLine());
System.out.print("Valor do coeficiente b: ");
b = Double.parseDouble(entrada.nextLine());
System.out.print("Valor do coeficiente c: ");
c = Double.parseDouble(entrada.nextLine());
// vamos calcular o discriminante
discriminante = (b * b) - (4 * a * c);
// a equação possui duas soluções reais?
if(discriminante > 0){
raiz1 = (-b + Math.sqrt(discriminante)) / (2 * a);
raiz2 = (-b - Math.sqrt(discriminante)) / (2 * a);
System.out.println("Existem duas raizes: x1 = " + raiz1
+ " e x2 = " + raiz2);
}
// a equação possui uma única solução real?
else if(discriminante == 0){
raiz1 = raiz2 = -b / (2 * a);
System.out.println("Existem duas raizes iguais: x1 = "
+ raiz1 + " e x2 = " + raiz2);
}
// a equação não possui solução real?
else if(discriminante < 0){
raiz1 = raiz2 = -b / (2 * a);
imaginaria = Math.sqrt(-discriminante) / (2 * a);
System.out.println("Existem duas raízes complexas: x1 = " +
raiz1 + " + " + imaginaria + " e x2 = " + raiz2
+ " - " + imaginaria);
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1.0 e x2 = -3.0 |
MySQL ::: Dicas & Truques ::: Joins (Junções) |
Como agrupar dados de duas ou mais tabelas no MySQL usando LEFT JOIN (ou LEFT OUTER JOIN)Quantidade de visualizações: 15054 vezes |
|
A junção LEFT JOIN (ou LEFT OUTER JOIN) do MySQL é usada quando queremos agrupar dados de duas ou mais tabelas e exibir todos os registros da tabela à esquerda, mesmo que não haja correspondências (match) de registros na tabela à direita. Vamos ver um exemplo? Considere duas tabelas: jogadores e times. Um jogador pode jogar em nenhum (zero) ou um time e um time pode conter zero ou mais jogadores. Aqui a cardinalidade é de 1 x N. Comece criando a tabela de times: Comando DDL CREATE TABLE para a tabela times: CREATE TABLE times( id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nome VARCHAR(45) NOT NULL, PRIMARY KEY(id) ) ENGINE = InnoDB; Vá em frente e insira alguns times nesta tabela. Vamos agora criar a tabela de jogadores: Comando DDL CREATE TABLE para a tabela jogadores:
CREATE TABLE jogadores(
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(45) NOT NULL,
id_time INTEGER UNSIGNED,
PRIMARY KEY(id),
CONSTRAINT fk_jogadores_times FOREIGN KEY fk_jogadores_times(id_time)
REFERENCES times(id) ON DELETE RESTRICT ON UPDATE RESTRICT
)
ENGINE = InnoDB;
Note que o campo id_time da tabela jogador aceita NULL, ou seja, como é possível haver jogadores sem times, devemos ser capazes de cadastrar os jogadores e só mais adiante definir o time a qual ele pertencerá. Veja: INSERT INTO jogadores VALUES(NULL, 'JORGINHO', NULL); Vá em frente e cadastre alguns jogadores (sem relacioná-los com algum time). Finalizado alguns cadastros de jogadores e times, use a instrução UPDATE para relacionar alguns jogadores com seus respectivos times (deixe alguns jogadores sem time). Veja um exemplo: UPDATE jogadores SET id_time = 3 WHERE id = 2; E aqui já podemos ver um exemplo da junção LEFT JOIN. Nossa tarefa é listar o id, nome do jogador e nome do time a qual ele pertence. Mas, queremos também incluir na listagem os jogadores que ainda não possuem times (o valor do campo id_time ainda é NULL). Veja: SELECT j.id, j.nome, t.nome FROM jogadores j LEFT JOIN times t ON j.id_time = t.id; id jogador time 1 ROBERTO CARLOS ? 2 JORGINHO CRUZEIRO 3 GUSTAVO BORGES ? 4 MARCOS ? Note que o conjunto de dados retornados inclui todos os jogadores, incluindo aqueles para os quais nenhum time foi definido ainda. |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de PHP - Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1839 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando PHP:
<?php
// Este código PHP pode ser executado tanto na linha
// de comando quanto pelo servidor web
// vamos declarar e construir um vetor de 8 inteiros
$valores = array(0, 3, 0, 5, 7, 4, 0, 9);
// vamos mostrar o vetor na ordem original
echo("Vetor na ordem original:\n");
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " ";
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
$j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for($i = 0; $i < count($valores); $i++){
// encontramos um valor que não é 0
if($valores[$i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
$temp = $valores[$i];
$valores[$i] = $valores[$j];
$valores[$j] = $temp;
// e avançamos o j para o elemento seguinte
$j++;
}
}
// agora mostramos o resultado
echo "\n\nVetor com os zeros deslocados para o final:\n";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " ";
}
?>
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
C++ ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como inicializar os valores dos elementos de um vetor C++ usando valores randômicos - RevisadoQuantidade de visualizações: 10091 vezes |
Esta dica mostra como atribuir números aleatórios aos elementos de um array (vetor). Veja que cada elemento recebe um valor randômico na faixa de 0 a 100:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// declara uma matriz de 10 elementos
int valores[10];
// vamos inicializar os elementos da matriz
// usando valores aleatórios de 0 a 100
srand(time(NULL));
for(int i = 0; i < 10; i++){
valores[i] = rand() % 100;
}
// exibe o resultado
for(int i = 0; i < 10; i++){
cout << "Índice: " << i << " - Valor: " <<
valores[i] << endl;
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executarmos este código nós teremos um resultado parecido com: Indice: 0 - Valor: 46 Indice: 1 - Valor: 11 Indice: 2 - Valor: 28 Indice: 3 - Valor: 74 Indice: 4 - Valor: 49 Indice: 5 - Valor: 50 Indice: 6 - Valor: 27 Indice: 7 - Valor: 98 Indice: 8 - Valor: 11 Indice: 9 - Valor: 81 |
Nossas 20 dicas & truques de programação mais populares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
PHP - Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHP Java - Como retornar os índices dos itens selecionados em uma JList de seleção múltipla do Java Swing Java - Java para iniciantes - Como pesquisar uma substring em uma string e retornar sua posição inicial Delphi - Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do Delphi |
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 |




