• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 
Menu

Zobrazi� pr�spevky

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Zobrazi� pr�spevky Menu

Messages - Agamemnon

#2351
najskôr asi nevypneš niektoré vlákno
#2352
hehe :)) njn :) ale keď to už človek vie, tak sa tam dajú robiť skvelé veci s textom, kódom :)
#2353
ja som tiež mal odpor ku tomu prv, ale momentálne pod linuxom používam už len vim, hehe :) (tu by sa asi patrilo povedať, že thx to mirek) :)
#2354
linuxový editor... logon na dslab a daj vim :) a uvidíš :)
väčšina windowsákov ho nenávidí :) v princípe preto, že ho nvie používať a nechce sa im to učiť :)
#2355
používaj vim ;)
#2356
nemton: lol :-P

martin:
Kalkulacka k1;
- to máš ako keby si urobil int a; - tiež tam nemáš hodnotu a nvš to použiť vo výpočte... proste to je len zaregistrovaný názov premennej...

to "= new Kalkulacka()" priradí premennej konkrétnu hodnotu
#2357
len pošleš a on ti pošle výsledok... obhajoba je na zápočtovkách :)
#2358
spýtaj sa... mne sa nezdá, že program robí niečo iné, ako máš v kóde :) to neexistuje :)
#2359
neverím, že to tam nemáš :) alebo spúšťaš niečo iné ako kompiluješ :)
#2360
to závisí od toho, čo tam máš... ak si tam dal, aby ti vypisovalo obsah myprops, tak ho vypisuje :) ak to tam nemáš, tak nevypisuje...
#2361
Quote from: wlade on  26.02.2008, 05:10:38
ty kokso tu sami geniovia...

Ja som sa s ulohou 1.3 nadrel za 3 dni, doslova som krv plul pri tom (obrazne povedane) a je zazrak ze mi to nejak bezi (aspon to tak vyzera) a vy za hodku mate vsetko. Fuu sami buduci menezeri a riaditelia vyznamnych podnikov tu pisu, hlboku uctu vam vzdavam... To este len bude boj, uloha 1.4 killer...

killer sú 4.x úlohy... to ale nebudete mať, ako som počul
#2362
3. ro?ník / Re: TBIS I.
26.02.2008, 04:09:36
hej :) sranda to bola celkom, hehe :) nuda bola na cviku, tak niekoho toto napadlo :) tak sme skúsili :)
#2363
nie :) to znamená, že tvoje zadanie bolo prijaté v 120% termíne :)
to koľko máš bodov sa dozvieš z takého dlhého výpisu, kde je všetko podrobne rozpísané... za čo si koľko získal, koľko stratil, atď.
#2364
3. ro?ník / Re: TBIS I.
26.02.2008, 03:49:06
nepôjde to... my sme to skúšali minulý rok, hehe :)
#2365
ja s určovaním toho, aké budú zadania, nemám nič :) plánovali, že budú pluginy do rôznych softvérov (to je koniec-koncov aj na tom wiki, kde bolo to zadanie tej dnešnej úlohy na cviku - moodle.fei.tuke.sk/wiki/index.php/Objektové_programovanie - úplne naspodku je zoznam zadaní)...
ale podľa toho, čo tu ywetka písala pred pár dňami, a aj čo mirek hovoril, aj dnes, tak to ešte nie je isté...
#2366
hodnotenia posiela všetkým naraz - resp. približne v rovnaký čas... zvykol posielať prvý pondelok/utorok po danom termíne
#2367
no tie testy sme my písali zo shareme :) takže, ak máš 120% a testy nemáš, tak to je dosť podozrivé :)
#2368
pastni tu aj kód... stačí ten 1 súbor... takto si môžem max. tipnúť
#2369
ok, takže pokus o ukázkový program - snažil som sa ho komentovať čo najviac, snáď je to pochopiteľné... ak nie, tak sa pýtajte...
lepšie to popísať nedokážem, moje pedagogicke schopnosti boli vždy dosť biedne...
- snažil som sa ukázať vytvorenie objektov
- krížové volanie objektov (vodič nastupuje do traktora, získame meno vodiča traktora)
- vytvorenie objektu v inej metóde ako je Main() - narodenie potomka pre objekt typu Clovek
- ukážku ako sa môžu rôzne správať 2 objekty 1 typu - ako majú iné hodnoty - podobne ako napr. pre dátový typ int, string ap.
- ukážku, že sa dá použiť if, for, ai. v akejkoľvek metóde (dokonca aj v iných členoch triedy, ale to neskôr)



