BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak |
Nappali tagozat
2001/2002. tanév, tavaszi félév
|
A kis házi feladat beadása nem kötelező.
Mindkét programot tömörítve, elektronikus levélben kell beküldeni. Mindkettő
beküldéséhez ugyanazt a bash
szkriptet
kell használni, külön-külön. A szkriptet futtatni a bash
dpkhfbe.02s
paranccsal lehet (feltéve, hogy ezen a néven mentettük el).
Figyelem! Az ural2
szerveren a /usr/local/bin
könyvtárban található a bash
program.
A szkript elinduláskor elmagyarázza a teendőket (mi legyen az adott könyvtárban, milyen néven stb.). Mielőtt valaki hibára panaszkodna, győződjön meg róla, hogy a hiba az ural2.hszk.bme.hu szerveren is reprodukálható.
A programok készülhetnek MS DOS vagy MS Windows alatt is, de Unix (linux) operációs rendszer alatt is működniük kell.
sorosszeg/2
Prolog-eljárást ill.
sorosszeg
SML-függvényt, amely egész számok listáinak
összeglistáját képezi. Az összeglista az a lista, amelynek i. eleme a
számlisták i. elemének összege.
A segédeljárásokat feltétlenül lássa el fejkommenttel! Törekedjék arra, hogy a megoldás hatékony legyen! Vigyázzon arra is, hogy a megoldás ne sikerüljön többszörösen!
% sorosszeg(+Listak, -Osszeg): Osszeg a Listak számlisták összeglistája, % amelynek i-edik eleme a számlisták i-edik elemének összege. % % :- pred sorosszeg(list(list(integer))::in, list(integer)::out).
| ?- sorosszeg([], Ossz). Ossz = [] ? ; no | ?- sorosszeg([[]], Ossz). Ossz = [] ? ; no | ?- sorosszeg([[1,2,3]], Ossz). Ossz = [1,2,3] ? ; no | ?- sorosszeg([[11,22,33], [], [2,1]], Ossz). Ossz = [13,23,33] ? ; no | ?- sorosszeg([[1,1], [1,-1]], Ossz). Ossz = [2,0] ? ; no
A segédfüggvényeket feltétlenül lássa el fejkommenttel! Törekedjék arra, hogy a megoldás hatékony legyen!
(* sorosszeg Listak = a Listak számlisták összeglistája, amelynek i-edik eleme a számlisták i-edik elemének összege. sorosszeg : int list list -> int list *)
- sorosszeg []; > val it = [] : int list - sorosszeg [[]]; > val it = [] : int list - sorosszeg [[1,2,3]]; > val it = [1, 2, 3] : int list - sorosszeg [[11,22,33], [], [2,1]]; > val it = [13, 23, 33] : int list - sorosszeg [[1,1], [1,~1]]; > val it = [2, 0] : int list
Ez az második Prolog és az első SML kis házi feladat,
ezért khf-pl2.pl
ill. khf-ml1.sml
néven, külön-külön kell beküldeni a megoldást.
A beadási határidő 2002. április 2. kedd, 24:00.
A vizsgaosztályzat megállapításakor a határidőre beadott, helyesen megoldott kis házi feladatért plusz 1 pont jár.