Difference between revisions of "LU-LSP-b13:L02"
(New page: Realizēt efektīvu failu kopēšanas programmu. * Brīva izvēle, kādas funkcijas vai sistēmas izsaukumus lietot * Ja lieto C bibliotēkas iebūvēto buferēšanu, bufera izmērs jāuzs...) |
|||
Line 1: | Line 1: | ||
== Praktiskais darbs #2 == |
|||
Realizēt efektīvu failu kopēšanas programmu. |
Realizēt efektīvu failu kopēšanas programmu. |
||
* Brīva izvēle, kādas funkcijas vai sistēmas izsaukumus lietot |
* Brīva izvēle, kādas funkcijas vai sistēmas izsaukumus lietot |
||
Line 12: | Line 14: | ||
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). |
||
'''Jāiesniedz''': |
|||
* C programmas pirmkods. |
|||
* Fails sūtāms pa epastu piekabē, ar sekojošu "Subject:" LSP PD2 vards uzvards |
|||
* Iesūtīt uz adresi atis punkts elsts pie gmail.com līdz nodarbības beigām |
|||
Revision as of 15:04, 24 September 2013
Praktiskais darbs #2
Realizēt efektīvu failu kopēšanas programmu.
- Brīva izvēle, kādas funkcijas vai sistēmas izsaukumus lietot
- Ja lieto C bibliotēkas iebūvēto buferēšanu, bufera izmērs jāuzstāda atšķirīgs no noklusētā!
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).
Jāiesniedz:
- C programmas pirmkods.
- Fails sūtāms pa epastu piekabē, ar sekojošu "Subject:" LSP PD2 vards uzvards
- Iesūtīt uz adresi atis punkts elsts pie gmail.com līdz nodarbības beigām
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