using System;

namespace Traktor {
   public class Program {

      /**
       * metoda Main() - vola sa len raz v programe - automaticky sa spusta pri starte programu
       */
      public static void Main() {
         /**
          * vytvorime objekt typu clovek
          * nastavime mu parametre
          */
         Clovek jano = new Clovek("jano", 45);
         
         /**
          * teraz vytvorime viacero traktorov
          * pre predstavu kazdy traktor je rovnaky (seriova vyroba) - len maju inu farbu
          */
         Traktor cervenyTraktor = new Traktor("cerveny");
         Traktor modryTraktor = new Traktor("modry");

         /**
          * teraz jano nastupi na cerveny traktor
          */
         jano.NastupDoTraktora(cervenyTraktor);
         // v metode NastupDoTraktora je pouzity keyword this - to znamena, ze sa tam pouzije konkretny objekt, pre ktory je metoda volana - v nasom pripade je to objekt "jano"

         /**
          * nechame si vypisat, kto je vodicom ktoreho traktora
          */
         Console.WriteLine("vodicom cerveneho traktora je: " + cervenyTraktor.MenoVodica());
         Console.WriteLine("vodicom modreho traktora je: " + modryTraktor.MenoVodica());

         /**
          * a teraz sa obe traktory pokusia prejst 5km.
          */
         cervenyTraktor.Prejdi(5);
         modryTraktor.Prejdi(5);

         /**
          * a este ukazka vytvorenia objektu v inej metode ako je Main()
          */
         Clovek decko = jano.NarodeniePotomka("jozo");
         Console.WriteLine("potomok sa vola: " + decko.Meno());

         // caka na stlacenie klavesy pred ukoncenim
         Console.ReadKey();
      }

   }

   /**
    * trieda clovek drzi info a sposob spravania sa cloveka
    */
   public class Clovek {
      string meno;
      int vek;

      /**
       * konstruktor - da sa predstavit ako zaregistrovanie cloveka do nejakej databazy
       * ma 2 parametre - meno a vek
       */
      public Clovek(string meno, int vek) {
         // this znamena, ze ide o objekt, s ktorym pracujeme - tj. ktoreho konkretne sa volanie danej metody tyka
         this.meno = meno;
         this.vek = vek;
      }

      /**
       * tento clovek nastupi do traktora, ktory prevezme ako parameter
       */
      public void NastupDoTraktora(Traktor trak) {
         trak.NastavVodica(this);
      }

      /**
       * zistenie mena cloveka
       */
      public string Meno() {
         return this.meno;
      }

      /**
       * clovek ma potomka - ukazka, ze je mozne vytvorit objekt aj v inom objekte, ako je hlavny - tj. v inej metode ako je Main()
       * samozrejme, potomok ma meno, a vek 0
       */
      public Clovek NarodeniePotomka(string meno) {
         Clovek potomok = new Clovek(meno, 0);
         return potomok;
      }
   }

   /**
    * trieda traktor zase ma info o traktore a o tom ako sa sprava on
    */
   public class Traktor {
      string farba;
      Clovek vodic;

      /**
       * konstruktor - da sa to predstavit si ako napr. vyrobenie traktora v tovarni
       * v principe vieme, ze vsetky traktory su rovnake (preto kazdy traktor bude instanciou tejto triedy)
       * lisia sa len vo farbe - tu nastavime "pri vyrobe" - preberie sa ako parameter
       * po vyjdeni z tovarne traktor je logicky bez vodica
       */
      public Traktor(string farba) {
         this.farba = farba;
         this.vodic = null;
      }

      /**
       * nejaky clovek nastupil do traktora a stal sa jeho vodicom - konkretne, ktory clovek to bol, preberieme ako parameter
       */
      public void NastavVodica(Clovek vodic) {
         this.vodic = vodic;
      }

