Java - Estruturas de Decisão, Repetição e...

27
Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson Heck Junior [email protected]

Transcript of Java - Estruturas de Decisão, Repetição e...

Page 1: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Java - Estruturas de Decisão,

Repetição e Arrays

Professor:

Vilson Heck Junior [email protected]

Page 2: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Agenda

• Estruturas de Decisão: – if; – Clausulas em Java; – switch; – Exercícios;

• Estruturas de Repetição: – while; – do ... while; – for; – Exercícios;

• Arrays: – Unidimensionais; – Bidimensionais; – Exercícios.

Page 3: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

ESTRUTURAS DE DECISÃO Java

Page 4: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Decisão – if

VisuALG: se (<clausula>) entao ... senao //Opcional ... fimse

Java: if(<clausula>) { ... } else //Opcional { ... }

Page 5: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Verificação de Clausulas

Operadores Relacionais Java

Maior: >

Menor: <

Maior ou Igual: >=

Menor ou Igual: <=

Igual: ==

Diferente: !=

Não: (inversão) !

E: &&

OU: ||

Atenção

Page 6: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Decisão – Ex:

Scanner entrada = new Scanner(System.in);

int x;

System.out.print("Digite um valor: ");

x = Integer.parseInt(entrada.nextLine());

if ( x > 0) {

System.out.println("O número é positivo!");

} else {

System.out.println("O número é negativo ou neutro!");

}

Page 7: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Decisão – Ex:

Scanner entrada = new Scanner(System.in);

int x;

System.out.print("Digite um valor: ");

x = Integer.parseInt(entrada.nextLine());

if ( (x >= 1) && (x <= 10) ) {

System.out.println("Pertence ao intervalo 1..10!");

} else {

System.out.println("NÃO pertence ao intervalo 1..10!");

}

Page 8: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Decisão – switch

VisuALG:

x: inteiro

x <- 10

escolha (x)

caso 1:

escreva(“Um”)

caso 2:

escreva(“Dois”)

outrocaso:

escreva(“Desconhecido”)

fimescolha

Java:

int x = Integer.parseInt(entrada.nextLine());

switch(x)

{

case 1:

System.out.println(“Um”);

break;

case 2:

System.out.println(“Dois”);

break;

default:

System.out.println(“Desconhecido”);

break;

}

Page 9: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

EXERCÍCIOS Estruturas de Decisão

Page 10: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Exercícios

1. Ler 3 números fracionários do teclado e informar se o primeiro é maior do que a soma dos dois últimos;

2. Calcular a multa: Leia a velocidade de um carro e a velocidade máxima para a rua:

1. Informe 50 reais se estiver até 10km/h acima;

2. Informe 100 reais se estiver entre 11km/h e 30km/h acima;

3. Informe 300 reais se estiver acima de 31km/h acima;

Page 11: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Exercícios

3. Ler 3 valores em qualquer ordem e escrever eles em ordem crescente;

4. Escrever se um ano informado pelo usuário é bissexto ou não. Um ano é bissexto quando é (divisível por 400) ou é (divisível por 4 e não por 100);

5. Ler 2 valores fracionários e perguntar qual operação aritmética o usuário quer fazer com eles. Usar switch..case. Informar o resultado da operação.

Page 12: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

ESTRUTURAS DE REPETIÇÃO Java

Page 13: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Repetição – while

VisuALG:

enquanto (<clausula>) faca

...

fimenquanto

Java:

while(<clausula>)

{

...

}

Page 14: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Repetição – do

VisuALG:

repita

...

ate (<clausula>)

Java:

do

{

...

} while (<clausula>);

Sentidos Opostos!

Page 15: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Estruturas de Repetição – for

VisuALG:

x: inteiro

para x de 1 ate 10 faca

...

fimpara

Java:

int x;

for( x=1; x <= 10; x++)

{

...

}

Page 16: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Interrompendo Repetições

• Para parar qualquer estrutura de repetição a qualquer momento, usamos o comando: break;

• Ex: for(int x = 0; x <= 10; x++) {

System.out.println(x); if(x == 5) {

break;

}

}

