INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos...

31
COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO INTRODUÇÃO À PROGRAMAÇÃO FOZ DO IGUAÇU 2013

Transcript of INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos...

Page 1: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

COLÉGIO ESTADUAL ULYSSES GUIMARÃES

CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA

ERINALDO SANCHES NASCIMENTO

INTRODUÇÃO À PROGRAMAÇÃO

FOZ DO IGUAÇU

2013

Page 2: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas
Page 3: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

i

LISTA DE FIGURAS

FIGURA 1 – FLUXOGRAMA DO APLICATIVO QUE EXIBE UMA LINHA DE TEXTO. 2 FIGURA 2 – FLUXOGRAMA DA APLICAÇÃO QUE RECEBE E EXIBE A SOMA DE

DOIS NÚMEROS. ................................................................................................. 7

Page 4: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

ii

LISTA DE QUADROS

QUADRO 1 – PSEUDOCÓDIGO DE UM APLICATIVO QUE EXIBE UMA LINHA DE TEXTO .............. 2 QUADRO 2 – CLASSE QUE EXIBE UMA LINHA DE TEXTO ............................................................. 2 QUADRO 3 – EXIBE TEXTO EM CAIXA DE DIÁLOGO ..................................................................... 5 QUADRO 4 – PSEUDOCÓDIGO DA SOMA DE DOIS INTEIROS ...................................................... 6 QUADRO 5 – CLASSE JAVA QUE RECEBA, E EXIBE A SOMA DE DOIS INTEIROS ............................ 7 QUADRO 6 – CLASSE USANDO CAIXA DE DIÁLOGO PARA RECEBER E EXIBIR DADOS.................. 8 QUADRO 7 – SÍMBOLOS PARA EXPONENCIAÇÃO EM PSEUDOCÓDIGO ..................................... 9 QUADRO 8 – EXEMPLOS DE MÉTODOS DA CLASSE MATH .......................................................... 9 QUADRO 9 – FORMATAÇÃO NO ESTILO MOEDA CORRENTE .................................................... 11 QUADRO 10 – APLICAÇÃO DA CLASSE DECIMALFORMAT......................................................... 13

Page 5: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

iii

SUMÁRIO

3 INTRODUÇÃO À PROGRAMAÇÃO ....................................................................... 1 3.1 UM PRIMEIRO PROGRAMA SIMPLES ................................................................. 1 3.1.1 Representar a Aplicação em Pseudocódigo ....................................................... 1 3.1.2 Representar a Aplicação em Fluxograma .......................................................... 2 3.1.3 Classe Java que Imprime uma Linha de Texto .................................................. 2 3.1.3.1 Comentando Programas ................................................................................. 3 3.1.3.2 Declarando um Método ................................................................................... 4 3.1.3.3 Compilando um Programa ou Classe Java ..................................................... 4 3.1.3.4 Execução de um Programa Java .................................................................... 5 3.1.4 Classe Java que Exibe o Texto em uma Caixa de Diálogo ................................ 5 3.2 APLICATIVO PARA ADICIONAR INTEIROS ......................................................... 6 3.2.1 Pseudocódigo da Aplicação ............................................................................... 6 3.2.2 Fluxograma da Aplicação ................................................................................... 7 3.2.3 Classe Java que Adiciona Números Inteiros ...................................................... 7 3.2.4 Classe Usando Caixa de Diálogo para Receber e Exibir Dados ........................ 8 3.3 A CLASSE MATH .................................................................................................. 9 3.3.1 Constantes ....................................................................................................... 10 3.4 FORMATOS DE MOEDA ..................................................................................... 10 3.5 A CLASSE DECIMALFORMAT ........................................................................... 12 3.6 EXERCÍCIOS ...................................................................................................... 14 3.7 TRABALHOS PRÁTICOS .................................................................................... 23 3.8 BIBLIOGRAFIA .................................................................................................... 24

Page 6: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas
Page 7: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

1

3 INTRODUÇÃO À PROGRAMAÇÃO

Para executar um programa Java:

1. Use o compilador para traduzir o programa Java em bytecode.

2. Use a JVM para o computador traduzir instruções bytecode em linguagem de

máquina e executar as instruções de linguagem de máquina.

A maioria das linguagens de programação traduz diretamente para a

linguagem de máquina de um computador particular. No entanto, o bytecode Java

faz o programa Java muito portátil. Depois de compilar o programa Java em

bytecode, esse bytecode pode ser usado em qualquer computador. Ao executar o

programa em outro tipo de computador, não é preciso recompilá-lo. Se um programa

Java se comporta mal, ele só faz isso dentro do contexto da JVM em vez de se

comportar mal diretamente em sua máquina nativa. Naturalmente, todo o tipo de

computador deve ter o seu próprio programa para implementar o Java Virtual

Machine.

Chamamos de programa de entrada, programa-fonte, ou código-fonte, o

programa Java. O programa traduzido em linguagem de baixo nível que o

compilador produz é chamado de programa objeto ou código objeto. A palavra de

código significa apenas um programa ou uma parte de um programa.

3.1 UM PRIMEIRO PROGRAMA SIMPLES

