5. előadás
A típus
- Értékhalmaz
- Meghatározza milyen értékek lehetnek tagjai
- Művelethalmaz
- Meghatározza milyen műveleteket tudunk elvégezni
Rekord típus
- Heterogén adatszerkezet
-
Értékhalmaz
- Típus
TR=Rekord( \(m_1:TM_1\) ... \(m_N:TM_N\)) - Művelethalmaz -
:=- értékhozzárendelés -.m1- rekord elemének beolvasása - ... -.mN
Tömb
- Homogén adatszerkezet
-
Értékhalmaz
- Típus:
TT=Tömb[TInd:Telem] - Művelethalmaz -
:=-[ ]
\(Szül_{1..N} \in Dátum^N, Dátum=hó \times nap, hó, nap \in \mathbb{N}\)
Szöveg
A szöveg és a tömb relációja
- Egyféle elemekből állnak
- Indexelhetők
Eltérések
- A szöveg MINDIG 1-től indexelendő
- A tömb deklarációtól függően indexelhető
- A klasszikus tömb hossza konstans, a szöveg hossza változtatható
- A szövegre értelmezhető a hossz függvény (length)
Szöveg műveletek
""- üres szövegs.Length- szöveg hossza+- hozzáírás, hozzáfűzés, konkatenáció-
s[i]-sszöveg i-dik karaktere -
s.Contains(mi)- a megadott szöveg benne van-e az s szövegben s.Substring(tól, db)- atól-indextől db darab karaktert reprezentáls.Replace(mit, mivel)- amitelőfordulásait cserélimivel-re
Mátrixok
Kétindexes tömb
Jelölés
\(K^{NxM}\) - N sor, M oszlop
C# implementáció
Mátrix megadása
Itt: N = 3 (sor); M = 6 (oszlop)
vagy
(Ezt inkább ne használjuk. Ez gyakorlatilag egy tömbben tömbök. Nincs rajta implementálva a GetLength és a Length máshogy működik. Az alap tömbben lévő tömbök lehetnek eltérő elemszámúak. Angolban: jagged array)
- Mátrix adott dimenziójának hossza:
matrixNeve.GetLength(dimenzioszam) - (A dimenzió számozás 0-tól indul.)
- Mátrix elemeinek száma:
matrixNeve.Length - A mátrixok is 0-tól indexeltek
- Értékadás mátrix adott elemének
pl.: matrix[0,0] = 1;
A mátrixoknak meg lehet előre adni az
Dinamikus tömb
Függvények
Bemenet: \(x \in \mathbb{R}\)
Kimenet: \(y \in \mathbb{R}\)
Előfeltétel: -
Utófeltétel: \(y=négyzet(x)\)
Definíció:
- \(négyzet: \mathbb{R} \rightarrow \mathbb{R}\)
- \(négyzet(x) := x*x\)
Struktogramban: elipszis TODO: internet shit the bed here, goodbye