A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat | |||
inf-prog-fszi:linearis_kereses_tetele [2017/06/21 09:27] beistvan |
inf-prog-fszi:linearis_kereses_tetele [2017/06/25 15:05] (aktuális) beistvan |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
+ | ====== Lineáris keresés tétele ====== | ||
+ | |||
+ | Általános feladat: N elemű sorozat; sorozat elemein értelmezett T tulajdonság. Van-e T tulajdonságú elem és ha van, akkor mi a sorszáma. (Eldöntés és kiválasztás együtt.) | ||
+ | |||
+ | <code bash linkeres.txt> | ||
+ | Eljárás: | ||
+ | I := 1 | ||
+ | Ciklus amíg I <= N és A(I) nem T tulajdonságú | ||
+ | I := I + 1 | ||
+ | Ciklus vége | ||
+ | VAN := I <= N | ||
+ | Ha VAN akkor SORSZ := I | ||
+ | Eljárás vége. | ||
+ | </ | ||
+ | |||
+ | Pascal forráskód | ||
+ | |||
+ | <code pascal linearis_kereses.pas> | ||
+ | program linearis_kereses; | ||
+ | const n = 10; | ||
+ | var a:array [1..n] of integer; | ||
+ | i, sorsz: integer; | ||
+ | van: boolean; | ||
+ | begin | ||
+ | randomize; | ||
+ | //a tömb elkészítése | ||
+ | for i:=1 to n do | ||
+ | begin | ||
+ | a[i]: | ||
+ | write(a[i], ' '); | ||
+ | end; | ||
+ | writeln; | ||
+ | //van-e benne 5-ös? | ||
+ | i:=1; | ||
+ | while (i<=n) and (a[i]<> | ||
+ | i:=i+1; | ||
+ | van:= i<=n; | ||
+ | write(' | ||
+ | if van then begin | ||
+ | sorsz:=i; | ||
+ | writeln(' | ||
+ | end | ||
+ | else | ||
+ | writeln(' | ||
+ | readln; | ||
+ | end. | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Órai gyakorlat | ||
+ | |||
+ | <code pascal linearis_kereses.pas> | ||
+ | program linearis_kereses; | ||
+ | const n=8; | ||
+ | var i : integer; van : boolean; | ||
+ | a: array [1..n] of integer; | ||
+ | begin | ||
+ | writeln(' | ||
+ | for i:=1 to n do | ||
+ | begin | ||
+ | write(' | ||
+ | end; | ||
+ | i:=1; | ||
+ | while (i<=n) and (a[i]<> | ||
+ | inc(i); //i:=i+1; | ||
+ | // | ||
+ | van: | ||
+ | if van then write(' | ||
+ | readln; | ||
+ | end. | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | <code pascal linearis_kereses_for.pas> | ||
+ | program linearis_kereses_for; | ||
+ | const n=8; | ||
+ | var i : integer; volt : boolean; | ||
+ | a: array [1..n] of integer; | ||
+ | begin | ||
+ | writeln(' | ||
+ | for i:=1 to n do | ||
+ | begin | ||
+ | write(' | ||
+ | end; | ||
+ | volt: | ||
+ | for i:=1 to n do | ||
+ | if a[i]=5 then begin volt:=true; break; end; //a T tulajdonsag: | ||
+ | // | ||
+ | if volt then write(' | ||
+ | readln; | ||
+ | end. | ||
+ | |||
+ | </ |