Um aplicativo Java é um programa de computador que é executado quando

você usar o comando java para carregar o Java Virtual Machine (JVM).

Considere um aplicativo simples que exibe uma linha de texto.

3.1.1 Representar a Aplicação em Pseudocódigo

O Quadro 1 apresente o pseudocódigo da aplicação que exibe o texto “Bem-

vindo à programação Java” na tela.

Page 8: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

2

Quadro 1 – Pseudocódigo de um aplicativo que exibe uma linha de texto

1 Algoritmo PrimeiroPrograma {

2 Escreva “Bem-vindo à programação Java”;

3 }

3.1.2 Representar a Aplicação em Fluxograma

A figura 1 representa em fluxograma o aplicativo que exibe uma linha de

texto.

Figura 1 – Fluxograma do aplicativo que exibe uma linha de texto.

3.1.3 Classe Java que Imprime uma Linha de Texto

O Quadro 2 exibe a classe java que imprime a linha com o texto “Bem-vindo

à programação Java” no monitor.

Quadro 2 – Classe que exibe uma linha de texto

1 package intro;

2 public class PrimeiroPrograma {

3 //método main inicia a execução do aplicativo Java

4 public static void main(String[] args) {

5 System.out.println("Bem-vindo à programação Java");

6 } //fim do método main

7 } //fim da classe

Cada programa Java consiste em pelo menos uma classe definida pelo

programador. Em Java, um arquivo de origem é chamado oficialmente de unidade

de compilação. É um arquivo de texto que contém uma ou mais definições de

Início

Bem-vindo à

programação Java

Fim

Page 9: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

3

classe. O compilador Java exige que um arquivo de origem use a extensão de

arquivo .java.

Em Java, todo o código deve residir dentro de uma classe. Por convenção, o

nome da classe deve corresponder ao nome do arquivo que contém o programa.

Por convenção os nomes das classes começam com uma letra maiúscula. O

nome da classe é um identificador – uma série de caracteres que consistem em

letras, dígitos, sublinhados (_) e sinais de dólar ($) que não começa com um dígito e

não contém espaços. Normalmente, um identificador que não começa com uma letra

maiúscula não é um nome de classe.

3.1.3.1 Comentando Programas

Há duas maneiras de inserir comentários em um programa Java.

Em Java, os símbolos // são utilizados para indicar o início de um

comentário. Todo o texto entre o // e a extremidade da linha é um comentário. O

compilador simplesmente ignora qualquer coisa que segue // em uma linha.

Comentários indicado com // são frequentemente chamados de comentários de

linhas.

Qualquer coisa entre o par de símbolos /* e os dois símbolos */ é

considerado um comentário e é ignorado pelo compilador. Ao contrário dos

comentários //, que exigem um // adicional em cada linha, */ */ para comentários

podem abranger várias linhas.

Comentários do tipo /* */ muitas vezes são chamados blocos de

comentários. Estes blocos de comentários podem ser inseridos em qualquer lugar

de um programa que um intervalo ou espaço linha é permitido.

Geralmente os comentários são colocados nas extremidades das linhas ou

em linhas separadas pelos próprios comentários.

Page 10: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

4

3.1.3.2 Declarando um Método

Declarações de classe Java normalmente contêm um ou mais métodos.

Para uma aplicação Java, um dos métodos deve ser chamado de main e deve ser

definido como mostrado na linha 5, caso contrário, o Virtual Machine Java (JVM) não

executa o aplicativo. Métodos executam tarefas e podem retornar informações

quando completam suas tarefas. A palavra-chave void indica que esse método não

retornará nenhuma informação.

3.1.3.3 Compilando um Programa ou Classe Java

Um programa Java é dividido em classes. Antes de executar um programa

Java, você deve compilar essas classes.

Cada definição de classe usada no programa escrito pelo programador deve

estar em um arquivo separado. O nome do arquivo deve ser o mesmo que o nome

de classe, exceto que o nome do arquivo tem .java adicionado ao final.

Usando uma IDE (Integrated

Development Environment – Ambiente

Integrado de Desenvolvimento), há um

comando simples para compilar o

programa Java a partir do editor.

Supondo o uso da ferramenta de

linha de comando do Java Development

Kit (JDK), abra uma janela de comando e

mude para o diretório onde o programa

está armazenado. Para compilar o

programa, digite javac

PrimeiroPrograma.java.

O compilador javac cria um

arquivo chamado PrimeiroPrograma.class

que contém a versão bytecode do programa. O bytecode Java é a representação

Page 11: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

5

intermediária do programa que contém as instruções que o Java Virtual Machine irá

executar. Assim, a saída do javac não é um código que pode ser diretamente

executado.

3.1.3.4 Execução de um Programa Java

Um programa em Java pode consistir em um número diferente de classes,

cada uma em um arquivo diferente. Ao executar um programa de aplicação Java,

apenas executa a classe que contém o método main.

Se o programar usar uma IDE terá um comando de menu que pode ser

usado para executar um programa Java.

Se precisar executar o programa Java com uma determinada linha comando

de um sistema operacional, então execute o programa dando o comando java

