Í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