1. feladat (nehézsége:*****). Készíts C programot, mely a felhasználó által megadott függvényt integrálja (numerikusan). Gondosan tervezd meg az adatstruktúrát! Tervezz egy megfelelő bemeneti nyelvet. alapműveletek, polinomok, a szokásos matematikai függvények (sin, log, exp stb.) és tetszőleges kombinációjuk kezelésére.
2. feladat (nehézsége:***). Készíts menüvezérelt C programot, mely amőbát játszik. Gondosan tervezd meg az adatstruktúrát! a játék adminisztrálására egy 13 13-as táblán, legalább 3 védekező és legalább 2 támadó stratégiát alkalmazni, állás elmentésére ill. visszatöltésére.
3. feladat (nehézsége:*). Készíts menüvezérelt C programot, mely a klasszikus ragadozó-préda (rókák és nyulak) problémát szimulálja. A modell konstansait egy file-ban tárold, és lehessen a programból változtatni őket. A modell leírását lásd a http://home.messiah.edu/~deroos/csc171/predprey/ppintro.htm címen. Legyen lehetőség: a populációk kezdőértének megadására tetszőleges időtartam megadására populáció-idő diagramm rajzolására 80X24-es karakteres képernyőn.
4. feladat (nehézsége:****). Készíts parancssorból hívható C programot, mely a kívánt távolsághoz kiszámítja a kilövési szöge(ke)t. A légellenállás nem elhanyagolható! Az ágyú és a lövedék adatait file-ban tárold! mindkét kilövési szöget megtalálni, a lövedék röppályáját megjeleníteni (80X24), állandó szél (1D) hatását figyelembe venni, a tárolt konstansokat változtatni.
5. feladat (nehézsége:*). Készíts menüvezérelt C programot, mely a Conway féle LIFE (életjáték) modellt valósítja meg. Részletek a http://ddi.cs.uni-potsdam.de/hyfisch/produzieren/lis_projekt/proj_gamelife/conwayscientificamerican.htm címen. 24 24-es élettéren, a felhasználó által, illetve file-ból beolvasott kezdeti állapotból indulni, a szimuláció folyamatos vagy lépésenkénti megjelenítésére.
6. feladat (nehézsége:***). Készíts menüvezérelt C programot, amely szöveget elemez: adatbázist épít a szavakból, és megszámlálja az előfordulásaikat. Csak egyszer olvasható végig a szöveg! Használj bináris fát (esetleg láncolt listát). statisztikát adni a szavakról, billentyűzetről és file-ból olvasni, egy elemzésben több file-t is vizsgálni, az eredményt file-ba írni.
7. feladat (nehézsége:*****). Készíts parancssorból hívható C programot, amely egyszerű standard Pascal programokat fordít C nyelvre. A program legyen képes az alábbi Pascal fordulatok kezelésére: globális / lokális változók, konstansok, értékadás, megjegyzések, beépített adattípusok, tömbök (1-től indexelt), rekordok, függvények, eljárások, valamennyi operátor, if-then-else, for, while, read, write, writeln, (csak stdin/stdout), pred, succ, ord, chr, odd, sqr, sqrt.
8. feladat (nehézsége:****). Készíts parancssorból hívható C programot, amely a Huffman kódoló algoritmust felhasználva tömörít file-okat. Részleteket lásd a http://lcm.csa.iisc.ernet.in/dsa/node88.html címen. Tervezz megfelelő fejléc formátumot a tömörítés kódtáblázatának tárolására. file-ok tömörítése, file-ok visszaállítása, a tömörítés iránya parancssor kapcsolóval legyen megadható.
9. feladat (nehézsége:**). Készíts parancssorból hívható C programot, amely Morze szövegeket kezel. Morze abc-t találsz pl. a http://www.scphillips.com/morse/morse2.html címen. Az abc-t file-ban tárold, és futás közben bináris fával reprezentáld! A program tudjon: szöveget Morzésítani Morze szöveget visszakódolni adjon statisztikát a karakterekről és a Morze jelekről (ti, tá). a konverzió iránya parancssor kapcsolóval legyen megadható.
10. feladat (nehézsége:****). Készíts parancssorból hívható C programot, amely nem korlátozott ábrázolási tartományú egész aritmetikát valósít meg. bevitelkor folytatósort kezelni (sor végén "\"), az öt egész alapművelet elvégzésére, ahogy a C-ben működik, gyökvonásra (egész közelítő eredmény).
11. feladat (nehézsége:***). Készíts menüvezérelt C programot, amely gázok keveredését szimulálja mikroszkópikusan, 2D-ban. Egy fallal két részre választott edény egyik felébe Na darab A gáz-, másik felébe Nb darab B gázmolekulát teszünk (véletlenszerű induló helyzetbe). Az egyes molekulák induló sebességét is sorsoljuk. A falon változtatható szélességű rés van. A programban legyen lehetőség: a gázok jellemzőit változtatni, a rés nagyságát módosítani, gázmolekulák ütközését is figyelembe venni, Na-t, Nb-t és a szimulált időtartamot minden futásnál megadni, Makroszkópikus eredményközlésre adott időközönként.
12. feladat (nehézsége:****). Készíts parancssorból hívható C programot, amely egy 2D-s naprendszert modellez (alapegyenlet+iteráció). Egy központi égitest körül bolygók keringenek. A bolygók nem hatnak egymásra. A naprendszer adatait file-ban tárold. A programban legyen lehetőség: a naprendszer file nevét paraméterként megadni a szimulált időtartamot paraméterként megadni, eredményközlésre adott időközönként (szintén paraméter) az eredményeket a bemenő file nevéből képzett kimenő file-ba írni.
13. feladat (nehézsége:**). Készíts menüvezérelt C programot, amely "rekordokban" tárolja bizonyos személyek nevét, foglalkozását, telefonszámát, esetleg más jellemző adatait. Valamilyen dinamikus adatszerkezetet használj! A program legyen alkalmas: új rekordok létrehozására, a régiek módosítására, a régiek törlésére, név, telefonszám, foglalkozás szerinti keresésre (részinformáció alapján is).
14. feladat (nehézsége:***). Készíts parancssorból hívható C programot, mely egy fonálinga mozgását szimulálja (alapegyenlet+iteráció), amíg az inga meg nem áll (az amplitúdó n-edrészére nem csökken). A fonál ideális, de a légellenállás nem elhanyagolható! parancssori paraméterként kapott adatokból számolni, file-ban tárolt adatokból számolni (ilyenkor a file neve a paraméter), amplitúdó idő függvényt megjeleníteni (80X24).