seguido do nome da classe que contém o método main. Por exemplo, java

PrimeiroPrograma.

3.1.4 Classe Java que Exibe o Texto em uma Caixa de Diálogo

O Quadro 3 executa o mesmo que a classe anterior. Mas usa a classe

JOptionPane para exibir o resultado em uma caixa de diálogo.

Quadro 3 – Exibe texto em caixa de diálogo

1 package intro;

2 import javax.swing.JOptionPane;

3 public class PrimProgDialogo {

4 public static void main(String[] args) {

5 JOptionPane.showMessageDialog(

6 null, "Bem vindo \nà Programação Java");

7 System.exit(0); //termina o aplicativo

8 }

Page 12: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

6

9 }

3.2 APLICATIVO PARA ADICIONAR INTEIROS

O próximo programa mostra como uma variável é declarada e como ele é

atribuído um valor. O programa também ilustra alguns aspectos novos da saída do

console. O aplicativo lê dois números inteiros digitados no teclado pelo usuário,

calcula a soma e exibe o resultado.

3.2.1 Pseudocódigo da Aplicação

O Quadro 4 exibe o pseudocódigo de aplicativo que lê dois números inteiros

passados pelo usuário via teclado, calcula a soma e exibe o resultado na tela.

Quadro 4 – Pseudocódigo da soma de dois inteiros

1 Algoritmo SegundoPrograma {

2 Declare

3 numero1, numero2, soma : inteiro;

4 Escreva “Entre com o primeiro número”;

5 Leia (numero1);

6 Escreva “Entre com o segundo número”;

7 Leia(numero2);

8 soma = numero1 + numero2;

9 Escreva “A soma é ”, soma;

10 }

Page 13: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

7

3.2.2 Fluxograma da Aplicação

A figura 2 representa o fluxograma da aplicação que recebe dois números

digitados pelo usuário, soma e exibe o resultado na tela.

Figura 2 – Fluxograma da aplicação que recebe e exibe a soma de dois números.

3.2.3 Classe Java que Adiciona Números Inteiros

O Quadro 5 mostra a classe Java que recebe dois números inteiros

fornecidos pelo usuário via teclado, calcula a soma e exibe o resultado no monitor.

Quadro 5 – Classe Java que receba, e exibe a soma de dois inteiros

1 package intro;

2 import java.util.Scanner;

3 public class SegundoPrograma {

4 public static void main(String[] args) {

5 int numero1, numero2, soma;

6 Scanner leia = new Scanner(System.in);

7 System.out.println("Entre com o primeiro número: ");

8 numero1 = leia.nextInt();

9 System.out.println("Entre com o segundo número: ");

10 numero2 = leia.nextInt();

11 soma = numero1 + numero2;

Início numero1 numero2 soma = numero1

+ numero2

A soma

é, soma

Fim

Page 14: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

8

12 System.out.println("A soma é "+soma);

13 }

14 }

3.2.4 Classe Usando Caixa de Diálogo para Receber e Exibir Dados

O Quadro 6 exibe uma classe Java que usa caixas de diálogos para receber

dados via teclado, e exibe o resultado do cálculo em outra caixa de diálogo.

Quadro 6 – Classe usando caixa de diálogo para receber e exibir dados

1 package intro;

2 import javax.swing.JOptionPane;

3 public class SegProgDialogo {

4 public static void main(String[] args) {

5 String priNumero, segNumero;

6 int num1, num2, soma;

7 priNumero = JOptionPane.showInputDialog(

8 "Digite o primeiro número inteiro");

9 segNumero = JOptionPane.showInputDialog(

10 "Digite o segundo número inteiro");

11 num1 = Integer.parseInt(priNumero);

12 num2 = Integer.parseInt(segNumero);

13 soma = num1 + num2;

14 JOptionPane.showMessageDialog(

15 null, "A soma é "+soma,"Resultado",

16 JOptionPane.PLAIN_MESSAGE);

17 System.exit(0);

18 }

19 }

Page 15: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

9

3.3 A CLASSE MATH

Nem todos os operadores aritméticos utilizados na realização de cálculos

podem ser representados por símbolos computacionais. Alguns deles são

representados por funções matemáticas, como no caso da exponenciação,

representada no Quadro 7, e da radiciação.

Quadro 7 – Símbolos para exponenciação em pseudocódigo

Exponenciação ^ ou **

Funções matemáticas são programas especiais existentes nas bibliotecas

das linguagens de programação e executam cálculos matemáticos mais complexos

não suportados pelos operadores matemáticos básicos.

A classe Math fornece um conjunto de métodos que permitem realizar

cálculos matemáticos comuns. A classe Math é fornecida automaticamente e não

requer instrução de importação.

Os comandos no Quadro 8 retornam valores segundo os métodos chamados

pela classe Math.

Quadro 8 – Exemplos de métodos da classe Math

System.out.println(Math.pow(2.0, 3.0)); Retorna base elevada ao expoente.

System.out.println(Math.min(3, 2)); Retorna o mínimo de dois

argumentos numéricos.

System.out.println(Math.max(3, 2)); Retorna o máximo de dois

