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

Egy mindenkiért, mindenki a Pi-ért

2011.03.14. 13:59 nb

Velünk van az erő, hiszen máskülönben hogyan esett volna az elosztott Pi számolási napunk éppen a nemzetközi Pi-napra! Kurzusunkban kerestük már Isten üzenetét a Pi BBP algoritmussal bontott hexa jegyeiben, azokat összevetettük a humán genom 2 kromoszómájának átkódolt jegyeivel vagy éppen megtudtuk, hogy programozónak a Pi  lényegében érdektelennek számít, hiszen nem (Solomonoff-Chaitin-Kolmogorov) véletlenek a jegyei, bezzeg a Chaitin Omega!

A mai napon annak a nyolc hallgatónak a vadászszerencsééért szoríthatunk, akik azért gyűltek ma össze, hogy a 4 trófeás elosztott számítási vadat elejtsék. Most "a gép forog, az alkotók pihennek, este ötig jár majd a második emeleti laborokban tengelyén".

Folyamatosan tájékoztatjuk az érdeklődőket, most kezem az enteren, hogy az elvárt 1 óra 59-kor publikáljam a posztot...

Kisbajnokságok

Az 1 és a 4 trófeás vadak között a második hullámban.

6 komment

Címkék: pi bbp programozó páternoszter elosztott számítások

"Hey, Mikey, he likes it! Ready for more?" (2) *

2011.03.12. 11:43 nb

Íme a második hullám, de élvezd az elsőt is, még számos fraktálos, genomos, fehérjés és mindenféle 1-7 trófeás vad les itt is, a korábbi hullámban Rád! (Ha mást nem mondunk, akkor a szokásos "hegylakó szabály" van: csak egy maradhat, azaz az első vadászé a trófea.)

9 kisbajnokságos feladatok

8 kisbajnokságos feladatok

7 kisbajnokságos feladatok

  • (KÉSZ) A MINIX mikrokernel aktuális (vagy valamelyik korábbi) verziójában nyomkövesd, hogy melyik processz hány üzenetet küldött a többinek? (részletes, step by step help itt)
  • (KÉSZ) Az előző feladat alternatív megoldását készíts el (nem a PCB módosítása, hanem felmásoló rendszerhívás írása) (részletes, step by step help itt)
  • (KÉSZ) Az 5. előadás PolarGen osztályához készíts egy Qt-s hisztogramot, hogy ellenőrizni tudd, kiadja-e a haranggörbét! (help: www.tankonyvtar.hu/informatika/javat-tanitok-1-1-1-080904-1, a "1.19. példa - Hisztogram feladat")
  • (ÉLES) írj egy Qt-s Xterm-et! (help OSS*** könyv 284. o., l. a 6. előadás ajánlott irodalmát)

6 kisbajnokságos feladatok

