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 Pascal nyelven. 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 i :

Hasonló előadás


Az előadások a következő témára: "Tömbök és programozási tételek Pascal nyelven. 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 i :"— 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 i : egész… ciklus i:= 1..n lépésköz=1 ismétel be: x[i] 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 begin 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 i : egész… ciklus i:= 1..n lépésköz=1 ismétel x[i]:=érték x[i]:=értékcvé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 i : egész… ciklus i:= 1..n lépésköz=1 ismétel ki: x[i] 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 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: 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 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 ha (x[i] T tulajdonságú) akkor db:= db+1 db:= db+1 hvége hvégecvégeki: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 algoritmus kiválogat változó i, db :egész X, X2 : tömb [1..n] 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 db:=db+1 X2[db]:=X[i] X2[db]:=X[i]hvégecvége… algoritmus vége program kivalogat; 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 begindb:=db+1;x2[db]:=x[i];end;…end.

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: 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 kisebb ellenkezője: nagyobb és egyenlő A nagyobb ellenkezője: kisebb é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 i:=1 amíg (x[i] nem T tulajdonságú) ismétel amíg (x[i] nem T tulajdonságú) ismétel i:=i+1 i:=i+1 avége 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 VAN: logikai x: tömb [1..n] : egész 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 i:=i+1avé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 VAN: logikai x: tömb [1..n] : egész 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 i:=i+1avé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 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 ha x[min] > x[i] akkor min := i min := i hvége hvégecvé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 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 ha x[max] < x[i] akkor max := i max := i hvége hvégecvé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 Pascal nyelven. 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 i :"

Hasonló előadás


Google Hirdetések