argumentos numéricos.

System.out.println(Math.round(3.2)); Arredonda o argumento.

System.out.println(Math.ceil(3.2)); Retorna o número inteiro maior que

ou igual ao argumento.

System.out.println(Math.floor(3.2)); Retorna o número inteiro menor ou

igual ao argumento.

System.out.println(Math.sqrt(4)); Retorna a raiz quadrada do

argumento.

System.out.println(Math.random()); Retorna um número aleatório maior

Page 16: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

10

ou igual a 0,0 e inferior a 1,0.

abs(x) Valor absoluto de x.

cos(x) Cosseno trigonométrico de x (x em

radianos).

exp(x) Método exponencial ex.

3.3.1 Constantes

A classe Math também tem duas constantes predefinidas, E e PI.

A constante PI (muitas vezes escrito em fórmulas matemáticas) é usada

em cálculos envolvendo círculos, esferas e outras figuras geométricas com base em

círculos. PI é aproximadamente 3,14159.

A constante E é a base do sistema de logaritmo natural (e muitas vezes

escrita e em fórmulas matemáticas) e é de aproximadamente 2,72.

Exemplo: fórmula da área do círculo.

area = Math.PI * Math.pow(raio,2);

3.4 FORMATOS DE MOEDA

A classe NumberFormat diz ao Java para usar o formato apropriado quando

emitir montantes de dinheiro. A técnica é ilustrada no Quadro 9. Primeiro, considere

o seguinte:

NumberFormat formatoMonetario =

NumberFormat.getCurrencyInstance();

O método de invocação NumberFormat.getCurrencyInstance() produz um

objeto da classe NumberFormat e o nomeia o objeto formatoMonetario. Este objeto

formatoMonetario tem um método chamado format que recebe um número de ponto

flutuante como um argumento e retorna um valor String que representa esse número

na moeda local (moeda padrão). Por exemplo, a seguinte invocação :

formatoMonetario.format(19.8)

Page 17: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

11

retorna o valor String "R$ 19,80", assumindo a moeda padrão que é o real.

Para tornar a classe NumberFormat disponível no código, deve-se incluir o

seguinte perto do início do arquivo do programa:

import java.text.NumberFormat;

Quadro 9 – Formatação no estilo moeda corrente

1 package intro;

2 import java.text.NumberFormat;

3 import java.util.Locale;

4

5 public class DemoFormatoMoeda {

6 public static void main(String[] args) {

7 System.out.println("Sem formatação");

8 System.out.println(19.8);

9 System.out.println(19.81111);

10 System.out.println(19.89999);

11 System.out.println(19);

12 System.out.println();

13 System.out.println("Localização padrão");

14 NumberFormat formatoMonetario =

15 NumberFormat.getCurrencyInstance();

16 System.out.println(formatoMonetario.format(19.8));

17 System.out.println(formatoMonetario.format(19.81111));

18 System.out.println(formatoMonetario.format(19.89999));

19 System.out.println(formatoMonetario.format(19));

20 System.out.println();

21 System.out.println("Localização americana");

22 NumberFormat formatoMonetario2 =

23 NumberFormat.getCurrencyInstance(Locale.US);

24 System.out.println(formatoMonetario2.format(19.8));

25 System.out.println(formatoMonetario2.format(19.81111));

26 System.out.println(formatoMonetario2.format(19.89999));

27 System.out.println(formatoMonetario2.format(19));

Page 18: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

12

28 System.out.println();

29 }

30 }

As constantes de localização são objetos da classe Locale. A fim de tornar a

classe Locale e essas constantes disponíveis para o código, deve-se incluir o

seguinte no início do arquivo do programa:

import java.util.Locale;

3.5 A CLASSE DECIMALFORMAT

O método System.out.println exibe números de saída, mas não tem

instalações para formatar os números. Para mostrar um número em um formato

específico, com número especificado de dígitos depois do ponto decimal, é

necessário converter o número em uma sequência que mostra o número no formato

desejado e, em seguida, usar System.out.println para a saída da cadeia.

A classe DecimalFormat que está no pacote Java java.text proporciona uma

instalação versátil para formatar números em uma variedade de maneiras. É

necessário adicionar no início do arquivo do programa ou classe que usa a classe

DecimalFormat:

import java.text.DecimalFormat;

Um objeto da classe DecimalFormat tem um certo número de métodos

diferentes que podem ser usados para produzir cadeias numerais em vários

formatos.

Criar um objeto da classe DecimalFormat, usando um padrão de cadeia

como se segue:

DecimalFormat nome_variavel = new DecimalFormat(padrao);

O método format da classe DecimalFormat pode ser usada para converter

um número float, tal como um de tipo double, para um String numeral

correspondente seguindo o padrão usado para criar o objeto DecimalFormat.

Por exemplo, considere o seguinte código:

DecimalFormat formattingObject = new DecimalFormat("000.0000");

Page 19: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

13

String numeral = formattingObject.format(12.3456789);

System.out.println(numeral);

Isto produz o seguinte resultado: 012.3457.

Um padrão pode especificar o número exato de dígitos antes e depois do

