Baixe o app para aproveitar ainda mais
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 84 UNIDADE III Algoritmo Pesquisa_Sequencial_Procedimentos; Var Nomes : conjunto [1..1000] de literal[30]; Chave : literal[30]; Ultimo, Qtde_nomes : inteiro; //----------------------------------------- Procedimento Entrada_Nomes(); Var i : inteiro; Início i := 1; Qtde_nomes := 0; Repita escreva (ꞌEntre com o ꞌ,i,ꞌo. nome:ꞌ); leia(Nomes[i]); Se (Nomes[i] = ꞌfimꞌ) então Ultimo := i - 1 senão i := i + 1; Ultimo := i; Fim_se; Até_que (Nomes[i] = ꞌfimꞌ); Fim; //----------------------------------------- Procedimento Pesquisa_Sequencial(nome : literal[30]); Var i : inteiro; Início i := 1; Enquanto(i <= Ultimo) faça Se (Nomes[i] = Chave) então Qtde_nomes := Qtde_nomes + 1; Fim_se; i := i + 1; Fim_enquanto; Se (Qtde_nomes > 0) então escreva(ꞌNome: ꞌ, Chave, ꞌ - encontrado ꞌ, Qtde_nomes, ꞌ Vez(s)ꞌ) senão escreva(ꞌNome: ꞌ, Chave, ꞌ - NÃO encontradoꞌ); Fim_se; Fim; //Algoritmo Principal------------------------ Início Entrada_Nomes(); escreva (ꞌEntre com o nome a ser pesquisado:ꞌ); leia(Chave); Pesquisa_Sequencial(Chave); Fim. Figura 32: Algoritmo – Pesquisa Sequencial – Procedimentos. 85 UNIDADE III A lg o rit m o s e P ro g ra m a çã o II Program Pesquisa_Sequencial_Procedimentos; Var Nomes : array [1..1000] of string[30]; Chave : string[30]; Ultimo, Qtde_nomes : integer; //----------------------------------------- Procedure Entrada_Nomes(); Var i : integer; Begin i := 1; Qtde_nomes := 0; Repeat write (ꞌEntre com o ꞌ,i,ꞌo. nome:ꞌ); read(Nomes[i]); if (Nomes[i] = ꞌfimꞌ) then Ultimo := i - 1 else Begin i := i + 1; Ultimo := i; End; Until (Nomes[i] = ꞌfimꞌ); End; //----------------------------------------- Procedure Pesquisa_Sequencial(nome : string[30]); Var i : integer; Begin i := 1; While(i <= Ultimo) do Begin if (Nomes[i] = Chave) then Qtde_nomes := Qtde_nomes + 1; i := i + 1; End; if (Qtde_nomes > 0) then writeln(ꞌNome: ꞌ, Chave, ꞌ - encontrado ꞌ, Qtde_nomes, ꞌ Vez(s)ꞌ) else writeln(ꞌNome: ꞌ, Chave, ꞌ - NÃO encontradoꞌ); End; //Programa Principal------------------------ Begin Entrada_Nomes(); write (ꞌEntre com o nome a ser pesquisado:ꞌ); readln(Chave); Pesquisa_Sequencial(Chave); readkey; End. Figura 33: Programa em Pascal – Pesquisa Sequencial – Procedimentos.
Compartilhar