Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Tömbök és programozási tételek

Hasonló előadás


Az előadások a következő témára: "Tömbök és programozási tételek"— Előadás másolata:

1 Tömbök és programozási tételek
Pascal nyelven

2 Tömb feltöltése felhasználói bevitellel
algoritmus feltölt_1 változó x : tömb[1..n] egész i : egész ciklus i:= 1..n lépésköz=1 ismétel be: x[i] cvége algoritmus vége program feltolt_1; var x:array[1..n] of integer; i:integer; begin for i:=1 to n do write(' Kérem a tömbelemet: '); readln(x[i]); end; end.

3 Tömb feltöltése értékadással
algoritmus feltölt_2 változó x : tömb[1..n] egész i : egész ciklus i:= 1..n lépésköz=1 ismétel x[i]:=érték cvége algoritmus vége program feltolt_2; var x:array[1..n] of integer; i:integer; begin for i:=1 to n do x[i]:=érték; end.

4 Tömbfeltöltés értékadással
Értékadás esetében általában véletlen számokat használunk. Véletlen számok készítéséhez a program elején a randomize; utasítást kell kiadni Az értékadás a következőképpen történik: x[i]:=random(max-min)+min; A max és a min értékek az adott intervallum legkisebb és legnagyobb elemei

5 Tömb kiíratása algoritmus kiír változó x : tömb[1..n] egész i : egész
ciklus i:= 1..n lépésköz=1 ismétel ki: x[i] cvége algoritmus vége program kiir; var x:array[1..n] of integer; i:integer; begin for i:=1 to n do write(x[i],' '); end. szóközzel elválasztva

6 Összegzés tétele algoritmus összegzés
var i, össz: egész x: tömb [1..n] egész össz:=0 ciklus i:=1..n lépésköz=1 ismétel össz:=össz + x[i] cvége ki: össz algoritmus vége program osszegzes; var x:array[1..n] of integer; i,ossz:integer; begin ossz:=0; for i:=1 to n do ossz:=ossz+x[i]; writeln('Az összeg: ‘,ossz); end.

7 Összegzés tétele Amennyiben az összegzés tételét átlag számításához használjuk, akkor további két dolgot kell beírni: a változók közé (var) fel kell venni az átlag nevű változót, ami valós típusú (var atlag:real;) a kiíratás előtt ki kell számolni az átlagot: atlag:=ossz/n;

8 Megszámlálás tétele algoritmus megszámlálás változó i, db : egész
x : tömb [1..n] egész db := 0 ciklus i:=1..n lépésköz=1 ismétel ha (x[i] T tulajdonságú) akkor db:= db+1 hvége cvége ki:db …. algoritmus vége program megszamlal; var x:array[1..n] of integer; i,db:integer; begin db:=0; for i:=1 to n do if (x[i] T tul.) then db:=db+1; writeln('A T tulajdonságú elemek száma: ‘,db); end.

9 Kiválogatás tétele program kivalogat; algoritmus kiválogat
var x,x2:array[1..n] of integer; i,db:integer; begin db:=0; for i:=1 to n do if (x[i] T tul.) then db:=db+1; x2[db]:=x[i]; end; end. algoritmus kiválogat változó i, db :egész X, X2 : tömb [1..n] egész db:=0 ciklus i=1-től n-ig lépésköz 1 ismétel Ha (X[i] T tulajdonságú) akkor db:=db+1 X2[db]:=X[i] hvége cvége algoritmus vége

10 Kiválasztás tétele Az elöltesztelő ciklus feltételébe a feladatban megadott T tulajdonság ellenkezőjét kell beírni Pl.: ha a tömbben az 1-eseket keressük, akkor a feltétel ennek ellenkezője (nem egyenlő) lesz: x[i]<>1 A kisebb ellenkezője: nagyobb és egyenlő A nagyobb ellenkezője: kisebb és egyenlő

11 Kiválasztás tétele algoritmus kiválasztás változó i: egész
változó x:tömb[1..n] egész i:=1 amíg (x[i] nem T tulajdonságú) ismétel i:=i+1 avége ki: i algoritmus vége program kivalaszt; var x:array[1..n] of integer; i:integer; begin i:=1; while (x[i] NEM T tul.) do i:=i+1; writeln(' Az első T tulajdonságú elem helye: ',i); end. A tétel használatának előfeltétele, hogy biztosan tudjuk, hogy van olyan elem a tömbben, amilyet keresünk (T tulajdonságú)

12 Eldöntés tétele algoritmus eldöntés változó i: egész VAN: logikai
x: tömb [1..n] : egész i:=1 amíg (i<=n) ÉS (x[i] nem T tulajdonságú) ismétel i:=i+1 avége VAN:=(i <= n) ha VAN akkor ki: "Létezik a keresett elem " különben ki: "Nincs a keresett elem a tömbben" hvége algoritmus vége program eldont; var x:array[1..n] of integer; i:integer; van:boolean; begin i:=1; while (i<=n) and (x[i] NEM T tul.) do i:=i+1; van:=(i<=n); if van then writeln('Létezik a keresett elem') else writeln('Nincs a keresett elem a tömbben') end.

13 Lineáris keresés tétele
algoritmus linker változó i: egész VAN: logikai x: tömb [1..n] : egész i:=1 amíg (i<=n) ÉS (x[i] nem T tulajdonságú) ismétel i:=i+1 avége VAN:=(i <= n) ha VAN akkor ki: i különben ki: "Nincs a keresett elem a tömbben" hvége algoritmus vége program linker; var x:array[1..n] of integer; i:integer; van:boolean; begin i:=1; while (i<=n) and (x[i] NEM T tul.) do i:=i+1; van:=(i<=n); if van then writeln('Létezik az elem, helye: ',i) else writeln('Nincs a keresett elem a tömbben') end.

14 Lineáris keresés tétele
Amennyiben nem az adott, T tulajdonságú elem helyét, hanem az értékét akarjuk kiíratni, akkor az i nevű változó helyett az x[i] tömbelem értékét kell kiíratni.

15 Minimumkiválasztás tétele
algoritmus minimum változó i, min:egész x: tömb [1..n] : egész min := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[min] > x[i] akkor min := i hvége cvége ki: min, x[min] algoritmus vége program minimum; var x:array[1..n] of integer; i,min:integer; begin min:=1; for i:=2 to n do if x[min] > x[i] then min:=i; writeln('A legkisebb elem helye: ',min, ' értéke: ‘,x[min]); end.

16 Maximumkiválasztás tétele
algoritmus maximum változó i, max:egész x: tömb [1..n] : egész max := 1 ciklus i:=2..n lépésköz 1 ismétel ha x[max] < x[i] akkor max := i hvége cvége ki: max, x[max] algoritmus vége program maximum; var x:array[1..n] of integer; i,max:integer; begin max:=1; for i:=2 to n do if x[max] < x[i] then max:=i; writeln('A legnagyobb elem helye: ',max, ' értéke: ‘,x[max]); end.


Letölteni ppt "Tömbök és programozási tételek"

Hasonló előadás


Google Hirdetések