decimal, ou pode especificar o número mínimo de dígitos. O caráter '0 'é usado para

representar um dígito exigido, e o caráctere "#" é usado para indicar um dígito

opcional. O dígito opcional '#' é mostrado, se é um dígito diferente de zero e não é

mostrado se for um dígito zero.

O caractere '%' colocado na extremidade de um padrão indica que o número

é para ser expressa como uma percentagem. O '%' faz com que o número seja

multiplicado por 100 e acrescenta um sinal de porcentagem, '%'.

A notação E é especificada, incluindo um 'E' na cadeia modelo. Os exemplos

mostrados no Quadro 9 detalham a cadeia da notação E, entre outras.

Quadro 10 – Aplicação da classe DecimalFormat

1 public class DemoDecimalFormat {

2 public static void main(String[] args) {

3 DecimalFormat padrao00ponto000 =

new DecimalFormat("00.000");

4 DecimalFormat padrao0ponto00 =

new DecimalFormat("0.00");

5 double d = 12.3456789;

6 System.out.println("Padrão 00.000");

7 System.out.println(padrao00ponto000.format(d));

8 System.out.println("Padrão 0.00");

9 System.out.println(padrao0ponto00.format(d));

10 double dinheiro = 20.7;

11 System.out.println("Padrão 0.00");

12 System.out.println("R$"+padrao0ponto00.format(dinheiro));

13 DecimalFormat percentual = new DecimalFormat("0.00%");

14 System.out.println("Padrão 0.00%");

15 System.out.println(percentual.format(0.308));

16 DecimalFormat notacaoE1 =

Page 20: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

14

17 new DecimalFormat("#0.###E0");

//1 ou 2 dígitos antes do ponto

18 DecimalFormat notacaoE2 =

19 new DecimalFormat("00.###E0");

//2 dígitos antes do ponto

20 System.out.println("Padrão #0.###E0");

21 System.out.println(notacaoE1.format(123.456));

22 System.out.println("Padrão 00.###E0");

23 System.out.println(notacaoE2.format(123.456));

24 double numeroPequeno = 0.0000123456;

25 System.out.println("Padrão #0.###E0");

26 System.out.println(notacaoE1.format(numeroPequeno));

27 System.out.println("Padrão 00.###E0");

28 System.out.println(notacaoE2.format(numeroPequeno));

29 }

30 }

3.6 EXERCÍCIOS

1. Preencha as lacunas em cada uma das seguintes frases:

a) Uma _______________ inicia o corpo de cada método e uma

_______________ termina o corpo de cada método.

b) Cada instrução termina com um _______________.

c) _______________ inicia um comentário de fim de linha.

d) Aplicativos Java iniciam a execução no método _______________.

e) Os métodos _______________, _______________ e _______________

exibem informações na janela de comando.

f) Os oito tipos de dados primitivos de Java são: ___________________,

__________________, __________________, ___________________,

__________________, __________________, ___________________, e

__________________.

Page 21: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

15

2. Determine se cada um dos seguintes exemplos é verdadeiro ou falso. Se falso,

explique por que.

a) Os comentários fazem com que o computador imprima o texto depois de // na

tela quando o programa executa.

b) O Java considera que as variáveis number e NuMbEr são idênticas.

3. Qual é a saída produzida pelo código Java abaixo?

a) /**

Code for Exercise.

*/

System.out.println("Olá");

//System.out.print("Sr. ou Sra. ");

System.out.println("Estudante");

b) System.out.println("1+1+1="+1+1+'1');

c) NumberFormat formatoExercicio =

NumberFormat.getCurrencyInstance(Locale.US);

double d1 = 1.2345, d2 = 15.67890;

System.out.println(formatoExercicio.format(d1));

System.out.println(formatoExercicio.format(d2));

4. Escreva uma declaração de importação que faça a classe Scanner disponível

para o seu programa ou classe.

5. Escreva uma linha de código que cria um objeto Scanner chamado aula a ser

utilizado para a obtenção de entrada de teclado.

6. Escreva uma linha de código que usa o objeto aula do exercício anterior, para ler

uma palavra do teclado e armazena-la na variável String w.

7. Algo poderia dar errado com o seguinte código. Identifique e corrija o problema.

Scanner teclado = new Scanner(System.in);

System.out.println("Digite sua idade.");

int idade = teclado.nextInt();

System.out.println("Digite seu nome.");

String nome = teclado.nextLine();

System.out.println(nome + ",você tem " + idade + " anos.");

8. Escreva uma instrução para realizar cada uma das seguintes tarefas:

a) Declarar que um programa calculará o produto de três números inteiros.

b) Declarar as variáveis x, y, z e resultado como do tipo inteiro.

Page 22: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

16

c) Declarar as variáveis xVal, yVal e zVal como do tipo String.

d) Solicitar ao usuário para inserir o primeiro valor, ler o valor do usuário e

armazená-lo na variável xVal.

e) Solicitar ao usuário para inserir o segundo valor, ler o valor do usuário e

armazená-lo na variável yVal.

f) Solicitar ao usuário para inserir o terceiro valor, ler o valor do usuário e

