Difference between revisions of "LU-LSP-b13:L02"
(→Praktiskais darbs #2) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
Ja izejas fails eksistē, tad jāuzprasa apstiprinājums, - vai tiešām to pārrakstīt? |
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 |
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 ieejas fails nav atrasts, lasīšana neizdevās, izejas failu nevar izveidot vai nevar atvērt rakstīšanas režīmā, rakstīšana tajā 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. |
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. |
||
Line 17: | Line 17: | ||
'''Jāiesniedz''': |
'''Jāiesniedz''': |
||
* C programmas pirmkods. |
* C programmas pirmkods. Faila nosaukums: LSP_PD2_vards_uzvards.c |
||
* Līdz PD beigām iesūtīt kas ir '''e-studijas.lu.lv''. |
|||
* 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 |
|||
Line 25: | Line 24: | ||
<pre> |
<pre> |
||
all: |
all: |
||
gcc main.c -o |
gcc main.c -o pd2 |
||
test: |
test: |
||
./ |
./pd2 test.in test.out |
||
gentest: |
gentest: |
||
Line 35: | Line 34: | ||
clean: |
clean: |
||
rm -f |
rm -f pd2 test.out |
||
</pre> |
</pre> |
Latest revision as of 17:37, 26 December 2017
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 ieejas fails nav atrasts, lasīšana neizdevās, izejas failu nevar izveidot vai nevar atvērt rakstīšanas režīmā, rakstīšana tajā 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. Faila nosaukums: LSP_PD2_vards_uzvards.c
- Līdz PD beigām iesūtīt kas ir 'e-studijas.lu.lv.
Makefile piemērs šim PD:
all: gcc main.c -o pd2 test: ./pd2 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 pd2 test.out