Difference between revisions of "LU-LSP-b12:L01"
(New page: == Praktiskais darbs == Darbs ir paredzēts, lai iepazītos Linux kā izstrādes un testēšanas vidi. Šis darbs nav jāiesūta. Tas tiek veikts kopīgi, pārrunājot risināšanas gait...) |
|||
(One intermediate revision by the same user not shown) | |||
Line 13: | Line 13: | ||
#* abu programmu testēšanas komandas. |
#* abu programmu testēšanas komandas. |
||
# Nokompilēt un notestēt risinājumu. |
# Nokompilēt un notestēt risinājumu. |
||
Var pieņemt, ka būs ne vairāk kā 100 skaitļu. |
|||
Ievadpiemērs (test.txt): |
|||
10 20 30 40 50 60 70 80 90 100 110 |
|||
Korekts izvads uz ievadpiemēru: |
|||
110 100 90 80 70 60 50 40 30 20 10 |
|||
pd1.c: |
|||
<pre> |
|||
#include <stdio.h> |
|||
#define MAX_NUMBERS 100 |
|||
int main(void) |
|||
{ |
|||
int numbers[MAX_NUMBERS]; |
|||
int i; |
|||
// nolasam skaitljus |
|||
for (i = 0; i < MAX_NUMBERS; i++) { |
|||
int ret = scanf("%d", &numbers[i]); |
|||
if (ret != 1) break; |
|||
} |
|||
// tagad numbers[0] .. numbers[i-1] satur skaitljus. |
|||
// izdrukājam tos preteejaa seciibaa |
|||
for (i = i - 1; i >= 0; i--) { |
|||
printf("%d ", numbers[i]); |
|||
} |
|||
printf("\n"); |
|||
} |
|||
</pre> |
|||
pd1.sh |
|||
<pre> |
|||
#!/bin/sh |
|||
NUMBERS="" |
|||
read LINE |
|||
for n in $LINE; do |
|||
NUMBERS=$n" "$NUMBERS |
|||
done |
|||
echo $NUMBERS |
|||
</pre> |
|||
Makefile: |
|||
<pre> |
|||
all: |
|||
gcc pd1.c -o pd1 |
|||
test: |
|||
cat test.txt | ./pd1 | ./pd1.sh |
|||
</pre> |
Latest revision as of 16:57, 4 September 2012
Praktiskais darbs
Darbs ir paredzēts, lai iepazītos Linux kā izstrādes un testēšanas vidi.
Šis darbs nav jāiesūta. Tas tiek veikts kopīgi, pārrunājot risināšanas gaitu.
Uzdevums:
- Uzrakstīt divas programmas ar analogu funkcionalitāti:
- (C valodā) Ielasa skaitļu rindu un izdrukā skaitļus apgrieztā secībā
- (shell script) Ielasa skaitļu rindu un izdrukā tos apgrieztā secībā
- Uzrakstīt vienu Makefile, kurā būtu aprakstīta:
- C programmas būvēšanas komandas
- abu programmu testēšanas komandas.
- Nokompilēt un notestēt risinājumu.
Var pieņemt, ka būs ne vairāk kā 100 skaitļu.
Ievadpiemērs (test.txt):
10 20 30 40 50 60 70 80 90 100 110
Korekts izvads uz ievadpiemēru:
110 100 90 80 70 60 50 40 30 20 10
pd1.c:
#include <stdio.h> #define MAX_NUMBERS 100 int main(void) { int numbers[MAX_NUMBERS]; int i; // nolasam skaitljus for (i = 0; i < MAX_NUMBERS; i++) { int ret = scanf("%d", &numbers[i]); if (ret != 1) break; } // tagad numbers[0] .. numbers[i-1] satur skaitljus. // izdrukājam tos preteejaa seciibaa for (i = i - 1; i >= 0; i--) { printf("%d ", numbers[i]); } printf("\n"); }
pd1.sh
#!/bin/sh NUMBERS="" read LINE for n in $LINE; do NUMBERS=$n" "$NUMBERS done echo $NUMBERS
Makefile:
all: gcc pd1.c -o pd1 test: cat test.txt | ./pd1 | ./pd1.sh