armazená-lo na variável zVal.

g) Converter xVal em um inteiro e armazenar o resultado na variável x.

h) Converter yVal em um inteiro e armazenar o resultado na variável y.

i) Converter zVal em um inteiro e armazenar o resultado na variável z.

j) Computar o produto dos três inteiros contidos nas variáveis x, y e z e atribuir o

resultado à variável resultado.

k) Exibir uma caixa de diálogo contendo a mensagem “O produto é ” seguido

pelo valor da variável resultado.

l) Retornar um valor a partir do programa para indicar que o programa foi

finalizado com sucesso.

9. Escreva instruções em Java que realizam cada uma das seguintes tarefas:

a) Exibir a mensagem “Entre com dois números” utilizando a classe

JOptionPane.

b) Atribuir o produto das variáveis b e c para a variável a.

c) Exibir uma caixa de diálogo pedindo para o usuário inserir um número de

ponto flutuante.

d) Converter um String em um número de ponto flutuante e armazenar o valor

na variável idade do tipo Double. Pressuponha que o String seja armazenado

em stringValor.

10. (CODESP-SP – 2010) A figura abaixo mostra as cinco

fases para execução de programa Java.

O processo de execução ocorre da seguinte forma:

- Na edição, o programa é criado no editor e armazenado em

disco.

- Na compilação, o compilador gera um PRODUTO e o

armazena em disco.

Page 23: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

17

- Na carga, o carregador de classe coloca o PRODUTO na memória.

- Na verificação, o verificador que o PRODUTO é válido e não viola as restrições

de segurança do Java.

- Na interpretação, o interpretador lê o PRODUTO e faz a tradução para uma

linguagem que o computador pode entender, possivelmente armazenando

valores de dados enquanto executa o programa.

Nesse processo, PRODUTO representa o seguinte componente:

a) bytecode. b) framework. c) firmware. d) framecode. e) bytework.

11. (MPE-RO – 2005) Para declarar uma constante chamada SIZE do tipo inteiro e

com valor 10 no Java, podemos utilizar a construção:

a) static extend integer SIZE = 10;

b) static final int SIZE = 10;

c) this extend integer SIZE := 10;

d) this final int SIZE :=10;

e) void final int SIZE = 10;

12. Assinale V para verdadeiro ou F para falso.

( ) O valor 3.1415F define uma variável do tipo long de 32 bits, inteira, com

sinal em complemento de dois.

( ) Por meio do tipo de dados float, é possível representar números em

notação de ponto flutuante normalizada em precisão simples de 32 bits.

( ) A função Math.round(valor) gera um número aleatório utilizando a

semente valor.

( ) A função Math.round(valor) retorna o comprimento de uma circunferência

de raio valor.

( ) Valores numéricos reais em Java podem ser representados por variáveis

do tipo byte, short, int ou long. Alguns tipos contêm valores inteiros com

sinal, com representação interna em complemento de um.

( ) Entre os tipos de dados primitivos suportados pela linguagem Java, está o

tipo char, o qual ocupa um espaço de memória de 8 bits.

( ) As definições de variáveis no código de um programa não interferem na

geração de um código-objeto porque as variáveis não possuem relação

direta com a entrada e a saída de dados em um programa.

( ) Um interpretador é um programa que lê um código escrito em uma

Page 24: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

18

linguagem e o converte em um código equivalente em outra linguagem. No

processo de conversão, o interpretador relata a presença de erros no

código original.

( ) O código-fonte pode ser transportado de processador para processador e

de compilador para compilador, sem nenhuma modificação.

( ) O código-fonte permanece imutável mesmo quando seu ambiente muda

(por exemplo, uma nova versão de sistema operacional é instalada).

13. (AL-SP – 2010) Os tipos de dados primitivos em Java são

a) char, boolean, byte, short, int, long, float e double.

b) char, boolean, byte, short, int, long, float, double e String.

c) byte, short, int, long, float e double.

d) byte, short, int, long, float, double, String e Date.

e) char, boolean, byte, short, int, long, float, double, String e Date.

14. (TCE-AL – 2008) Os três elementos básicos quando contidos num arquivo

fonte Java devem obrigatoriamente se apresentar na seguinte ordem:

a) import, package e class.

b) class, package e import.

c) class, import e package.

d) package, class e import.

e) package, import e class.

15. (TER-MG – 2005) A sequência de etapas para implementação de um programa

Java é

a) interpretação, codificação, execução e compilação.

b) codificação, interpretação, compilação e execução.

c) interpretação, codificação, compilação e execução.

d) codificação, compilação, interpretação e execução.

e) compilação, codificação, execução e interpretação.

16. (TRT-PR – 2010) O JVM mais o núcleo de classes da plataforma Java e os

arquivos de suporte formam o

a) o J2EE.

b) o JDK.

c) o JRE.

d) uma JSP.

e) uma API.

Page 25: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

19

17. (SEFAZ-SC – 2010) Assinale a alternativa correta a respeito das variáveis e

constantes, utilizadas em diversas linguagens de programação.

a) O número de constantes deve ser menor ou igual ao número de variáveis em

um programa.

