Estruturas de Controle (Mód 1)

Propaganda
Java - Estruturas de Decisão,
Repetição e Arrays
Professor:
Vilson Heck Junior
[email protected]
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.
Java
ESTRUTURAS DE DECISÃO
Estruturas de Decisão – if
VisuALG:
Java:
se (<clausula>) entao
...
senao //Opcional
...
fimse
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;
}
Estruturas de Decisão
EXERCÍCIOS
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.
Java
ESTRUTURAS DE REPETIÇÃO
Estruturas de Repetição – while
VisuALG:
Java:
enquanto (<clausula>) faca
...
fimenquanto
while(<clausula>)
{
...
}
Estruturas de Repetição – do
VisuALG:
Java:
repita
...
ate (<clausula>)
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);
}
Estruturas de Repetição
EXERCÍCIOS
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”.
Java
ARRAYS
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];
valor = numeros[2];
int valor = 0;
numeros[3] = 5;
numeros[0] = 3;
numeros[1] = 4;
numeros[2] = 10;
numeros[4] = 1;
numeros:
3
4
10
5
1
Índices:
0
1
2
3
4
valor
10
Arrays Bidimensionais
• Definição: Arrays Bidimensionais – Matrizes!
–
–
–
–
Imagens;
Equações matemática, principalmente geometria;
Tabelas;
Entre outros exemplos.
Ano/
Produto
Exemplo:
Relação de vendas
de uma padaria:
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
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
0
1
2
3
4
1
7
2
3
4
2
5
Arrays
EXERCÍCIOS
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.
Download