1 / 16

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

Tömbök és programozási tételek. Pascal nyelven. 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 begin

tulia
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 begin write(' Kérem a tömbelemet: '); readln(x[i]); end; … end. Tömb feltöltése felhasználói bevitellel

  3. 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. Tömb feltöltése értékadással

  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. 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. Tömb kiíratása szóközzel elválasztva

  6. algoritmus összegzés var i, össz: egészx: 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. Összegzés tétele

  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. 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. Megszámlálás tétele

  9. 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 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 begin db:=db+1; x2[db]:=x[i]; end; … end. Kiválogatás tétele

  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. 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. Kiválasztás tétele 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. 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. Eldöntés tétele

  13. 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. Lineáris keresés tétele

  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. 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. Minimumkiválasztás tétele

  16. 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. Maximumkiválasztás tétele

More Related