noqqe


blog | sammelsurium | projects | about

Bash | Scripting-Aufgabe @ School

2010-05-22 @ aufgabe, bash, development, linux, rechner, schule

Wie erwähnt, gab es gestern den Test in Anwendungsentwicklung.

Aufgabenstellung: Erstelle ein Skript “rechner”, welches 2 Parameter aufnimmt und über Abfrage innerhalb des Skriptes den Modus auswählbar macht. Folgende Modi und Funktionen müssen enthalten sein:

Modus 1: Multiplikation Usage: ./rechner 1  2 Ausgabe: Das Ergebnis von 1 * 2 = 2

Modus 2: Counter Usage: ./rechner 2 8 Ausgabe : 2-3-4-5-6-7-8

Formatierung muss genau der Vorgabe entsprechen. Außerdem darf der erste Parameter nicht größer als der Zweite sein und falsche Modi-Angabe mit Fehler gemeldet werden.

Ich muss für meinen Teil ganz ehrlich sagen, dass das wohl ein noch viel unsinnigeres Programm ist. Wenn ich auch glaube, dass es einfach nur um die Erfüllung bestimmter Umstände geht. Der Rest ist anscheinend ziemlich egal.

Gelöst habe ich das ganze wie folgt:

#!/bin/bash
i=$1
if [ $1 -gt $2 ]; then echo "Falscheingabe" ;  exit 200; fi

echo "Multiplikation = 1"
echo "Einserschritte = 2"
echo -n "Modus eingeben:" ; read modus

if [ $modus -eq 1 ] ; then
        echo -n "Die Multiplikation aus $1 * $2 = "; expr $1 * $2
elif [ $modus -eq 2 ] ; then
        while [ $i -lt $2 ] ; do
        echo -n  "$i-"
        i=$[$i+1]
        done
        echo "$2"
else
        echo "Falscheingabe"
fi

Und wie von@nicohofmann prophezeit: Die 1 ;)

Comments (4)

nicohofmann on 2010-05-22T13:59:08
Glückwunsch - aber Hauptsache man kann alles mit 1 multiplizieren. Macht wirklich Sinn die Aufgabe :D

noqqe on 2010-05-22T14:15:58
thihi .. na klar :D aber hat seinen zweck erfüllt gottseidank :)

Holger on 2010-05-22T14:48:10
Mir wurden für meine Mehrarbeit 2 Pkt. abgezogen. War dann halt leider nur die 1-. Aber egal :) Auch nochmal Grats an dich, Flo. Good Arbeit und good Qualität.

Nephilim on 2012-04-17T10:08:25
Hi, ich bin am scripten lernen, aber recht unkreativ, daher auf der Suche nach Vorschlägen. Anschließend auf das hier gestoßen. Da man sich hier nicht anmelden brauch teile ich meine Ergebnisse natürlich gerne. Im Prinzip, das selbe nur etw. angepasst: