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 nyolcadik (kilencedik) labor

2011.04.03. 11:55 nb

Laborvezetőknek

Az első hat előadás laborkártyái közül válogatva kérdezzük végig a hallgatóságot!  (A hatodik , nagyobb lélegzetvételűbe több új kártya is szerepel az előadás második része miatt, ezeket a szerdai előadás után kérdezzük csak.) Arra külön figyeljünk, hogy aki nem tudott egy kártyát, az mindenképpen kapjon a következő laboron is!

Hallgatóknak

A szokásos: sosem árt előre készülni a laborra, nálam szereztek így kisbajnokság trófeát. Ha többen is elkészítik, akkor holtversenyben mindannyian megkapják a "trófeákat". Illetve a laborkártyákat nem a beugró helyett találtuk ki, hanem hogy megadja a rendszeres heti készülés alaphangját annak is, aki nem tud, vagy nem akar részt venni a vadászatban. De ha de facto ilyen funkciója is kialakul, az sem baj. Más: lassan lehet védeni a teljesítés egyik szükséges feltételét. Természetesen C-ben és C++-ban is lehet tolni a beszámolót.

Tematika

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

  •  Fejlesszük tovább a korábbi osztályt, hogy meg lehessen kérdezni a példányaitól a fa mélységét, ághosszainak átlagát és szórását!

A laborvezető döntése szerint az esetlegesen (ünnep, szalmai napok miatt) elmaradt laborból is lehet csemegézni:

BN laborján

  • Sebesség teszteljük a laboron készített C++ megoldást a korábbi C megoldással összehasonlítva:

    [norbi@sgu tcag]$ g++ z3a.cpp -o z3a
    [norbi@sgu tcag]$ time ./z3a <hs_alt_Hs_Celera_chr2.fa.dA
    depth=1945
    mean=77.9747
    var=13.3204

    real    5m47.999s
    user    5m45.241s
    sys     0m2.030s
    [norbi@sgu tcag]$ gcc z.c -o z -lm
    [norbi@sgu tcag]$ time ./z <hs_alt_Hs_Celera_chr2.fa.dA

    melyseg=1945
    altag=77.974697
    szoras=13.320417

    real    16m33.758s
    user    4m14.530s
    sys     12m18.196s
     (a kiírt számok rendben, de az idő... valami zavar van az erőben, mi?)
  • a gépteremben kevés a lemezterület, így módosítsd úgy a d.c-t, hogy csak 80 Megát nyomjon ki (a 6 Giga helyett):

    [norbi@sgu tcag]$ ./d10mega < hs_alt_Hs_Celera_chr2.fa > hs_alt_Hs_Celera_chr2.fa.10
    [norbi@sgu tcag]$ ls -l hs_alt_Hs_Celera_chr2.fa.10
    -rw-rw-r--. 1 norbi norbi 83886080 ápr    3 14.51 hs_alt_Hs_Celera_chr2.fa.1
    83886080/1024/1024 = 80!
    [norbi@sgu tcag]$ gcc -O3 z.c -o z -lm
    [norbi@sgu tcag]$ time ./z <hs_alt_Hs_Celera_chr2.fa.10

    melyseg=495
    altag=59.906339
    szoras=6.728059

    real    0m42.708s
    user    0m8.251s
    sys     0m34.162s
    [norbi@sgu tcag]$ time ./z3a <hs_alt_Hs_Celera_chr2.fa.10
    depth=495
    mean=59.9063
    var=6.72806

    real    0m13.074s
    user    0m12.971s
    sys     0m0.087s
    Láthatod, nem az O3 (mint az előző laboron....) valami más. Ha megmondod, mitől gyorsabb a C++ változat, adok egy trófeát.
     

7 komment

A bejegyzés trackback címe:

https://progpater.blog.hu/api/trackback/id/tr152795666

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

vlacka 2011.04.04. 16:25:21

Óra után(2től-4-ig) rohantam, haza, hogy meg csináljam a szórást leglaább 4ig.

Végül sikerült:

kepfeltoltes.hu/110404/szoras_www.kepfeltoltes.hu_.png

Rankerz 2011.04.05. 09:11:09

A polimorfizmus miatt gyorsabb?

MeMP!$ 2011.04.05. 09:21:52

Üdv!
Bíró Róbert vagyok. Ez lett a nicknevem.

ZrZ 2011.04.05. 14:39:27

Üdv!
A mai déli labor 4 kisbajnokságát erre a nicknévre szeretném feliratni.
Nagy Zoltán

nb · http://fersml.blog.hu 2011.04.07. 11:48:41

@Rankerz: itt nem is volt semmi virtual... elemezd a C és a C++ változatban a fa építését!
süti beállítások módosítása