--- presentation: theme: solarized.css slideNumber: true width: 1080 height: 800 --- ## Processamento da Informação ##### Prof. Ronaldo Cristiano Prati
[ronaldo.prati@ufabc.edu.br](mailto:ronaldo.prati@ufabc.edu.br) ###### Bloco A, Sala 513-2 ## Vamos Praticar - Vamos fazer um programa que calcula $(a+b)^2$ ```java public class Exemplo1{ public static void main(String[] args){ double a = 2.5; double b = 3.3; double resposta = a*a + 2*a*b + b*b; System.out.println(resposta); } } ``` ## Vamos Praticar - `a`, `b` e `resposta` são variáveis do tipo `double`. - `double` é um dos tipos em Java para armazenar valores numérios. - Outros tipos podem ser encontrados [aqui](https://pt.wikibooks.org/wiki/Java/Tipos_de_dados_primários) - `System.out.println()` é um método que é usado para imprimir algo na tela. Esse método imprime o que está dentro dos parêntesis - `System.out` refere-se à saída padrão (monitor) ## Entrada de dados - Ao invés de atribuir um valor fixo a cada variável, podemos permitir que o usuário entre com o valores ```java import java.util.Scanner; public class Exemplo1{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); double a = sc.nextDouble(); double b = sc.nextDouble(); double resposta = a*a + 2*a*b + b*b; System.out.println(resposta); } } ``` ### Entrada de dados - `Scanner` é uma biblioteca em Java que permite monitorar um dispositivo - Observe que é necessário importar `java.util.Scanner` - `System.in` refere-se à entrada padrão (teclado) - `sc` é o nome de uma variável usada para criar uma instanciação de `Scanner`. Qualquer outro nome poderia ser usado - `sc.nextDouble()` irá capturar um número real digitado pelo usuário e armazená-lo na variável correspondente. Se o usuário não digitar um número real, ocorrerá um erro ## Biblioteca Math ```java import java.util.Scanner; public class Exemplo1{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); double a = sc.nextDouble(); double b = sc.nextDouble(); double resposta = Math.pow(a,2) + 2*a*b + Math.pow(b,2); System.out.println(resposta); } } ``` ## Biblioteca Math - `Math` é uma biblioteca matemática para Java - `Math.pow(x,y)` eleva o número `x` ao expoente `y`. No exemplo, usamos `2` como expoente, pare elevar o número ao quadrado - Outras funcionalidades da biblioteca `Math` podem ser encontrados [aqui](https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html) ### Exercício 1 - A [equação geral da reta](https://alunosonline.uol.com.br/matematica/equacao-geral-da-reta.html) no plano pode ser escrita como $$ a * x + b * y + c = 0 $$ - Dados os pontos $(x_1,y_1)$ e $(x_2,y_2)$, podemos calcular $a$, $b$ e $c$ fazendo: $$ \begin{aligned} a & = y_1 - y_2\\ b & = x_2 - x_1\\ c & = x_1*y_2 - x_2*y_1 \end{aligned} $$ - Escreva um programa em JAVA que leia os pontos $(x_1,y_1)$ e $(x_2,y_2)$ a partir do usuário, calcule e imprima os coeficientes da reta. - Por exemplo, se a entrada for $x_1 = 1, y_1=2, x_2 = 3$ e $y_2=8$, o resultado deve ser $a=-6, b=2$ e $c=2$. ### Exercício 2 - Uma equação do segundo grau da forma $$ ax^2 + bx+c= 0 $$ tem como raizes $$ \begin{aligned} x_1 & = \frac{- b + \sqrt{\Delta}}{2a} \\ x_2 & = \frac{- b - \sqrt{\Delta}}{2a} \end{aligned} $$ em que $\Delta=b^2 - 4ac$ - Faça um programa que que leia os valores de $a$, $b$ e $c$ e calcule e imprima $x_1$ e $x_2$. Por exemplo, para $a=1, b=-5$ e $c=6$, $x_1=2$ e $x_2=3$ ### Exercício 3 - Dados dois pontos $(x_1,y_1)$ e $(x_2,y_2)$, podemos calcular a distância entre eles fazendo $$ d = \sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}$$ Faça um programa que leia os dois pontos $(x_1,y_1)$ e $(x_2,y_2)$, calcule e imprima a distância entre eles. Por exemplo, para $x_1 = 2, y_1=-3, x_2 = 4$ e $y_2=5$, a distância é $d=\sqrt{68}= 8.24621125124...$