Prévia do material em texto
U n iv e rs id a d e A b e rt a d o B ra si l 30 UNIDADE II Program Pesquisa_Sequencial; Var Nomes : array [1..1000] of string[30]; Chave : string[30]; i, Ultimo : integer; Achou : boolean; Begin For i := 1 to 1000 do Begin write (ꞌEntre com o ꞌ,i,ꞌo. nome:ꞌ); read(Nomes[i]); If (Nomes[i] = ꞌfimꞌ) then Begin Ultimo := i - 1; break; End else Begin Ultimo := i; End; End; write (ꞌEntre com o nome a ser pesquisado:ꞌ); readln(Chave); i := 1; Achou := FALSE; While((i <= Ultimo) and (Achou = FALSE)) do Begin If (Nomes[i] = Chave) then Achou := TRUE else i := i + 1; End; If (Achou = TRUE) then writeln(ꞌNome: ꞌ, Chave, ꞌ - encontradoꞌ) else writeln(ꞌNome: ꞌ, Chave, ꞌ - NÃO encontradoꞌ); readkey; End. Figura 8: Programa em Pascal – Pesquisa Sequencial – vetor de nomes. 31 UNIDADE II A lg o rit m o s e P ro g ra m a çã o II Antes de prosseguir com as leituras, analise linha a linha de cada um dos exemplos apresentados, implemente o programa no Pascalzim, execute o programa e faça algumas simulações com nomes fictícios. Caso julgue necessário, elabore um teste de mesa para auxiliar no entendimento das rotinas destes códigos.