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

From DiLab
Jump to: navigation, search
(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:

  1. 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ā
  2. Uzrakstīt vienu Makefile, kurā būtu aprakstīta:
    • C programmas būvēšanas komandas
    • abu programmu testēšanas komandas.
  3. 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