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

Post on 19-Jul-2018

252 views 1 download

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

Java - Estruturas de Decisão,

Repetição e Arrays

Professor:

Vilson Heck Junior vilson.junior@ifsc.edu.br

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.

ESTRUTURAS DE DECISÃO Java

Estruturas de Decisão – if

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

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

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

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!");

}

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!");

}

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;

}

EXERCÍCIOS Estruturas de Decisão

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;

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.

ESTRUTURAS DE REPETIÇÃO Java

Estruturas de Repetição – while

VisuALG:

enquanto (<clausula>) faca

...

fimenquanto

Java:

while(<clausula>)

{

...

}

Estruturas de Repetição – do

VisuALG:

repita

...

ate (<clausula>)

Java:

do

{

...

} while (<clausula>);

Sentidos Opostos!

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++)

{

...

}

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;

}

}

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);

}

EXERCÍCIOS Estruturas de Repetição

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”.

ARRAYS Java

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]);

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

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:

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.

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

EXERCÍCIOS Arrays

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.