PLUSZ FEALADATOK

A lista feladatait bárki megoldhatja plusz pontért, a gyakorlat teljesítéséhez megoldásuk nem kötelező. Kérem, hogy ha valaki kiválaszt egy feladatot, jelezze nekem emailben, hogy ugyanazt a feladatot ne csinálják meg többen.

A több fős feladatokat csapatban kell csinálni, max annyian, ahány fő mellé van írva.

3. Filmfelirat konvertáló (3 fő)

Filmfelirat konvertáló és módosító program. Argumentumban megadott feliratfájl konverziót hajt végre, argumentumban megadott argumentum alapján. Képes legyen kétfajta felirat közül oda-vissza konvertálni (srt-sub), valamint a subot nyújtani-zsugorítani, tolni, valamint két tetszőlegesen megadott sor alapján (célszerűen az elejéről és a végéről) átszámolni az összes többi sort. Az fps-t (frame per secundum) kérje be. Az első argumentum a konverzió típusát határozza meg, utána a konvertálandó feliratfájlt adjuk meg, amit ellenőrizni kell (létező, olvasható textfájl legyen). A harmadik argumentum a módosítás mértéke (ha szükséges). Utolsó argumentum a kimeneti file legyen. Ez az argumentum opcionális, ha nincs megadva, akkor az output fájl neve legyen az input fájlnév egy "uj" szócskával kiegészítve. Ahol argumentumként számot vár ellenőrizzük, hogy valóban szám legyen. Pl1.:

$>felirat konv dune.srt

$>cat dune.srt

 

1

00:01:11,840 --> 00:01:13,280

Arrakis.

 

2

00:01:13,680 --> 00:01:14,800

Dűne.

 

$>cat dune.sub

{1796}{1832}Arrakis.

{1842}{1870}Dűne.

Pl2.:

$>felirat tol felirat.sub -2

2 sec tol viszafele (output file: feliratuj.sub)

Pl3.:

$> felirat nyujt felirat.sub 1.18

nyujtja a feliratot 1.18 szorosára. (29.5/25) (output file: feliratuj.sub)

Pl4.:

$> felirat igazit felirat.sub modosit

$> cat felirat.sub

 

{1796}{1832}Arrakis.

{1842}{1870}Dűne.

....

{90012}{90045}Örömmel.

 

$> cat modosit

{1821}{1857}Arrakis.

{106239}{106278}Örömmel.

 

$> cat feliratuj.sub           (úgy nyújtja és tolja, hogy a két sor megegyezzen, a többi)

{1821}{1857}Arrakis.           (pedig hozzá igazodik)

{2189}{2231}Dűne.

....

{106239}{106278}Örömmel.

 

18. Levél Script (2 fő)

A program háttérben futva figyelje a beérkező leveleket, ha a levél subject-je egy bizonyos előre (argumentumban) megadott szöveg, akkor a levél tartalmát az sh shell scriptnek veszi, azt végrehajtja, az outputját pedig elkapva visszaküldi a feladónak. A próbák során ne zavarjon másokat!

19. Deriválás (2 fő)

Írj programot, ami argumentumban megadott kifejezésnek kiszámolja a deriváltját. A program tudja kezelni az alábbi műveleteket, fogalmakat: osztás, szorzás, polinomok, sin, cos, zárójelezés. Pl:

     $>deriv sin^2((x^2-3x-5)/4)

 

     $>0.5*sin((x^2-3x-5)/4)*(2x-6)

 

     $>deriv sin^2((x^2-3x-5)/4)*cos(x^3-1)

 

22. Számológép

A shell script valósítsa meg egy számológép funkcióit. Végre tudja hajtani az alábbi műveleteket: összeadás, kivonás, osztás, szorzás, hatványozás, gyökvonás (nem csak négyzetgyök!). Tudjon értelmezni zárójeles kifejezéseket, és jelezze, ha szintaktikai hiba van a megadott argumentumban. Pl.:

$>calc

(33.45/(78*(12.5))

Zarojelezesi hiba! Kerem ellenorizze a nyito es zaro zarojeleket!

 

$>calc

(33.45^3-(57-3.2)/(78*(12.5^(-1.2))))

37413

 

27. Menetrend

Mondja meg a script, hogy mikor indul a legkozelebbi harom 22-es illetve 31-es busz az egyetemrol. Parameterkent lehessen megadni tetszoleges idopontot, olyankor ahhoz viszonyitson ne az aktualis idohoz. Kezelje le azt az esetet is ha mar csak masnap hajnalban indul busz. Illetve adjon tanacsot, hogy elerjuk-e a buszt, attol fuggoen, hogy hol vagyunk. A tartozkodasi helyunket is parameterkent kapja a szkript, legalabb a kovektezo heylszineket ismerje a program: "infoban", "rockyban", "menzan", "rockybanittasan", "koliban". Ha idopontnak "frissites"-t adunk meg, akkor a menetrend frissuljon webrol (mvkzrt.hu)!

15. C daraboló (2 fo)

A sh program adott C forrást tudjon feldarabolni a házi szabványnak megfelelően és készítsen hozzá Makefile-t is. A C forrás feldarabolásra vonatkozó szabályokat a házi szabványban lehet elolvasni. Tehát a függvények a main kivételével kerüljenek külön fájlba, és készüljön egy olyan Makefile is, ami gondoskodik a fordításról linkelésről stb.

16. Levél figyelő

Az sh alkalmazás a háttérben futva figyeli a felhasználó mailbox-át, és ha új levele érkezik egy pop-up window-ba (jelenjen meg) írja ki, hogy levele érkezett. Írja ki, hogy kitől és hogy mikor. Legyen lehetőség egy mail kliens indítására is.

17. Debian csomagok listája *

Debian alatt kérdezze le, mely csomagok vannak telepítve a gépre, írja ki ezen csomagok nevét formázottan, valamint azt is írja ki a program, hogy mely programokkal van függőségben egy adott csomag. Pl.

nparted : libc6, libnewt0, libparted1.4, libuuid1

nano    : libc6, libncurses5