LU-LSP-b12:L01
Jump to navigation
Jump to search
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