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