Napišite razred Kvadrat, s katerim predstavite kvadrat. Kvadrat je predstavljen z dolžino ene stranice. Sestavite tudi metodi za izračun ploščine in obsega kvadrata.
- Izračunajte, kakšno površino lahko prekrijete s kvadrati, ki so v tabeli.
- Vrnite kopijo tistega kvadrata, ki ima najmanjši obseg.
- Vsem tistim kvadratom v tabeli, katerih obseg je več kot 10% manjši od povprečnega obsega vseh kvadratov, spremenite stranico tako, da bodo imeli obseg (do zaokrožitvene napake) enak povprečnemu.
- • Dodatna naloga: Izračunaj ploščino kvadratov in vrni kopijo tistega kvadrata, ki ima največjo ploščino.
Razred naj obvezno vsebuje: - Minimalni (tj. prazni) konstruktor public Razred(), ki tvori objekt s privzetimi (smiselnimi!) vrednostmi.
- Metodo public override string ToString(), ki vse podatke v objektu zapiše v obliki niza. Podatki naj bodo med seboj ločeni z znakom ';'.
- Polni konstruktor public Razred(string s), ki s klicem Razred(niz) generira tak objekt Razred r, za katerega velja niz = r.ToString().
- Metodo DodajNaDatoteko(string imeDatoteke), ki objekt this zapiše (oz. doda; glej metodo File.AppendText()) kot vrstico this.ToString() v tekstovni datoteki.
- Metodo PreberiZDatoteke(string imeDatoteke), ki vrne tabelo objektov, kjer posamezni objekt vsebuje podatke, ki so zapisani v posamezni vrstici tekstovne datoteke.
Vsi razredi morajo biti robustni – vsi konstruktorji in metode morajo biti taki, da objekta ne spravijo v nesmiselno stanje. Če je potrebno, pri klicu metode s nedopustnimi parametri sproži izjemo.
V testnem programu, s katerim prikažete ključne funkcionalnosti razreda, naredite naslednje:
- Napišite metodo, ki ustvari vsaj ducat različnih objektov in jih zapišite na datoteko.
- Napišite ustrezne metode za reševanje zastavljenih problemov.
V programu samem pa po vrsti :
- Pokličite metodo, ki na datoteko zapiše ducat objektov.
- Preberite vse podatke z datoteke v tabelo.
- Tabelo pregledno izpišite.
- Nato kličite metode, ki so potrebne, da rešite zastavljene probleme in pregledno izpišite rezultate.
- Na koncu na isto datoteko ponovno zapišite vse objekte (ne glede na to, ali so jih zgornje metode spremenile ali ne).


