Komplex feladat a programozási tételek szemléltetésére

Autó kereskedés

Feladat:

Szükséges ismeretek

Téma Megoldás Könyv: Hornyák jegyzet

Dinamikus méretű tömbök
A normál tömbökkel szemben nem adjuk meg a méretüket, igazodnak a tartalomhoz
86
Deklaráció static ArrayList tipus = new ArrayList();
static ArrayList rendszam = new ArrayList();
static ArrayList evjarat = new ArrayList();
static ArrayList ar = new ArrayList();
static ArrayList eladva = new ArrayList();
Névtér behívása using System.Collections;// dinamikus tömb kezelés miatt kell
ArrayList főbb jellemzıi Capacity: az elemek számát olvashatjuk illetve írhatjuk elı.
Count: az elemek számát olvashatjuk ki. Csak olvasható tulajdonság.
Item: A megadott indexő elemet lehet írni vagy olvasni.
ArrayList főbb metódusai Add: Hozzáad egy objektumot a lista végéhez.
BinarySearch: Rendezett listában a bináris keresés algoritmusával megkeresi az
elemet
Clear: Minden elemet töröl a listából.
CopyTo: Átmásolja az ArrayList-át egy egydimenziós tömbbe.
IndexOf: A megadott elem elsı elıfordulásának indexét adja vissza. A lista elsı
elemének az indexe a 0.
Insert: Beszúr egy elemet az ArrayListbe a megadott indexhez.
Sort: Rendezi az elemeket az ArrayListben.
     
Eljárás 1

static void Információ()
{
Console.WriteLine("*******************");
Console.WriteLine("** Példa program **");
Console.WriteLine("Programozó: Kiss Aladár Béla");
Console.WriteLine("Készült: 2004.11.23");
}

Mindenképpen javasolt a kód részekre tördelése. Ennek során olyan részeket különítünk el, amelyek önmagában értelmes részfeladatokat látnak el. E részfeladatoknak jól hangzó nevet találunk ki (pl. bekérés, feltöltés, kiírás, maximális elem megkeresése, listázás, kigyűjtés, stb.), ezeket a program külön részén, a Main fv-től elkülönítve írjuk meg.Az ilyen, önálló feladattal és névvel ellátott, elkülönített programrészletet eljárásnak nevezzük.

142
       
Függvény1

class PeldaProgram
{
static int[] tomb=new int[10];
//................................................................
static void Main(string[] args)
{
Feltoltes();
Kiiras();
int osszesen=OsszegSzamitas();
Console.WriteLine("A tomb elemek osszege={0}",osszesen);
}
//................................................................
static int OsszegSzamitas()
{
int sum=0;
for(int i=0;i<tomb.Length;i++)
sum = sum + tomb[i];
return sum;
}
//................................................................
}

A függvény rokon fogalom az eljárással – egy apró különbséggel. A függvény egy olyan eljárás, amely olyan részfeladatot old meg, melynek pontosan egy végeredménye is van – egy érték.

Amennyiben az a részfeladat, hogy egy értékekkel már feltöltött tömb eleminek összegét kell kiszámítani, a végeredmény egyetlen számérték. Amennyiben ezt eljárás segítségével oldjuk meg, úgy a végeredményt egy megosztott változóba kell elhelyezni. Ez sokszor nem túl szerencsés megoldás, mert a függvény kötődik ezen megosztott változó nevéhez. Amennyiben egy másik programba szeretnénk ezt függvényt áthelyezni, úgy vele együtt kell mozgatni a megosztott változót is.

Az ilyen jellegű feladatokat megoldó alprogramokat függvények formájában írjuk meg.

Amennyiben függvényt akarunk írni, két fontos dolgot kell szem előtt tartanunk:

  • A függvényeknél rögzíteni kell, hogy milyen típusú értéket adnak majd vissza. Ezt a függvény neve előtt kell feltüntetni (a ’void’ helyett).

  • A függvények ezek után kötelesek minden esetben egy ilyen típusú értéket vissza is adni! A függvény visszatérési értékét a ’return’ kulcsszó után írt kifejezésben kell feltüntetni.

Link
Függvény2

static int[] Feltoltes()
{
int[] t = new int[10];
for(int i=0;i<t.Length;i++)
{
Console.Write("A tomb {0}. eleme=",i);
string strErtek=Console.ReadLine();
t[i] = Int32.Parse( strErtek );
}
return t;
}
int tomb[] = Feltoltes();

//................................................................
class PeldaProgram
{
static int[] tomb;
static void Main(string[] args)
{
tomb = Feltoltes();
Kiiras();
}
}

A fenti függvény létrehoz egy int-ekből álló, 10 elemű tömböt a memóriában, feltölti elemekkel a billentyűzetről, majd visszaadja a feltöltött tömböt az őt meghívónak.

 

.....................................................................

Amennyiben a feltöltött tömböt egy megosztott változóba szeretnénk tárolni, akkor azt így kell megoldani.

 
       

 Megvalósítások:

Autó kereskedés feladat dinamikus tömb alkalmazásával megoldva. Bevezető feladat, csak a "típus" kerül feltöltésre és listázásra.

Kód

Program
Autókereskedés a járművek összes adatával feltöltve, listázva és a legöregeb jármű keresése elkészítve. Kód Program