Kihagyás

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

\[ \mathbb{S} \]

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öveg
  • s.Length - szöveg hossza
  • + - hozzáírás, hozzáfűzés, konkatenáció
  • s[i] - s szöveg i-dik karaktere

  • s.Contains(mi) - a megadott szöveg benne van-e az s szövegben

  • s.Substring(tól, db) - a tól-indextől db darab karaktert reprezentál
  • s.Replace(mit, mivel) - a mit előfordulásait cseréli mivel-re

Mátrixok

Kétindexes tömb

Jelölés

\(K^{NxM}\) - N sor, M oszlop

C# implementáció

Mátrix megadása

int[,] matrix = new int[3,6];

Itt: N = 3 (sor); M = 6 (oszlop)

vagy

int [][] matrix = new int[3][6];

(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

List<T> lista = new List<T>() // T típusú elemek dinamikus tömbje

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