5 kisbajnokságos feladatok

  • (KÉSZ) A PP 277 alapján írj egy saját egyszerű BogoMIPS programot!
  • (ÉLES) K&R feladat: 8.5 gyakorlat
  • (KÉSZ) OO-sítsd a Mandelbrotos szál osztályt komplex számok használatával, pl.:
    ... for(int k=0; k<szelesseg; ++k) {
                // c = (reC, imC) a háló rácspontjainak
                // megfelelõ komplex szám
    
                reC = a+k*dx;
                imC = d-j*dy;
    
                std::complex<double> c(reC, imC);
                // z_0 = 0 = (reZ, imZ)
    
                reZ = 0;
                imZ = 0;
    
                std::complex<double> z_n(reZ, imZ);
    
                iteracio = 0;
                // z_{n+1} = z_n * z_n + c iterációk
                // számítása, amíg |z_n| < 2 vagy még
                // nem értük el a 255 iterációt, ha
                // viszont elértük, akkor úgy vesszük,
                // hogy a kiinduláci c komplex számra
                // az iteráció konvergens, azaz a c a
                // Mandelbrot halmaz eleme            
                /*
                while(reZ*reZ + imZ*imZ < 4 && iteracio < iteraciosHatar) {
                    // z_{n+1} = z_n * z_n + c
                    ujreZ = reZ*reZ - imZ*imZ + reC;
                    ujimZ = 2*reZ*imZ + imC;
                    reZ = ujreZ;
                    imZ = ujimZ;
    
                    ++iteracio;
    
                }
                */
    
                while( std::abs(z_n) < 4 && iteracio < iteraciosHatar) {
                   z_n = z_n  * z_n + c;
                   ...
    
    s vesd össze a segességet a korábbival.
  • (ÉLES) A deriváló progit írd át úgy, hogy lehessen benne tetszőleges számokat használni, illetve a függvényeket a nevükkel, pl. sin, exp, pow stb.

4 kisbajnokságos feladatok

  • (KÉSZ) A pi-napi elosztott számítás eredménye részszámításonként egy-egy állomány a szerveren, írj olyan programot, ami ezeket a megfelelő sorrendben (ami a fájlnévből derül ki) összefésüli egyetlen állománnyá!
  • (ÉLES) K&R feladat: 4.6 gyakorlat
  • (KÉSZ) K&R feladat: 4.7 gyakorlat
  • (ÉLES) K&R feladat: 4.8 gyakorlat
  • (KÉSZ) Eddigi valamelyik olyan példánkba, ahol ki tudsz találni értelmes parancssor argumentumokat, oda dolgozz be ilyen átvételt:
    #include <stdio.h>
    #include <stdlib.h>

    int
    main (int argc, char *argv[])
    {
      char c;
      int iteracios_hatar;
      double a;

      while (--argc && *(*++argv) == '-')
        {
          switch (c = *((*argv++) + 1))
            {
            case 'i':
              iteracios_hatar = atoi (*argv);
              printf ("%d\n", iteracios_hatar);
              break;
            case 'a':
              a = atof (*argv);
              printf ("%f\n", a);
              break;
            default:
              printf ("%c ismeretlen opcio, hasznalat: ./pa -i 10 -a 5.5\n", c);
              return -1;
              break;
            }
          --argc;
        }
      return 0;
    }
  • (KÉSZ) K&R feladat: 5.14 gyakorlat

3 kisbajnokságos feladatok

2 kisbajnokságos feladatok

  • (KÉSZ) Írj egy SMTP levélküldő progit! (help: PP 137, onnan tudom, hogy sikerült, ha kapok egy mailt az országgyűlés elnökétől a kover.laszlo@parlament.hu email címről :)
  • (KÉSZ) Írd át az 5. előadás "Visszatekintés" fóliái alapján az első g.c-t C++-be úgy, hogy a szabványos adatfolyamokat (cin, cout) használod!
  • (KÉSZ) Az 5. előadás PolarGen osztályával generált számok átlagát és szórását számold ki!
  • (KÉSZ) Írj olyan programot, ami számolja a bemenetén a betűket, használd a lex-et, lásd 1. ea.
  • (KÉSZ) Írj olyan programot, ami számolja a bemenetén a számokat (nem a számjegyeket), használd a lex-et, lásd 1. ea.
  • (KÉSZ) Írj olyan programot, ami számolja a bemenetén a szavakat, használd a lex-et, lásd 1. ea.
  • (KÉSZ) Írj olyan programot, ami számolja a bemenetén a sorokat, használd a lex-et, lásd 1. ea.
  • (KÉSZ) K&R feladat: 2.3 gyakorlat
  • (KÉSZ)  Rajzolj Qt-s ablakba egy sakktáblát (az ablak konstruktorában kapja meg a kezdeti cella szélességet és magasságot) (help bevezetes/elsoQt/AreciboiUzenet az svn-ből).
  • (KÉSZ)  Rajzolj Qt-s ablakba egy sakktáblát (az ablak konstruktorában kapja meg a kezdeti cella szélességet és magasságot) (help bevezetes/elsoQt/AreciboiUzenet az svn-ből) a cellák méretét lehessen növelni/csökkenteni a K, N gombokkal (az előző és a Sejtauto-s hasonló bill. lenyomás figyelő kizáró feladatok).
  • (KÉSZ)  Rajzolj Qt-s ablakba egy malomtáblát (az ablak konstruktorában kapja meg a méret adatokat) (help bevezetes/elsoQt/AreciboiUzenet az svn-ből).
  • (KÉSZ) Rajzolj Qt-s ablakba egy malomtáblát (az ablak konstruktorában kapja meg a méret adatokat) (help bevezetes/elsoQt/AreciboiUzenet az svn-ből) a tábla méretét lehessen növelni/csökkenteni a K, N gombokkal (az előző 2 és a Sejtauto-s hasonló bill. lenyomás figyelő kizáró feladatok).
  • (ÉLES) A deriváló progit egészítsd ki osztással.
  • (ÉLES) A deriváló progit egészítsd ki olyan függvénnyel, ami még nincs benne (és amivel kommentként más még nem).

1 kisbajnokságos feladatok

  • (KÉSZ) Írj olyan függvényt, ami felcseréli hívója két egész változójának értékét, de nincs a forrásszövegben csillag! (help: 5. ea.)
  • (KÉSZ) Írj olyan progit, ami kiírja a környezeti változóit, de ne legyen benne getenv fgv. hívás! (help: PP 272, XIII.4.2 char **environ vagy man environ)
  • (KÉSZ) A pi-napi elosztott számítás eredményét ellenőrizd szúrópróba szerűen néhány helyen a progpater.blog.hu/2011/02/25/kapcsolat_isten_uzenete posztban mutatott pi.nersc.gov/ lappal.
  • (KÉSZ)  Az 5. előadás PolarGen osztályával generált számok átlagát számold ki!
  • (KÉSZ)  K&R feladat: 2.2 gyakorlat
  • (KÉSZ) A deriváló progit egészítsd ki kivonással.

Figyelem: élő közösségként, a vadászattal együtt élve tudjátok, hogy melyik feladat ÉLES, melyik kész, mert nem mindig tudom időben frissíteni!

Ha megtetszik egy feladat, de nem tudsz belekezdeni, vagy elakadtál, bátran kommenteld!

*: www.imsdb.com/scripts/Matrix,-The.html

**: Benedek Zoltán, Levendovszky Tihamér: Szoftverfejlesztés C++ nyelven, Budapest, 2007, Szak K.

***: Alan Ezust, Paul Ezust: An Introduction to Design Patterns in C++ with Qt 4, Prentice Hall (Open Source Series) 2006

283 komment

Címkék: vadászat

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