![]() |
|
|
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. |
||
Portugol ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em PortugolQuantidade de visualizações: 3415 vezes |
|
Como resolver uma equação do 2º grau usando Portugol Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando um algoritmo escrito na ferramenta Portugol Studio, uma das preferidas para o aprendizado de algoritmos e lógica de programação. 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 algoritmo Portugol 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 Portugol (escrevi e testei no Portugol Webstudio). 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:
// "Como resolver uma equação do 2º grau usando Portugol
programa {
// inclui a biblioteca Matematica
inclua biblioteca Matematica --> mat
// função principal do programa
funcao inicio() {
// variáveis usadas na resolução do problema
// os coeficientes
real a, b, c
// as duas raizes, a imaginaria e o discriminante
real raiz1, raiz2, imaginaria, discriminante
// vamos pedir para o usuário informar os valores dos coeficientes
escreva("Valor do coeficiente a: ")
leia(a)
escreva("Valor do coeficiente b: ")
leia(b)
escreva("Valor do coeficiente c: ")
leia(c)
// vamos calcular o discriminante
discriminante = (b * b) - (4 * a * c)
// a equação possui duas soluções reais?
se (discriminante > 0) {
raiz1 = ((b * -1) + mat.raiz(discriminante, 2.0)) / (2 * a)
raiz2 = ((b * -1) - mat.raiz(discriminante, 2.0)) / (2 * a)
escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2)
}
// a equação possui uma única solução real?
senao se (discriminante == 0){
raiz1 = (b * -1) / (2 * a)
raiz2 = (b * -1) / (2 * a)
escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2)
}
// a equação não possui solução real?
senao{
raiz1 = (b * -1) / (2 * a)
raiz2 = (b * -1) / (2 * a)
imaginaria = mat.raiz((discriminante * -1), 2.0) / (2 * a)
escreva("Existem duas raízes complexas: ")
escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria)
}
}
}
Ao executar este código Portugol 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 |
LISP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como testar uma condição em Lisp usando a macro ifQuantidade de visualizações: 1545 vezes |
|
Nesta dica mostrarei como podemos usar a macro if da linguagem Common Lisp para testar uma condição. Por se tratar de um exemplo básico, não mostrarei um caminho alternativo, ou seja, a mensagem será exibido somente se a condição for satisfeita. Em outras dicas eu complemento com o desvio opcional. Veja um exemplo no qual solicitamos um número ao usuário e informamos se o valor lido é maior que 10:
; Vamos definir as variáveis que vamos
; usar no programa
(defvar numero)
; Este é o programa principal
(defun Estudos()
; Vamos ler o número
(princ "Informe um número: ")
; talvez o seu compilador não precise disso
(force-output)
; atribui o valor lido à variável numero
(setq numero (read))
; vamos testar se este número é maior que 10
(if (> numero 10)
(format t "~D é maior que 10~%" numero))
; E mostramos o número informado
(format t "O número informado foi: ~D" numero)
)
; Auto-executa a função Estudos()
(Estudos)
Ao executar este código Common Lisp nós teremos o seguinte resultado: Informe um número: 12 12 é maior que 10 O número informado foi: 12 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Escreva um método chamado inverter() que recebe um número inteiro e retorna este mesmo número invertidoQuantidade de visualizações: 7818 vezes |
|
Pergunta/Tarefa: Escreva um método Java chamado inverter() que recebe um número inteiro e retorna este mesmo número invertido. Este método deverá ter a seguinte assinatura:
public static int inverter(int numero){
// sua implementação aqui
}
ATENÇÃO: Para a resolução deste exercício é permitido usar apenas os operadores aritméticos. Sua saída deverá ser parecida com: Informe um número inteiro: 487 O valor invertido é: 784 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 um número inteiro
System.out.print("Informe um número inteiro: ");
int numero = Integer.parseInt(entrada.nextLine());
// fazer efetuar uma chamada ao método inverter() e obter o valor invertido
int invertido = inverter(numero);
// e exibir o resultado
System.out.println("O valor invertido é: " + invertido);
}
// método estático que recebe um número inteiro e o devolve invertido
public static int inverter(int numero){
int resultado = 0; // guarda o resultado da inversão
// enquanto número for diferente de 0
while(numero != 0){
// obtém resto da divisão de número por 10
int resto = numero % 10;
// resultado recebe ele mesmo multiplicado por 10 mais o resto
resultado = resultado * 10 + resto;
// finalmente número recebe ele mesmo dividido por 10
numero = numero / 10;
}
return resultado; // retorna o resultado
}
}
|
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing para iniciantes - Como usar o método getKeyCode() da classe KeyEvent para detectar qual tecla de direção (setas) foi pressionadaQuantidade de visualizações: 3740 vezes |
Em algumas situações nós precisamos detectar qual das teclas de direção (setas) o usuário pressionou. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_UP, KeyEvent.VK_DOWN, KeyEvent.VK_RIGHT ou KeyEvent.VK_LEFT. Veja o exemplo:
package estudos;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Janela extends JFrame implements KeyListener{
public Janela(){
super("Eventos do Teclado");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
// vamos adicionar o objeto listener
addKeyListener(this);
setSize(350, 250);
setVisible(true);
}
@Override
public void keyPressed(KeyEvent e){
switch(e.getKeyCode()){
// seta para cima
case KeyEvent.VK_UP:
JOptionPane.showMessageDialog(null, "A seta para cima foi pressionada");
break;
// seta para baixo
case KeyEvent.VK_DOWN:
JOptionPane.showMessageDialog(null, "A seta para baixo foi pressionada");
break;
// seta para a direita
case KeyEvent.VK_RIGHT:
JOptionPane.showMessageDialog(null, "A seta para a direita foi pressionada");
break;
// seta para a esquerda
case KeyEvent.VK_LEFT:
JOptionPane.showMessageDialog(null, "A seta para a esquerda foi pressionada");
break;
default:
JOptionPane.showMessageDialog(null, "Nenhuma tecla de direção foi pressionada");
break;
}
}
@Override
public void keyReleased(KeyEvent e){
// sem implementação
}
@Override
public void keyTyped(KeyEvent e){
// sem implementação
}
public static void main(String args[]){
Janela j = new Janela();
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
É importante observar que as teclas de direção podem ser detectadas somente nos eventos keyPressed e keyReleased. |
Nossas 20 dicas & truques de programação mais populares |
|
C++ Builder - Como habilitar ou desabilitar um TEdit usando a função EnableWindow() da API do Windows usando C++ Builder Dart - Como testar se um ponto está dentro de um círculo em Dart - Desenvolvimento de Games com Dart C# - Como adicionar ou subtrair dias de uma data em C# usando o método AddDays() da estrutura DateTime |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - JavaScript para iniciantes - Como converter uma string em um valor numérico usando o método Number() do JavaScript Java - Como quebrar (separar) uma string em palavras usando um objeto da classe StringTokenizer do Java VB.NET - Como adicionar horas à data e hora atual em VB.NET usando a função AddHours() da classe DateTime |
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 |




