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

Összetett adattípusok Tömb. Tömb típus A tömb meghatározott számú, azonos típusú elemekből álló összetett típus. Deklarálása : var azonosító : array [kezdőindex..

Hasonló előadás


Az előadások a következő témára: "Összetett adattípusok Tömb. Tömb típus A tömb meghatározott számú, azonos típusú elemekből álló összetett típus. Deklarálása : var azonosító : array [kezdőindex.."— Előadás másolata:

1 Összetett adattípusok Tömb

2 Tömb típus A tömb meghatározott számú, azonos típusú elemekből álló összetett típus. Deklarálása : var azonosító : array [kezdőindex.. végindex] of típus; tömb mérete tömb elemeinek típusa Pl.: var x: array[1..10] of integer; {10 elemből álló integer típusú tömb} x[1], x[2],… x[10] - tömb elemeire való hivatkozás x[1] := 3,67; - tömb egy elemének való értékadása Azt a tömböt, ahol csak egy dimenzióban deklaráljuk a tömb elemeit, akkor vektornak nevezzük.

3 array [Indextípus] of Elemtípus; Szabályok: 1. A tömbnek rögzített számú eleme van 2. Az elemek típusai megegyeznek 3. Indextípus csak sorszámozott típus lehet 4. Indextípus minden értékére létezik egy jól meghatározott tömbelem 5. Az elemek számát a tömbben Indextípus számossága határozza meg 6. Index egy Indextípusú kifejezés 7. Az elemek bármelyike közvetlenül elérhető az indexre való hivatkozással

4 Műveletek vektorokkal: 1. Vektor deklarálása: Var v:array[1..25] of integer; i,n: integer; vagy type vekt=array[1..25] of integer; vari, n:integer; v:vekt; 2.Vektor elemeinek elemzése, feldolgozása: ciklus segítségével végigmegyünk a vektoron -for ciklussal: for i:=1 to n do -while ciklussal: i:=1; while i<=n do begin i:=i+1; end;

5 -repeat ciklussal: i:=1; repeat i:=i+1; until i>n; 3. Vektor elemeinek beolvasása: -for ciklussal: write(‘n=’); readln(n); for i:=1 to n do begin write(‘ v[‘,i, ’]= ’); readln(v[i]); end;

6 -while cilkussal: write(‘n=’); readln(n); i:=1; while i<=n do begin write (‘ v[‘,i, ’]= ’); readln (v[i]); i:=i+1; end; -repeat cilkussal: write(‘n=’); readln(n); i:=1; repeat write (‘ v[‘,i, ’]= ’); readln (v[i]); i:=i+1; until i>n;

7 4. Vektor elemeinek kiíratása: -for ciklussal: for i:=1 to n do write(v[i]:4); -while ciklussal: i:=1; while i<=n do begin write(v[i]:4); i:=i+1; end; -repeat ciklussal: i:=1; repeat write(v[i]:4); i:=i+1; until i>n;

8 Típusfeladatok vektorokkal: 1.Olvassunk be egy vektort, majd írassuk ki fordított sorrendben a beolvasott elemeket, tehát először kiírassuk az x[n]- dik, majd az x[n-1]- dik elemet és végül legutoljára az x[1]. Ez nem azt jelenti hogy a vektort megfordítottuk, csak azt hogy fordítva írattuk ki az elemeket. (forditottvektor.pas) 2.Határozzuk meg a vektor legkisebb elemét! (min.pas) 3.Határozzátok meg a vektor legnagyobb elemét! (max.pas) 4.Határozzátok meg párhuzamosan egy vektor legnagyobb és legkisebb értékét ! 5.Határozzátok meg egy vektor eleminek összegét! 6.Számoljátok meg egy vektor pozitív és negatív elemeit! (pozitiv&negativ) 7.Írassátok ki egy vektor páros elemeit. (paros.pas)

9 Gyakran előforduló problémák tömbök esetében: 1.Adott két azonos típusú tömb x és y. Cseréljétek fel a két tömb elemeit egymással. y[1]:=x[n] y[2]:=x[n-1] következtetés: a tömb indexeinek összege …. mindig n+1, ezért felírható: y[n]:=x[1] y[i]:=x[n+1-i] for i:=1 to n do y[i]:=x[n+1-i] feladat: Cseréljétek fel két tömb elemeit.

10 2. Vektor elemeinek felcserélése önmagában: Adott egy x vektor. Felszeretnénk cserélni a vektor elemeit ugyanabban a vektorban. megoldás: -ezt csakis úgy lehet megvalósítani, hogy egy segédváltozó segítségével a tömb közepéig minden elemet felcserélünk egymással, az elsőt az utolsóval és így tovább. -ha a teljes sorozatot vennénk, akkor a közepétől megint minden elem visszacserélődik: pl. legyen egy 6 elemű tömb v: v1 v2 v3 v4 v5 v6 1.lépés: lépés: lépés: lépés: lépés:

11 Tehát: for i:=1 to n div 2 do begin seged:=x[i]; x[i]:=x[n+1-i]; x[n+1-i]:=seged; end; feladat: Cseréljétek fel egy vektor elemeit.

12 3. Egy adott tulajdonságú elem keresése a vektorban: Legyen x egy vektor és egy adott tulajdonságú elem, amit keresünk a vektorban. megoldás: be kell vezessünk egy logikai változót, melynek kezdeti értéke hamis(false, 0). Ez a logikai változó keres rá az adott tulajdonságú elemre, illetve visszajelez hogy van-e ilyen elem vagy nincs. talalt:=false; i:=1; while (i<=n) and (not talalt) do if x[i]=y then talalt:=true else i:=i+1; Feladat: 1.Nézzük meg, hogy van-e a vektorban negatív szám 2. Keressétek ki egy vektorból a prímszámokat.

13 Feladatok: 1. Adottak egy osztály tanulói. Kérjétek be mindenik tanuló osztályzatát és adjátok majd meg az osztály átlagát. (ATLAG_1) 2. Írjatok egy programot mely kiírja hogy egy ismert osztályzat milyen minősítésnek felel meg. (OSZT_1) 3. Ismerjük a tanulók számát és a tantárgyak számát, akkor adjuk meg külön külön mindenik tanuló átlagát (ATLAG_2) 4. Ismervén egy személy fizetését, adjátok meg a bankjegyek számát (CIMLETEZ) 5. Írjatok egy Programot mely megszámolja hogy egy mátrixban hány a pozitív, hány a negatív és hány nulla van (Pozineg) 6. Írjatok egy programot, mely véletlenszerűen megadja egy lottóhúzás nyerőszámait. (Lotto5) 7. Számoljátok meg hány páros, páratlan és hány 3-mal osztható szám van egy vektorban! (ciklus7) 8. Adjuk meg egy osztály tanulóinak névsorát és az általuk megtakarított pénzt fejenként. Összegezzétek a tanulók által megtakarított pénzt, készítsetek kimutatást. (ciklus51)


Letölteni ppt "Összetett adattípusok Tömb. Tömb típus A tömb meghatározott számú, azonos típusú elemekből álló összetett típus. Deklarálása : var azonosító : array [kezdőindex.."

Hasonló előadás


Google Hirdetések