Difference between revisions of "LU-LSP-b12:L03"

From DiLab
Jump to: navigation, search
(New page: Realizēt '''efektīvu''' failu kopēšanas programmu. Programma pieņem divus argumentus: ieejas un izejas failu vārdi Ja izejas fails eksistē, tad jāuzprasa apstiprinājums, - vai t...)
 
 
Line 7: Line 7:
Veiksmīgas, pilnas faila nokopēšanas gadījumā programmai jābeidzas ar izejas kodu 0, pretējā gadījumā ar: kodu -1, piemēram, ja kāds no failiem nav atrasts, lasīšana neizdevās, rakstīšana neizdevās u.c. problēmas.
Veiksmīgas, pilnas faila nokopēšanas gadījumā programmai jābeidzas ar izejas kodu 0, pretējā gadījumā ar: kodu -1, piemēram, ja kāds no failiem nav atrasts, lasīšana neizdevās, rakstīšana neizdevās u.c. problēmas.


Viens no efektivitātes priekšnosacījumiem: optimāls (vai nosacīti tuvu optimālajam) bufera izmērs. Tomēr vērtējumu izliekot efektivitāte tiks pārbaudīta empīriski, mērot laika, kas vajadzīgs liela faila nokopēšanai.
Viens no efektivitātes priekšnosacījumiem: optimāls (vai nosacīti tuvu optimālajam) bufera izmērs. Tomēr vērtējumu izliekot efektivitāte tiks pārbaudīta empīriski: izmērot, cik daudz laika vajadzīgs liela faila nokopēšanai.


60% par korektumu, 40% par ātrdarbību (vērtē tikai tad, ja ir korekta).
60% par korektumu, 40% par ātrdarbību (vērtē tikai tad, ja ir korekta).

Latest revision as of 15:15, 25 September 2012

Realizēt efektīvu failu kopēšanas programmu.

Programma pieņem divus argumentus: ieejas un izejas failu vārdi

Ja izejas fails eksistē, tad jāuzprasa apstiprinājums, - vai tiešām to pārrakstīt?

Veiksmīgas, pilnas faila nokopēšanas gadījumā programmai jābeidzas ar izejas kodu 0, pretējā gadījumā ar: kodu -1, piemēram, ja kāds no failiem nav atrasts, lasīšana neizdevās, rakstīšana neizdevās u.c. problēmas.

Viens no efektivitātes priekšnosacījumiem: optimāls (vai nosacīti tuvu optimālajam) bufera izmērs. Tomēr vērtējumu izliekot efektivitāte tiks pārbaudīta empīriski: izmērot, cik daudz laika vajadzīgs liela faila nokopēšanai.

60% par korektumu, 40% par ātrdarbību (vērtē tikai tad, ja ir korekta).


Makefile piemērs šim PD:

all:
	gcc main.c -o pd3

test:
	./pd3 test.in test.out

gentest:
	dd if=/dev/urandom of=test.in count=2048
	dd if=/dev/urandom of=test-big.in count=204800

clean:
	rm -f pd3 test.out