b) O número de constantes deve ser menor ou igual ao número de

procedimentos em um programa.

c) O número de constantes deve ser igual ao número de variáveis em um

programa.

d) O número de constantes independe da quantidade de variáveis em um

programa.

e) O número de constantes deve ser igual ao número de procedimentos em um

programa.

18. (TJ-PA – 2009) O desempenho de um programa no computador NÃO depende

a) do algoritmo usado no programa.

b) da linguagem de programação e do compilador.

c) do processador e do sistema de memória.

d) do hardware de E/S e do sistema operacional.

e) da quantidade de slots da placa-mãe.

19. (MPU – 2007) Especificar um valor a ser armazenado na área de memória

referenciada por um nome descritivo caracteriza uma

a) variável.

b) instrução de controle.

c) sintaxe de comentário.

d) constante.

e) instrução de atribuição.

20. Siga os passos abaixo e escreva um programa Java que leia em uma linha de

entrada de teclado contendo dois valores do tipo int (separados por um ou mais

espaços) e saídas dos dois números, assim como a soma dos dois números.

a) Digite a linha para importar a classe Scanner.

b) Digite a linha com o nome da classe que você criou.

c) Na classe, digite o método principal para executar a classe.

d) No método principal, crie um objeto teclado da classe Scanner para ler do

teclado.

Page 26: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

20

e) Exiba uma mensagem na tela com a seguinte mensagem: Digite dois

números inteiros separados por espaço:

f) Declare a variável inteira val1 e atribua-lhe o primeiro valor digitado.

g) Declare a variável inteira val2 e atribua-lhe o segundo valor digitado.

h) Declare uma variável inteira soma e atribua-lhe a soma de val1 e val2.

i) Exiba a mensagem “A soma dos dois números inteiros é ”, seguido da

variável soma.

j) Feche todas as chaves abertas.

k) Salve, compile e execute.

21. Faça um programa que receba quatro números inteiros, calcule e mostre a soma

desses números.

22. Siga os passos e faça um programa que receba três notas, calcule e mostre a

média aritmética entre elas.

a) Digite a linha para importar a classe DecimalFormat.

b) Digite a linha para importar a classe JOptionPane.

c) Digite a linha com a classe criada.

d) Dentro da classe, digite o método principal para executar a classe.

e) Dentro do método principal, faça:

a. Crie o objeto nota da classe DecimalFormat com o formato “0.0”.

b. Declare a variável nota1 do tipo real e atribua-lhe, usando uma caixa de

diálogo de entrada, o valor digitado pelo usuário.

c. Declare a variável nota2 do tipo real e atribua-lhe, usando outra caixa de

diálogo de entrada, o valor digitado pelo usuário.

d. Declare a variável nota3 do tipo real e atribua-lhe, usando a terceira caixa

de diálogo de entrada, o valor digitado pelo usuário.

e. Declare a variável media, e atribua-lhe o cálculo da média das três notas

digitadas pelo usuário.

f. Usando uma caixa de diálogo de mensagem, para exibir o resultado,

escreva uma mensagem que informe a média no formato nota.

f) Feche as chaves correspondentes ao método principal e à classe.

g) Salve, compile e execute o programa.

23. Faça um programa que receba três notas e seus respectivos pesos, calcule e

mostre a média ponderada dessas notas.

Page 27: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

21

24. Faça um programa que receba o salário de um funcionário, calcule e mostre o

novo salário, sabendo-se que este sofreu um aumento de 25%.

a) Digite a linha para importar a classe NumberFormat.

b) Digite a linha para importar a classe Scanner.

c) Digite a linha com o nome da classe criada.

d) Dentro da nova classe, digite o método principal.

e) Dentro do método principal, faça:

a. Crie um novo objeto chamado leia para a classe Scanner.

b. Crie um novo objeto chamado moeda para o formato de moeda

corrente.

c. Exiba uma mensagem solicitando que seja digitado o salário atual do

funcionário.

d. Declare a variável salario do tipo real, atribua para ela o conteúdo do

objeto leia.

e. Declare a variável novosalario do tipo real, atribua a ela o cálculo do

reajuste.

f. Exiba uma mensagem informando o valor do salário reajustado.

f) Feche as chaves correspondentes ao método principal e a classe.

g) Salve, compile e execute o programa.

25. Faça um programa que receba o salário de um funcionário e o percentual de

aumento, calcule e mostre o valor do aumento e o novo salário.

26. Faça um programa que receba o salário-base de um funcionário, calcule e

mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de

5% sobre o salário-base e paga imposto de 11% sobre o salário-base.

a) Digite a linha para importar a classe NumberFormat.

b) Digite a linha para importar a classe JOptionPane.

c) Digite a linha com o nome da classe.

d) Dentro da classe escreva o método principal para executá-la.

e) Dentro do método principal, faça:

a. Crie um objeto chamado moeda que receba o formato da moeda

corrente.

b. Declare uma variável real salarioBase, atribua para ela o valor passado

via caixa de diálogo de entrada de dados.

Page 28: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

22

c. Exiba uma mensagem através de uma caixa de diálogo, onde conste o