Page 17: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Forçando Próxima Iteração

• Para pular para a próxima iteração em qualquer estrutura de repetição, a qualquer momento, usamos o comando: continue;

• Ex: for(int x = 0; x <= 10; x++) { System.out.println(); System.out.print(“Número: “);

if(x == 5) {

continue; } System.out.print(x);

}

Page 18: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

EXERCÍCIOS Estruturas de Repetição

Page 19: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Exercícios

1. Informar todos os números de 1000 a 1999 que quando divididos por 11 obtemos resto = 5.

2. Colocar estas duas linhas iniciais no método Main(): Random rnd = new Random(); //Inicia Aleatório int x = rnd.nextInt(100); //Gera um número aleatório (0 – 99) 1. Faça um laço de repetição que solicite ao usuário digitar

um número; 2. O laço encerra quando o usuário acertar o número; 3. Se o número do usuário for menor que o oculto,

escrever: “MAIOR”, se o número do usuário for maior que o oculto, escrever: “MENOR”.

Page 20: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

ARRAYS Java

Page 21: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Arrays Unidimensionais

VisuALG:

var nome: vetor [n1..n2] de <tipodado> inicio nome[indice] <- valor escreva(nome[indice]) fimalgoritmo Java:

<tipodado>[ ] nome = new <tipodado>[tamanho]; nome[indice] = valor; System.out.println(nome[indice]);

Page 22: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Arrays Unidimensionais

• Exemplo de criação e uso de Array:

int[]numeros = new int [5];

int valor = 0;

numeros[3] = 5;

numeros[0] = 3;

numeros[1] = 4;

numeros[2] = 10;

numeros[4] = 1;

numeros:

Índices: 0 1 2 3 4

10 3 4 5 1

valor = numeros[2];

valor 10

Page 23: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Arrays Bidimensionais

• Definição: Arrays Bidimensionais – Matrizes!

– Imagens;

– Equações matemática, principalmente geometria;

– Tabelas;

– Entre outros exemplos. Ano/ Produto

Cafezinhos Pães Biscoitos Bolos Cucas

2006 3650,00 63875,00 10950,00 36500,00 7665,00

2007 3454,00 74345,00 12043,00 46342,00 9234,00

2008 3789,00 61023,00 11324,00 29345,00 8235,00

2009 4002,00 75432,00 14034,00 40123,00 8945,00

2010 3876,00 79345,00 9231,00 39423,00 7983,00

2011 3953,00 64567,00 10234,00 37345,00 6235,00

Exemplo: Relação de vendas de uma padaria:

Page 24: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Arrays Bidimensionais

• Uso: <tipodado>[ ][ ] nome = new <tipodado>[n][m];

nome[x][y] = valor;

System.out.println(nome[x][y]);

• Onde: – n é o número de linhas;

– m é o número de colunas;

– x é o índice de uma linha;

– y é o índice de uma coluna.

Page 25: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Arrays Bidimensionais

• int[][] matriz = new int[5][4];

• matriz[0][0] = 4;

• matriz[4][3] = 5;

• matriz[3][1] = 2;

• matriz[1][2] = 7; Índices 0 1 2 3

0

1

2

3

4

4

5

2

7

Page 26: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

EXERCÍCIOS Arrays

Page 27: Java - Estruturas de Decisão, Repetição e Arraysdocente.ifsc.edu.br/vilson.junior/ed/IP_08_Java_Decisao.pdf · Java - Estruturas de Decisão, Repetição e Arrays Professor: Vilson

Exercícios

• Lista de números: 1. Armazenar um array de 10 números inteiros:

• Solicitar ao usuário que informe cada um destes números; ou

• Gerar 10 números aleatórios para o array: – Random rnd = new Random(); //Inicia Aleatório [Fora do laço]

– array[indice]= rnd.nextInt(100); //Gera um número aleatório

2. Mostrar o array na sequência adquirida/gerada;

3. Colocar todo o array em ordem crescente;

4. Mostrar o array ordenado na tela.