      /**
       * chceme zistit, kto je vodicom tohto traktora
       */
      public string MenoVodica() {
         if (this.vodic == null)
            return "tento traktor zatial nema vodica";

         return this.vodic.Meno();
      }

      /**
       * traktor ide ku nejakemu cielu
       * parametrom udame ako daleko je ciel
       */
      public void Prejdi(int vzdialenost) {
         if (this.vodic == null) {
            Console.WriteLine("traktor nema vodica - bez vodica sa nemoze hybat.");
            return;
         }

         // cyklus - uplne klasicke pouzitie
         for (int i = 0; i < vzdialenost; i++) {
            Console.WriteLine("traktor zatial presiel vzdialenost " + i + " km.");
         }

         Console.WriteLine("traktor je v cieli.");
      }
   }
}



odporúčam skopírovať do nejakého editora, kde budete mať syntax highlighting :)
a ideálne si to aj vyskúšať (napísal som to cez MS Visual C# 2008 Express Ed.) - s kompilovaním by nemal byť problém
#2370
ako... kľudne môžeš mať také veci ako napr.:
- v 1 objekt vytvoríš iný objekt
- objekt prevezme referenciu na iný objekt ako parameter metódy (konštruktora) a kľudne ho používa
- v objekte je komplet výpočet

ono... kompletné vykonávanie programu by malo (v ideálnom prípade) byť v objektoch a metóda Main() je viac-menej len na inicializáciu :)

ak sa mi podarí vymyslieť nejaký easy ukážkový program, tak ho tu hodím... pravdepodobne skúsim modifikovať trochu mirekov obľúbený výťah tak, aby tu sedel, a mohol som na ňom popísať tieto veci... snáď sa mi to podarí urobiť tak, aby to nebolo veľmi umelé... :)
#2371
v rámci akejkoľvek metódy... môže byť aj v rámci Main()...
#2372
1. Musi mat kazda trieda metodu Main() alebo staci ze ju ma iba jedna (napr. ta co sa vola tak isto ako subor .cs)?
- metóda Main() je obdobou funkcie main() v C, takže musí byť práve raz v programe (pokiaľ ide o spustiteľnú aplikáciu - knižnice ap. ju nemajú)... musí byť statická

2. Ked si zadefinujem nejaku triedu (+ konstruktor a tie premenne) tak objekt tej triedy potom vytvaram v ramci metody Main() ze?
- objekt triedy môžeš vytvoriť v rámci Main(), ale aj v rámci inej prípadne tej istej triedy - trieda znamená v podstate to, že ty si definuješ nový dátový typ (napr. máš int, a ty si zadefinuješ imag. čísla - definuješ im nejaké správanie (to sú metódy), atď.) - podstata je to, že to vieš použiť ako nový typ - takže vieš to vytvoriť "všade"...

3. Majme napriklad 2 triedy - class Traktor (ma defaultny konstruktor, premenne a metodu nastartujTraktor() ). A druhy class sa vola napr. Program - v nom je taj metoda Main(). Ked chcem vytvorit novy traktor tak urobim nieco take ze Traktor trakt1 = new Traktor() ?
- áno

No a teraz ked chcem zavolat metodu nastartujTraktor tak to uribim ze:
trakt1.nastartujTraktor() alebo Traktor.nastartujTraktor(trakt1) ?
- tým prvým - tj. trakt1.nastartujTraktor()
- to druhé je volanie statickej metódy (to sa budeš učiť neskôr) s parametrom typu Traktor

Dakujem za odpovede a ospravedlnujem sa ked sa pytam hluposti ale prechadzal som si moodle a mam z toho riadny zmätok. Vdaka
- neospravedlňuj sa... kto sa nepýta, nič sa nedozvie... každý nejak začínal
#2373
kľúč je kukurica

číta sa to "sí šarP", nie šark... totiž "#" sa číta "sharp"
#2374
hmm :) no tieto zadania sú dosť fajn... dosť reálne... tj. preštudovať api, pohľadať metódy čo potrebuješ, a použiť ich :)

určite lepšie ako tie čo boli niekedy... konečne to nie je IS :)
#2375
nj, na tieto témy sa robia/ili konkrétne zadania...