cálculo do salário a receber no formato do objeto moeda.

27. Faça um programa que recebe o salário-base de um funcionário, calcule e

mostre o seu salário a receber, sabendo-se que esse funcionário tem gratificação

de R$ 50,00 e paga imposto de 10% sobre o salário-base.

28. Faça um programa que receba o valor de um depósito e o valor da taxa de juros,

calcule e mostre o valor do rendimento e o valor total depois do rendimento.

29. Faça um programa que calcule e mostre a área de um triângulo.

Sabe-se que: área = (base * altura)/2

30. Faça um programa que calcule e mostre a área de um círculo.

Sabe-se que: Área = R2

a) Digite a linha de comando para importar a classe DecimalFormat.

b) Digite a linha de comando para importar a classe Scanner.

c) Digite a linha com o nome da classe a ser construída.

d) Dentro da classe escreva o método principal para executá-la.

e) Dentro do método principal faça.

a. Crie o objeto num com o formato de duas casas decimais para a classe

DecimalFormat.

b. Crie o objeto leia para a classe Scanner.

c. Escreva uma mensagem solicitando o raio do círculo.

d. Declare a variável raio do tipo real, atribua-lhe o valor digitado pelo

usuário e armazenado no objeto leia.

e. Declare a variável area do tipo real, atribua-lhe o calculo conforme

apresentado no enunciado do exercício (use a classe Math para a

constante PI, e para calcular o raio ao quadrado).

f. Exiba uma mensagem que mostre o valor da área do círculo para o

raio digitado. A área deverá ser mostrado no formato num.

f) Feche as chaves do método principal e da classe.

g) Salve, compile e execute o programa.

31. Faça um programa que receba dois números maiores que zero, calcule e mostre

um elevado ao outro.

32. Faça um programa que receba um número positivo e maior que zero, calcule e

mostre:

a) O número digitado ao quadrado

Page 29: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

23

b) O número digitado ao cubo

c) A raiz quadrada do número digitado

d) A raiz cúbica do número digitado

33. Sabe-se que:

1 pé = 12 polegadas

1 jarda = 3 pés

1 milha = 1.760 jardas

Faça um programa que receba uma medida em pés, faça as conversões a seguir

e mostre os resultados

e) Polegadas

f) Jardas

g) Milhas

34. Faça um programa que receba o ano de nascimento de uma pessoa e o ano

atual, calcule e mostre:

a) A idade dessa pessoa

b) Quantos anos essa pessoa terá em 2015

35. O custo ao consumidor de um carro novo é a soma do preço de fábrica com o

percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica.

Faça um programa que receba o preço de fábrica de um veículo, o percentual de

lucro do distribuidor e o percentual de impostos. Calcule e mostre:

a) O valor correspondente ao lucro do distribuidor.

b) O valor correspondente aos impostos.

c) O preço final do veículo.

3.7 TRABALHOS PRÁTICOS

1. Faça um programa que receba o número de horas trabalhadas e o valor do

salário mínimo. Calcule e mostre o salário a receber seguindo as regras abaixo:

a) A hora trabalhada vale a metade do salário mínimo.

b) O salário bruto equivale ao número de horas trabalhadas multiplicado pelo

valor da hora trabalhada.

c) O imposto equivale a 3% do salário bruto.

Page 30: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

24

d) O salário a receber equivale ao salário bruto menos o imposto.

2. Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatos

para os quais fornece a quantidade de ração em gramas. Faça um programa que

receba o peso do saco de ração e a quantidade de ração fornecida para cada

gato. Calcule e mostre quanto retará de ração no saco após cinco dias.

3. Cada degrau de uma escada tem X de altura. Faça um programa que receba

essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e

mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se

preocupar com a altura do usuário.

4. Faça um programa que receba a medida do ângulo formado por uma escada

apoiada no chão e encostada na parede e a altura da parede onde está a ponta

da escada. Calcule e mostre a medida desta escada.

5. Faça um programa para calcular e mostrar a que distância deve estar uma

escada da parede. O usuário deve fornecer o tamanho da escada e a altura em

que deseja pregar o quadro.

Lembre-se de que o tamanho da escada deve ser maior que a altura que se

deseja alcançar.

X – altura em que deseja pregar o quadro.

Y – distância em que deverá ficar a escada.

Z – tamanho da escada.

3.8 BIBLIOGRAFIA

ASCENCIO, Ana F. G.; CAMPOS, Edilene A. V. Fundamentos da Programação de

Computadores. São Paulo: Pearson Prentice Hall.

Page 31: INTRODUÇÃO À PROGRAMAÇÃO...representada no Quadro 7, e da radiciação. Quadro 7 – Símbolos para exponenciação em pseudocódigo Exponenciação ^ ou ** Funções matemáticas

25

DEITEL, Paul; DEITEL, Harvey. Java for Programmers, 2nd ed. Boston: Pearson

Education, 2012.

SAVITCH, Walter. Absolute Java, 5th Ed. Boston: Pearson, 2013.

SCHIDT, Herbert. Java: The Complete Reference, 7th Ed. New York: Mc Graw Hill,

2007.