70 likes | 273 Views
Pascal. Vyhľadávanie v poli. použitie: v neutriedených poliach princíp: prehľadáva pole a overuje každú zložku poľa. Lineárne vyhľadávanie.
E N D
Pascal Vyhľadávanie v poli
použitie: v neutriedených poliach • princíp: prehľadáva pole a overuje každú zložku poľa Lineárne vyhľadávanie
var j,i,n:integer;a:array [1..10] ofinteger;beginrandomize;for i:=1 to 10 do a[i]:=random(20);writeln(´Zadaj cislo, ktore ma program hladat´); readln(n); j:=0;for i:=1 to 10 doif a[i]=n then j:=j+1;if j>0 thenwriteln(´Cislo',n,' sa v poli nachadza´,j,´ krát´) elsewriteln(´Cislo',n,' sa v poli nenachadza´);readln;end. Zistenie počtu opakovaní 1 zložky poľa
var i,n:integer;a:array [1..20] ofinteger;beginrandomize;for i:=1 to 20 do a[i]:=random(50);writeln(´Zadaj cislo, ktore ma program hladat´); readln(n);i:=0;repeat i:=i+1;until (a[i]=n) or (i=20);if a[i]=n thenwriteln(´Cislo´,n,´ sa v poli nachadzana ´,i,´.-tom mieste.)elsewriteln(´Cislo´,n,´ sa v poli nenachadza.);readln;end. Zistenie miesta v poli hľadanej zložky
efektívnejšie ako lineárne • IBA v utriedených poliach • princíp: rozdelí pole na polovicu a skúma, v ktorej sa zadaný prvok môže vyskytovať, zmenší interval hľadania opäť na polovicu a pokračuje Binárne vyhľadávanie
var j,i,n,k,hladane:integer;a:array [1..20] ofinteger;beginrandomize; writeln(´Zadaj hladanyprvok´); readln(hladane); writeln(´Zadaj pocetprvkov pola´); readln(n);for i:=1 to n do a[i]:=random(20);i:=1;j:=n;repeatif a[k]=hladanethenwriteln('Cislo sa nachadza na ,'k',.-tejpozicii'); k:=(i+j) div 2; ifa[k]>hladanethen j:k-1 elseif a[k]<hladanethen i:=k+1;until(a[k]=hladane) or (i>j);ifhladane=a[k] thenwriteln(´Cislosa v poli nachádza na ´,k,´.-tommieste´)elsewriteln(´Cislosa v poli nenachadza´); readln; end.
http://referaty-seminarky.sk/pascal---vyhzadavanie-v-poli/ • http://www.pavlasek.sk/michal/?cat=2 • Jana Krištanová, 4.C Zdroje, autor