HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

A tizedik előadás, fizikailag

2011.04.20. 16:13 nb

2011. április 20-án megtartottuk a tizedik előadást, írtunk katalógust, mert 100 alattinak tűnt a létszám: és valóban 79-en voltunk...

 

A végleges előadások itt elérhetőek: nehogy.fw.hu/

Szólj hozzá!

Címkék: előadás

A tizedik (tizenegyedik) labor

2011.04.17. 14:49 nb

Laborvezetőknek

Szerdáig továbbra is a (logikailag) első hat előadás laborkártyái közül válogatva kérdezzük végig a hallgatóságot!  Arra külön figyeljünk, hogy aki nem tudott egy kártyát, az mindenképpen kapjon a következő laboron is! Innentől a laborokon a fő feladat a hallgatók egyéni védése, de ahogy az idő engedi, illetve az önállóan vadászók számára lejjebb a szokásos módon kínáljuk a tematikát.

Hallgatóknak

Nagyon hatékony előre készülni a laborra, sokan és sok trófeát szereznek így! Viszont immár a főtéma: szezonja van a teljesítés egyik szükséges feltétele megvédésének. A C++ megoldás választását javaslom! Ezt támogatandó egy minimális (de a beszámoló szempontjából teljes) felkommentezett változat elérhető korábbi Együtt támadjuk meg című posztunkban. Ugyanitt találjátok a "mintát", amire lehet tesztelni a saját megoldásokat.

Tematika

Az alábbi témák legtöbbjét próbáljuk lefedni a "10/11" gyakorlaton:

BN laborján

  • Ha bérkinek kérdése van (a közelgő védése kapcsán is persze) a Együtt támadjuk meg forrásával kapcsolatban, azt válaszoljuk meg.
  • Tegyük lehetővé, hogy a felépített LZW fának ne kelljen explicite a szabadit() üzenetet küldeni, hogy a szabad tárban allokált területeket felszabadítsuk (első kettőnek 1 trófea; tk. a fa destruktorába tegyük a szabadítás megfelelő hívását)!
  • "Kivételkezeléssel" javítsuk a kódot az állománykezelés tekintetében: egy trófeáért az első két hallgató észreveheti, ha a bemenő fájl nem létezik:
    nbatfai@hallg:~$ g++ z3a2.cpp -o z3a2
    nbatfai@hallg:~$ ./z3a2 z3a2.cp -o kimenet
    z3a2.cp nem letezik...
    Usage: lzwtree in_file -o out_fil
    sima if és adjunk vissza -3 értéket az oprendszernek (help: B&L 86. o.).
  • már nem az elején vagyunk, az ide-oda történő "bit-tologatást" egyszerűsítsük:
        while (beFile.read ((char *) &b, sizeof (unsigned char))) {
    	// egyszerűen a korábbi d.c kódját bemásoljuk
    	// laboron többször lerajzoltuk ezt a bit-tologatást: 
    	// a b-ben lévő bájt bitjeit egyenként megnézzük
            for (int i = 0; i < 8; ++i)
            {
    	    // maszkolunk eddig..., most már simán írjuk az if fejébe a legmagasabb helyiértékű bit vizsgálatát
    	    // csupa 0 lesz benne a végén pedig a vizsgált 0 vagy 1, az if megmondja melyik:
                if (b & 0x80)
    		// ha a vizsgált bit 1, akkor az '1' betűt nyomjuk az LZW fa objektumunkba
                    binFa << '1';
                else
    		// különben meg a '0' betűt:
                    binFa << '0';
                b <<= 1;
            }
    
        }
    

 

26 komment

Címkék: labor

süti beállítások módosítása