A pesquisa (a busca) linear ou sequencial parte do primeiro elemento da matriz ou coleção e percorre todos os demais elementos em sequencia,
até que o valor pesquisado seja encontrado.
A pesquisa linear possui três casos:
- Melhor: O alvo encontra-se no inicio da lista.
- Meio: o alvo encontra-se no meio da lista.
- Pior: O alvo encontra-se no final da lista.
Observações: é simplesmente uma procura (varredura) de algum dado em alguma matriz ou coleção
Instrução Break
Usada para interromper a execução de um laço for, while ou do while.
Exemplo:
int valores[] = {3,7,1,9,4};
for(int i=0; i
if(valores[i] == 1){
sout("Valor encontrado: "+i);
break; //o BREAK mata o laço onde ele estiver, neste casso o for
}
}
Instrução Continue
É usado para interromper a interação (repetição) atual do laço e passar para o próximo ciclo de repetição (i++):
for (int i = 0; i <= 10; i++){
if(i%2!=0){
continue;
}
sout(i);
}
Neste caso se o resto da divisão inteira for diferente a 0, a instrução "continue" determinaria que já não tem que seguir fazendo esse mesmo laço e iria
continuar fazendo de novo o mesmo laço, isto faz que o algoritmo se torne mais rápido, optimização de processos. Se o resto é 0 mostraria o numero par.
Exemplo de ordenação da bolha (Bubble sort)
Para ordenar uma matriz de inteiros:
Ordenação crescente
int valores[]={7,3,9,1};
for(int i =0; i
for(int j=0; j< valores.length; j++){
if(valores[i] < valores [j]){
int temp = valores[i];
valores[i] = valores[j];
valores[j] = temp;
}
}
}
Exercício feito na aula:
Classe Pessoa.java
public class Pessoa {
String nome;
int idade;
}
Classe principal Main.java
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args){
Pessoa pessoas[] = new Pessoa[5];
for(int i = 0; i < pessoas.length; i++){
pessoas[i] = new Pessoa();
pessoas[i].nome = JOptionPane.showInputDialog("Digite o nome: ");
pessoas[i].idade = Integer.parseInt(JOptionPane.showInputDialog("Digite a idade: "));
}
for (int i = 0; i < pessoas.length; i++) {
for (int j = 0; j < pessoas.length; j++) {
if (pessoas[i].idade < pessoas[j].idade) {
Pessoa temp = pessoas[i];
pessoas[i] = pessoas[j];
pessoas[j] = temp;
}
}
}
String resultado = "Pessoas Ordenadas Por Lista:\n\n";
for (int i = 0; i < pessoas.length; i++) {
resultado += pessoas[i].nome + "\n" + pessoas[i].idade + "\n\n";
}
JOptionPane.showMessageDialog(null, resultado);
}
}
O JOGO DA MINA TERRESTRE
Este trabalho consiste em criar uma matriz bidimensional de ints de 4 linhas e 4 colunas (totalizando 16 elementos). Inicialmente os valores da matriz serão todos 0 (zero). Agora preencha aleatoriamente 8 elementos com o valor 1.
Uma vez preenchida as 8 posições aleatórias da matriz, peça ao usuário para informar a linha e coluna para 3 posições da matriz, ou seja, ele poderá "pisar" em três lugares no terreno representado pela matriz. Se alguma das posições escolhidas pelo usuário coincidir com uma posição já preenchida, ele perde o jogo, ou seja, "explode". Se o usuário conseguir três posições não preenchidas anteriormente, ele ganha o jogo. Lembre-se de que as posições livres na matriz possem o valor 0.
-----------------------------------------------
Para os dois exercícios: Usar POO com encapsulamento de dados e regras de nomeação de nomes de classes, variáveis e métodos.
1) Crie uma classe Pessoa contendo os seguintes atributos: nome, idade, sexo e vacinada. Use esta classe para efetuar uma pesquisa sobre dengue
envolvendo 10 pessoas. Uma vez finalizado a leitura dos dados, mostre:
a) A quantidade de mulheres pesquisadas;
b) A porcentagem de homens que se vacinaram contra dengue (em relação à quantidade de homens pesquisados);
c) A porcentagem de mulheres com idade inferior a 18 e que se vacinaram (em relação à quantidade de mulheres pesquisadas);
d) A porcentagem de homens pesquisados (em relação ao total de pessoas pesquisadas).
e) Os nomes e demais dados de todos os pesquisados, ordenados alfabeticamente pelo nome.
2) Crie uma classe Livro contendo os atributos: titulo, autor, paginas e ano. Em seguida crie uma matriz biblioteca que conterá 20 objetos da classe Livro. Tire proveito do fato de que, inicialmente, o valor padrão dos elementos da matriz é "null" para criar formas de cadastrar, listar e excluir livros. Use um menu de opções (use a estrutura switch) para as opções.
Dica: Para saber se uma determinada posição da matriz está vazia ou já contém um livro, basta fazer um teste do tipo:
if(biblioteca[0] != null){
// o livro nesta posição já foi instanciado
}
O que não entender, só perguntar.
Bom estudo.
0 comentarios:
Postar um comentário