USJT – 2013 – ALGESD – 2ASIN – ALGORITMO E ESTRUTURA DE DADOS Professor: Robson Calvetti
Aula: Laboratório 01
Assunto: Busca Binária Recursiva e Busca Linear Recursiva Relatório
Dados do Aluno R.A.: 201212079
Nome: Mariana Muniz de Lima 1. Introdução:
Este relatório refere-se ao desenvolvimento e práticas de programação do conceito de Busca Binária Recursiva e Busca Binária Recursiva, manipulada através da linguagem Java, através de exercícios disponibilizados pelo professor.
2. Objetivo:
Solucionar, a partir do exercício proposto, conforme arquivo PDF postado pelo docente (vide arquvio .pdf – USJT-2013-SI-ALGESD-Lista de Exercícios do 1° Semestre – Página 7 – Exercícios 39 ao 41 e Página 8 e 9 – Exercícios 49 ao 58 ).
3. Procedimentos Experimentais: 3.1. Materiais: IDE Jgrasp.
3.2. Equipamentos: Computador Desktop.
3.3. Métodos: Utilização do conceito de Busca Binária Recursiva e Busca Linear Recursiva.
4. Resultados e Discussões:
Resultados sobre o assunto em questão vide Anexo.
A partir dos algoritmos desenvolvidos, foi possível verificar que o método de busca binária recursiva é mais eficiente que a busca linear recursiva, tendo-se a variável para controlar as chamadas do método, a busca binária recursiva não, necessariamente, precisa percorrer um determinado vetor/matriz para retornar um valor o que a faz mais rápida. Já a linear, obrigatoriamente percorre toda a extensão do dado, fazendo com que seu tempo seja maior, diminuindo sua eficiência.
Anexos Anexo 1
import javax.swing.*; public class Ex39 {
public static void main(String Args[]) {
//Declaração do vetor local
int iTAM=10; // <--- Altere somente aqui o tamanho do Vetor
int Vetor[]=new int[iTAM]; //Declaração das variáveis locais String sAuxiliar;
int Índice; int numero; //Tela inicial
sAuxiliar="Busca linear em um vetor (índices ímpares) - Recursividade"; JOptionPane.showMessageDialog(null,sAuxiliar);
//Recebe vetor
for(Índice=0;Índice<Vetor.length;Índice++) {
sAuxiliar="Digite o elemento do Vetor["+Índice+"]:";
Vetor[Índice]=Integer.parseInt(JOptionPane.showInputDialog(null,sAuxiliar)); }
//Recebe número
sAuxiliar="Número a ser localizado nos índices ímpares do vetor:"; numero=Integer.parseInt(JOptionPane.showInputDialog(null,sAuxiliar)); //Localiza número no vetor
Índice=buscaLinearRecursiva(Vetor,0,Vetor.length-1,numero); //Apresenta resultado
sAuxiliar="O número "+numero;
if(Índice<Vetor.length) sAuxiliar+=" está localizado no índice "+Índice+" do vetor.";
else sAuxiliar+=" não está localizado nos índices ímpares do vetor."; JOptionPane.showMessageDialog(null,sAuxiliar);
System.exit(0); }//Fecha método main
public static int buscaLinearRecursiva(int vetor[],int indice, int fim, int numeroProcurado) { if(indice<=fim){ if(indice%2==0 || numeroProcurado!=vetor[indice]){ return buscaLinearRecursiva(vetor,indice+1,fim,numeroProcurado); } } return indice; } }//Fecha classe
Anexo 2
import javax.swing.*; public class Ex40 {
public static void main(String Args[]) {
//Declaração do vetor local
int iTAM=10; // <--- Altere somente aqui o tamanho do Vetor
char vetor[]= new char[iTAM];
//Declaração das variáveis locais String sAuxiliar;
int Índice; String palavra; String buscachar; char busca;
palavra = JOptionPane.showInputDialog(null,"Insira uma palavra de 10 letras");
vetor = palavra.substring(0, 10).toCharArray();
buscachar = JOptionPane.showInputDialog(null,"insira um caractere de busca");
busca = buscachar.charAt(0);
//Localiza número no vetor
Índice=buscaLinearRecursiva(vetor,vetor.length-1,0,busca); //Apresenta resultado
sAuxiliar="O caracter " + busca;
if(Índice<vetor.length) sAuxiliar+=" está localizado no índice "+Índice+" do vetor.";
else sAuxiliar+=" não está localizado nos índices ímpares do vetor."; JOptionPane.showMessageDialog(null,sAuxiliar);
//Termina execução System.exit(0);
}//Fecha método main
public static int buscaLinearRecursiva(char vetor[],int indice, int fim, char busca)
{ if(indice>=fim){ if(busca!=vetor[indice]){ return buscaLinearRecursiva(vetor,indice-1,fim,busca); } } return indice; } }//Fecha classe
Anexo 3
import javax.swing.*; public class Exerc_41 {
public static void main(String Args[]) {
int iTAM=10;
double Vetor[] = new double[iTAM];
//Declaração das variáveis locais String sAuxiliar; int Índice,indiceMaior = 0; double numero; //Recebe vetor for(Índice=0;Índice<Vetor.length;Índice++) {
sAuxiliar="Digite o elemento do Vetor["+Índice+"]:";
Vetor[Índice]=Double.parseDouble(JOptionPane.showInputDialog(null,sAuxiliar)); }
//Recebe número
sAuxiliar="Informe o número de busca:";
numero=Double.parseDouble(JOptionPane.showInputDialog(null,sAuxiliar));
//Localiza número no vetor Índice=buscaLinearRecursiva(Vetor,0,Vetor.length-1,numero,indiceMaior); //Apresenta resultado
sAuxiliar="O número "+numero;
if(Índice<Vetor.length) sAuxiliar+=" está localizado no "+Índice+" do vetor."; else sAuxiliar+=" não está localizado no vetor";
JOptionPane.showMessageDialog(null,sAuxiliar);
//Termina execução System.exit(0); }//Fecha método main
public static int buscaLinearRecursiva(double vetor[],int indice, int fim, double numeroProcurado, int indiceMaior)
{
if(indice<=fim){
if(numeroProcurado==vetor[indice]){ indiceMaior = indice; return buscaLinearRecursiva(vetor,indice+1,fim,numeroProcurado,indiceMaior); } else { return buscaLinearRecursiva(vetor,indice+1,fim,numeroProcurado,indiceMaior); } } return indiceMaior; } }//Fecha classe
Anexo 4
import javax.swing.*; public class Ex49 {
public static void main(String Args[]) {
//Declaração do vetor local
int iTAM=10; // <--- Altere somente aqui o tamanho do Vetor
int iVetor[]=new int[iTAM]; String sIO; int iÍndice; int iNúmero; //Tela inicial
sIO="Busca binária em um vetor - Recursividade"; JOptionPane.showMessageDialog(null,sIO); //Recebe vetor
for(iÍndice=0;iÍndice<iVetor.length;iÍndice++) {
sIO="Digite o elemento do Vetor["+iÍndice+"]:";
iVetor[iÍndice]=Integer.parseInt(JOptionPane.showInputDialog(null,sIO)); }
//Recebe número
sIO="Número a ser localizado no vetor:";
iNúmero=Integer.parseInt(JOptionPane.showInputDialog(null,sIO)); //Localiza número no vetor
iÍndice=Busca_BI(iVetor,0,iVetor.length-1,iNúmero); //Apresenta resultado
sIO="O número "+iNúmero;
if(iÍndice>=0) sIO+=" está localizado no índice "+iÍndice+" do vetor."; else sIO+=" não está localizado no vetor.";
JOptionPane.showMessageDialog(null,sIO); //Termina execução
System.exit(0);
}
public static int Busca_BI(int iVet[], int iBaixo, int iAlto, int iK) { int iMeio; if(iBaixo <= iAlto) { iMeio=(iBaixo+iAlto)/2; if(iK < iVet[iMeio])
return Busca_BI(iVet, iBaixo, iMeio-1, iK); else if(iK > iVet[iMeio])
return Busca_BI(iVet, iMeio+1, iAlto, iK); else return iMeio; } else return -1; } }
Anexo 5
import javax.swing.*; public class Ex50 {
public static void main(String Args[]) {
//Declaração do vetor local
int iTAM=10; // <--- Altere somente aqui o tamanho do Vetor
char Vetor[]=new char[iTAM]; String sIO; int iÍndice; String palavra; String buscachar; char busca;
palavra = JOptionPane.showInputDialog(null,"Insira uma palavra de 10 letras"); Vetor = palavra.substring(0, 10).toCharArray();
buscachar = JOptionPane.showInputDialog(null,"insira um caractere de busca"); busca = buscachar.charAt(0); //Tela inicial
sIO="Busca binária em um vetor - Recursividade"; JOptionPane.showMessageDialog(null,sIO);
//Recebe veto
//Localiza número no vetor
iÍndice=Busca_BI(Vetor,0,Vetor.length-1,busca);
//Apresenta resultado
sIO="a letra "+busca;
if(iÍndice>=0) sIO+=" está localizado no índice "+iÍndice+" do vetor."; else sIO+=" não está localizado no vetor.";
JOptionPane.showMessageDialog(null,sIO);
//Termina execução System.exit(0);
}
public static int Busca_BI(char iVet[], int iBaixo, int iAlto, char iK) { int iMeio; if(iBaixo <= iAlto) { iMeio=(iBaixo+iAlto)/2; if(iK < iVet[iMeio])
return Busca_BI(iVet, iBaixo, iMeio-1, iK); else if(iK > iVet[iMeio])
return Busca_BI(iVet, iMeio+1, iAlto, iK); else return verificaPosterior(iVet,iMeio); } else return -1; }
public static int verificaPosterior(char iVet[],int iMeio){ if(iMeio !=0)
{
if( iVet[iMeio] == iVet[iMeio -1]) { iMeio = verificaPosterior(iVet,iMeio-1); } } return iMeio; }
}
Anexo 6
import javax.swing.*; public class Ex51 {
public static void main(String Args[]) {
//Declaração do vetor local
int iTAM=10; // <--- Altere somente aqui o tamanho do Vetor
char Vetor[]=new char[iTAM]; String sIO; int iÍndice; String palavra; String buscachar; char busca;
palavra = JOptionPane.showInputDialog(null,"Insira uma palavra de 10 letras"); Vetor = palavra.substring(0, 10).toCharArray();
buscachar = JOptionPane.showInputDialog(null,"insira um caractere de busca"); busca = buscachar.charAt(0); //Tela inicial
sIO="Busca binária em um vetor - Recursividade"; JOptionPane.showMessageDialog(null,sIO);
//Recebe veto
//Localiza número no vetor
iÍndice=Busca_BI(Vetor,0,Vetor.length-1,busca);
//Apresenta resultado
sIO="a letra "+busca;
if(iÍndice>=0) sIO+=" está localizado no índice "+iÍndice+" do vetor."; else sIO+=" não está localizado no vetor.";
JOptionPane.showMessageDialog(null,sIO);
//Termina execução System.exit(0);
}
public static int Busca_BI(char iVet[], int iBaixo, int iAlto, char iK) { int iMeio; if(iBaixo <= iAlto) { iMeio=(iBaixo+iAlto)/2; if(iK < iVet[iMeio])
return Busca_BI(iVet, iBaixo, iMeio-1, iK); else if(iK > iVet[iMeio])
return Busca_BI(iVet, iMeio+1, iAlto, iK); else return verificaPosterior(iVet,iMeio); } else return -1; }
public static int verificaPosterior(char iVet[],int iMeio){ if(iMeio !=0)
{
if( iVet[iMeio] == iVet[iMeio -1]) { iMeio = verificaPosterior(iVet,iMeio-1); } } return iMeio; }
}
Anexo 7
import javax.swing.*; public class Ex52 {
public static void main(String Args[]) {
//Declaração do vetor local
int iTAM=10; // <--- Altere somente aqui o tamanho do Vetor
char Vetor[]=new char[iTAM]; String sIO; int iÍndice; String palavra; String buscachar; char busca;
palavra = JOptionPane.showInputDialog(null,"Insira uma palavra de 10 letras"); Vetor = palavra.substring(0, 10).toCharArray();
buscachar = JOptionPane.showInputDialog(null,"insira um caractere de busca"); busca = buscachar.charAt(0); //Tela inicial
sIO="Busca binária em um vetor - Recursividade"; JOptionPane.showMessageDialog(null,sIO);
//Recebe veto
//Localiza número no vetor
iÍndice=Busca_BI(Vetor,0,Vetor.length-1,busca);
//Apresenta resultado
sIO="a letra "+busca;
if(iÍndice>=0) sIO+=" está localizado no índice "+iÍndice+" do vetor."; else sIO+=" não está localizado no vetor.";
JOptionPane.showMessageDialog(null,sIO);
//Termina execução System.exit(0);
}
public static int Busca_BI(char iVet[], int iBaixo, int iAlto, char iK) { int iMeio; if(iBaixo <= iAlto) { iMeio=(iBaixo+iAlto)/2; if(iK < iVet[iMeio])
return Busca_BI(iVet, iBaixo, iMeio-1, iK); else if(iK > iVet[iMeio])
return Busca_BI(iVet, iMeio+1, iAlto, iK); else return verificaPosterior(iVet,iMeio); } else return -1; }
public static int verificaPosterior(char iVet[],int iMeio){ if(iMeio <= iVet.length)
{
if( iVet[iMeio] == iVet[iMeio +1]) { iMeio = verificaPosterior(iVet,iMeio+1); } } return iMeio; }
}
Anexo 8
import javax.swing.*; public class Exerc_53 {
static protected char vetor[]; static protected char busca; static protected int vezes; static protected int qnt; static protected int indice, i;
public static void main(String Args[]) { InsereConfiguraVetor(); Busca(); vezes = 0; qnt = 0;
indice = BuscaBinariaRecursiva(vetor, 0, vetor.length -1,busca); i = BuscaLinearRecursiva(vetor,0,vetor.length-1,busca); if(indice >=0 ) {
JOptionPane.showMessageDialog(null,"\n\n Comparativo:"+ "\nBusca Binária: Encontrado na osição"+(indice+1)+
"\nTentativas da Busca Binária Recursiva:"+ vezes+ "\nBusca Linear: Encontrado na posição: "+(indice+1)+
"\nTentativas da Busca Linear Recursiva:"+qnt,"Busca Binária e Linear Recursiva",1); } else {
JOptionPane.showMessageDialog(null,"Caracter não encontrado!!"," Não encontrado!",1); }
}//Final método main
public static char [] InsereConfiguraVetor() {
String palavra = "";
palavra = JOptionPane.showInputDialog("Digite uma palavra de até 10 caracteres:");
if (palavra.length() != 10 ) {
do {
palavra = JOptionPane.showInputDialog("Digite novamente uma palavra COM 10 CARACTERES [Nem a mais e nem a menos]");
}while(palavra.length() != 10);
}
vetor = new char[10]; for(int i = 0; i<palavra.length();i++) { vetor[i] = palavra.charAt(i); } return vetor; }
public static char Busca() {
String b = JOptionPane.showInputDialog("Informe o caracter a ser procurado:"); busca = b.charAt(0); return busca; }
public static int BuscaLinearRecursiva(char vet[],int inicio, int fim, char procurado) { if(inicio <= fim) { if(inicio!= vetor[inicio]) { qnt+= 1;
} } return inicio; }
public static int BuscaBinariaRecursiva(char vet[], int inicio, int fim, char procurado) { int meio; if(inicio <= fim) { meio=(inicio+fim)/2; if(procurado < vetor[meio]) { vezes+=1;
return BuscaBinariaRecursiva(vetor, inicio, meio-1, procurado); }
else if(procurado > vetor[meio]) {
vezes += 1;
return BuscaBinariaRecursiva(vetor, meio+1, fim, procurado); } else { return meio; } } else return -1; } }//Fecha classe */
Anexo 9
import javax.swing.*; public class Exerc_54 {
static protected int num[]; static protected int busca; static protected int indice;
public static void main(String args[]) {
busca = 0; indice = 0;
num = new int[15]; InsereValor(); OrdenaVetor(); NumerodeBusca();
indice = BuscaBinariaRecursiva(num,0, num.length -1,busca); if(indice < 0 || indice > num.length-1)
{
JOptionPane.showMessageDialog(null,"Número não encontrado!!"); } else { JOptionPane.showMessageDialog(null,"Número encontrado na posição:"+(indice+1)); } }//final main
public static int[] InsereValor() {
int tam = num.length; int vet[] = new int[tam];
//inserindo valores no vetor for(int i = 0; i<vet.length;i++) {
vet[i] = Integer.parseInt(JOptionPane.showInputDialog("Digite o "+ (i+1)+ "° número:"));
}
num = vet;
return num; }
public static int[] OrdenaVetor() {
int aux; int cont = 1;
do{
for (int i=0; i < num.length -1; i++) { if (num[i] > num[i+1]) { aux = num[i]; num[i] = num[i+1]; num[i+1] =aux; } } cont++;
} while (cont < num.length);
//verificar ordem - teste
/*for(int i = 0;i<num.length; i++) { System.out.println(num[i]); }*/ return num; }//final ordenavetor
public static int NumerodeBusca() {
busca = Integer.parseInt(JOptionPane.showInputDialog("Informe o número a ser pesquisado:"));
return busca; }
public static int BuscaBinariaRecursiva(int vet[], int inicio, int fim, int procurado) { int meio; if(inicio <= fim) { meio=(inicio+fim)/2; if(procurado < vet[meio]) {
return BuscaBinariaRecursiva(vet, inicio, meio-1, procurado); }
else if(procurado > vet[meio]) {
return BuscaBinariaRecursiva(vet, meio+1, fim, procurado);} else { return meio; } } else return -1; } }
Anexo 10
import javax.swing.*;
//válido para exercicios 55 e 56 public class Exerc_55
{
static char pav[]; static char busca;
static String palavra = ""; static int pos = 0;
public static void main(String args []) { InserePalavra(); ConfiguraVetor(); OrdenaVetor(); InsereCaracterBusca(); pos = BuscaBinariaRecursiva(pav,0,pav.length-1,busca); if((pos < 0) || (pos > 14)) {
JOptionPane.showMessageDialog(null,"Letra não encontrada!!");
} else {
JOptionPane.showMessageDialog(null,"Letra encontrada na posição: "+ (pos+1)); }
}//final m�todo main
public static String InserePalavra() {
palavra = JOptionPane.showInputDialog("Digite uma palavra até 15 caracteres:");
//Verifico se foi digitado uma palavra maior que 15 carac if ((palavra.length() > 15) || (palavra.length() < 1))
{ do {
palavra = JOptionPane.showInputDialog("Digite novamente uma palavra de no máximo 15 caracteres");
}
return palavra;
} //final m�todo Insere Palavra
public static char [] ConfiguraVetor() {
int tam; char p[];
//recebo o tamanho da palavra tam = palavra.length();
//conmfiguro meu vetor de char p = new char[tam];
//Passar a String para um vetor de char
for(int i=0; i<palavra.length();i++) {
p[i]=palavra.charAt(i); }
//atribuo a variavi�vel global o que está em "p" pav = p;
return pav;
}//final método ConfiguraVetor
public static char [] OrdenaVetor() {
char aux; int cont = 1;
do{
for (int i=0; i < pav.length -1; i++) { if (pav[i] > pav[i+1]) { aux = pav[i]; pav[i] = pav[i+1]; pav[i+1] =aux; } } cont++;
} while (cont < pav.length);
{ System.out.println(pav[i]); } return pav;
}//final método Ordena Vetor
public static char InsereCaracterBusca() {
String b;
b = JOptionPane.showInputDialog("Informe o letra a ser pesquisada:"); //passando de string para char -> convers�o
busca = b.charAt(0); return busca; }
public static int BuscaBinariaRecursiva(char vet[], int inicio, int fim, char procurado) { int meio; if(inicio <= fim) { meio=(inicio+fim)/2; if(procurado < vet[meio]) {
return BuscaBinariaRecursiva(vet, inicio, meio-1, procurado); }
else if(procurado > vet[meio]) {
return BuscaBinariaRecursiva(vet, meio+1, fim, procurado);} else { return meio; } } //final if else { return -1; }//final else }//final buscabinariarecursiva
}//final m�todo BuscaBinaria
Anexo 11
import javax.swing.*; public class Exerc_57 {
static int corredores[][]; static int pos;
static int busca;
public static void main(String args[]) { InsereCorredores(); NumeroBusca(); pos = BuscaBinariaRecursiva(corredores,0,corredores[0].length-1,busca); if(pos < 0) {
JOptionPane.showMessageDialog(null,"Atleta não encontrado!!"); } else { String mensagem = "";
mensagem+= "Inscrição n° "+corredores[pos][0]+ "\n"; mensagem+= "Posição: "+corredores[pos][1]+ "\n";
mensagem+= "Tempo de chegada: "+corredores[pos][2]+ "\n"; JOptionPane.showMessageDialog(null,mensagem); } } public Exerc_57() { int coluna = 3; int linha = 0;
corredores = new int[coluna][linha];
}
public static int InformaCorredores() {
int linha = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade de atletas a serem cadastrados:"));
return linha; }
public static int[][]InsereCorredores() {
int linha;
linha = InformaCorredores();
int mat[][] = new int[linha][3];
try {
for(linha = 0; linha< mat.length; linha++) {
for(int coluna = 0; coluna<mat[0].length; coluna++) {
switch(coluna) {
case 0:mat[linha][coluna]=
Integer.parseInt(JOptionPane.showInputDialog("Informe o número de inscrição do corredor:"+ (linha+1)));
break;
case 1:mat[linha][coluna]=
Integer.parseInt(JOptionPane.showInputDialog("Informe a posição do corredor: "+ (linha+1)));
break;
case 2:mat[linha][coluna]=
Integer.parseInt(JOptionPane.showInputDialog("Informe o tempo de chegada do corredor: " + (linha+1)+ "(segundos):")); break; }//final switch }//final for 2 }//final for 1 corredores = mat; }//final try catch(Exception e) { JOptionPane.showMessageDialog(null,"ERRO NA LEITURA!!"); } return corredores;
}//final m�todo insere corredor
public static int NumeroBusca() {
int b = 0;
b = Integer.parseInt(JOptionPane.showInputDialog("Informe o número de inscrição a ser pesquisado:")); busca = b; return busca; }
public static int BuscaBinariaRecursiva(int vet[][], int inicio, int fim, int procurado) { int meio; if(inicio <= fim) { meio=(inicio+fim)/2; if(procurado < vet[meio][0]) {
return BuscaBinariaRecursiva(vet, inicio, meio-1, procurado); }
else if(procurado > vet[meio][0]) {
return BuscaBinariaRecursiva(vet, meio+1, fim, procurado); } else { return meio; } } //final if else { return -1; }//final else
}//final m�todo BuscaBinaria }
Anexo 12
import javax.swing.*; public class Exerc_58 {
static int ra[];
static double nota[]; static int tam; static int busca;
public static void main(String args[]) { //InsereQntAlunos(); //InsereRA(); int escolha = 0; do{ escolha = 0; escolha = Menu(); switch(escolha) { case 1: { InsereQntAlunos(); InsereRA(); OrdenaRA(); } break; case 2: { Nota(); ArrumaNota(); } break; case 3: { int pos = 0; NumeroBusca(); pos = BuscarRA(ra,0,tam-1,busca); if (pos <0) {
JOptionPane.showMessageDialog(null,"RA não encotrado!!"); }
{
JOptionPane.showMessageDialog(null,"RA encontrado!!\nPosição: "+(pos+1)+ "\nNota do aluno: "+nota[pos]);
} } break; } }while(escolha != 8);
}//final metodo main
public static int Menu() {
int opcao = 0;
opcao = Integer.parseInt(JOptionPane.showInputDialog("Escolha a opção desejada: \n"
+"[1] Cadastrar RA \n [2]Cadastrar NOTA \n [3]Pesquisar aluno\n [8]Encerrar programa"));
return opcao; }//final menu
public static int InsereQntAlunos() {
int aluno = 0;
aluno = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade de alunos que deseja cadastrar:"));
tam = aluno; return tam; }
public static int[] InsereRA() {
ra= new int [tam];
{
ra[i] = Integer.parseInt(JOptionPane.showInputDialog("Informe o RA do "+ (i+1)+ "º aluno")); } //ra = registro; return ra;
}//final m�todo insereRA
public static int [] OrdenaRA() {
int aux; int cont = 1;
do{
for (int i=0; i < ra.length -1; i++) { if (ra[i] > ra[i+1]) { aux = ra[i]; ra[i] = ra[i+1]; ra[i+1] =aux; } } cont++;
} while (cont < ra.length);
/*for(int i = 0;i<ra.length; i++) { System.out.println(ra[i]); }*/ return ra;
}//final m�todo OrdenaRA
public static double[] Nota() {
nota = new double[tam];
for(int i = 0; i< nota.length;i++) {
nota[i] = Integer.parseInt(JOptionPane.showInputDialog("Informe a NOTA do "+ (i+1)+ "° aluno")); } //nota = n; return nota;
public static double [] ArrumaNota() {
double aux; int cont = 1;
do{
for (int i=0; i < nota.length -1; i++) { if (nota[i] > nota[i+1]) { aux = nota[i]; nota[i] = nota[i+1]; nota[i+1] =aux; } } cont++;
} while (cont < nota.length);
/*for(int i = 0;i<nota.length; i++) { System.out.println(nota[i]); }*/ return nota;
}//final m�todo OrdenaNota
public static int NumeroBusca() {
int b;
b= Integer.parseInt(JOptionPane.showInputDialog("Informe o RA do aluno a ser pesquisdo: ")); busca = b; return busca; }
public static int BuscarRA(int vet[], int inicio, int fim, int procurado) { int meio; if(inicio<=fim) { meio = (inicio+fim)/2; if(procurado < vet[meio])
{
return BuscarRA(vet, inicio, meio-1, procurado); }
else if(procurado > vet[meio]) {
return BuscarRA(vet, meio+1, fim, procurado); } else { return meio; } }//fim if else { return -1; } } }