[java] while como Sentinela // Programas contador de média controlado por sentinela // Pacote do nucleo java import java.text.DecimalFormat; //Pacote de extensao Java import javax.swing.JOptionPane; public class Average2 { public static void main (String args[]) { int qNotas, //quantidade de notas lidas vNota, //valor da nota lida total; //soma de todas as notas double media; //media de todas as notas String input; //nota em texto digitada pelo usuario //Inicializacao total = 0; //limpa qNotas = 0; //prepara para executar o laco //Solicita a entrada e le a nota digitada pelo usuario input = JOptionPane.showInputDialog(“Entre com a nota, ou digite -1 para terminar”); //converte texto em numero vNota = Integer.parseInt(input); while (vNota != -1) { total = total + vNota; qNotas = qNotas + 1; //Solicita novamente a entrada e le a nota digitada pelo o usuario input = JOptionPane.showInputDialog(“Entre com a nota, ou digite -1 para terminar”); vNota = Integer.parseInt(input); } //Concluindo DecimalFormat twoDigits = new DecimalFormat(“0.00”); if (qNotas != 0) { media = (double) total/qNotas; //Exibe a media das notas do teste JOptionPane.showMessageDialog(null, “A média da classe é :” + twoDigits.format(media), “Media da classe”, JOptionPane.INFORMATION_MESSAGE); } else JOptionPane.showMessageDialog(null, “Nenhum valor digitado”, “Media da turma”, JOptionPane.INFORMATION_MESSAGE); System.exit(0); } } [free pascal] Pesquisa 1: sequencial Métodos de Pesquisa Esse exemplo demostra como é feita a pesquisa sequencial. Nele o usuário digita 10 valores (nomes de pessoas), esses valores são armazenados em uma matriz, depois é pedido ao usuário que entre com um nome a ser pesquisado. Esse valor é comparado a todos os valores da matriz e caso seja igual, é imprimido um texto na tela do usuário dizendo que o nome foi encontrado. program PESQUISA_SEQUENCIAL; var nome: array[1..10] of string; i: integer; pesq: string; resp: string; acha: boolean; BEGIN writeln(‘Pesquisa sequencial de nomes’); writeln; {Entra com os nomes na Matriz} for i:= 1 to 10 do begin write(‘Digiteo ‘, i:2, ‘o nome: ‘); readln(nome[i]); end; resp:=’sim’; {Trecho que realiza o desejo de pesquisar Pesquisar = sim} while (resp=’sim’) OR (resp=’SIM’) do begin {Rotina de pesquisa} writeln; write(‘Entre o nome a ser pesquisado: ‘); readln(pesq); i := 1; acha:= false; while (i<= 10) and (acha=false) do Begin if (pesq= nome[i]) then acha:=true Else i:=i+1; if (acha=true) then writeln(pesq, ‘ foi localizado na posição ‘, i:2) else writeln(pesq, ‘ não foi localizado’); {Fim da torina de pesquisa} writeln; {Pergunta se quer fazer novamente a pesquisa } end; write(‘Deseja continuar? sim/não: ‘); readln(resp); end; END.