Scilab / Matlab: Kennt sich damit wer aus?

Theees

verifiziertes Mitglied
Registriert
25. Nov. 2007
Beiträge
4.250
Real Name
Thies
Hallo zusammen,

für Informatik 1 müssen wir in Scilab einen Rechner Programmieren der uns ausgibt wieviele Fussballspiele gespielt werden wenn man als Variable zwischen 2 und 10 Mannschaften eingibt.

Funktioniert soweit auch... Nachdem ein Informatik-Tutor aufgegeben hat und ein zweiter auch eine halbe Stunde nach dem Tutorium weiter programmiert hat :ugly:

Nur eine "Funktion" fehlt mir noch. Nachdem ich z.B. 5 Mannschaften eingegeben habe, und mir das Programm 10 Spiele ausspuckt, was ja auch richtig ist, muss ich das Programm immer wieder neu starten um nochmal eine andere Variable zu testen.

Gibt es da nicht einen Befehl das das Programm automatisch nach jeder Eingabe neu startet? Einen Loop oder Return Befehl?

Google macht mich nicht schlau...

Hier mal mein aktueller Code:

Code:
// Praktikumsaufgabe

Mannschaften=input("Wie viele Mannschaften Spielen?")

if(  Mannschaften < 2 )then
    printf("Zu dem Tournier müssen min. 2 Mannschaften angemeldet sein");
else if( Mannschaften <= 10) then
    Spiele=factorial(Mannschaften) / [2*factorial(Mannschaften-2)];
    printf("Es werden %d Spiele gespielt", Spiele);

else
    printf("Zu dem Tournier sind nicht mehr als 10 Mannschaften zugelassen");
end

end

Ich weiss, die If then else Verschachtelung ist irgendwie verwirrend. Aber es funktioniert NUR so. Logische Befehle rafft dieses Programm irgendwie nicht :wall:

Gruß Thies
 
Um nicht immer neu starten zu müssen kannst das ganze z.B. in eine while-Schleife ohne Bedingung setzen. Die Läuft dann immer wieder durch. Zum Beenden brauchst dann noch ne Bedingung die einen Break auslöst. So würde ichs zumindest in C schreiben, obs mit Scilab/Matlab klappt weiß ich nicht.

Grüße Florian
 
Hi,

danke für den Tip.

While Schleife klingt schonmal gut. Nur finde ich in Google nicht wie man so einen Befehl in meinen Code einbaut ohne das dieses rotzige Programm direkt abschmiert :(

Wenn da noch jemand was weiss, oder weiss wo es steht wäre es super!

Gruß Thies
 
Moin Thees,

ich habe die Sprache zwar noch nie gesehen, aber kurz Recherche ergab:

Einlesen: http://help.scilab.org/docs/5.3.1/en_US/input.html
While-Schleife: http://help.scilab.org/docs/5.3.1/en_US/while.html
Break: http://help.scilab.org/docs/5.3.1/en_US/break.html

Von der Abfolge her würde ich das so bauen:

Code:
while true
 // Einlesen der Zahl
 // Überprüfen ob "exit" eingegen wurde. Falls ja, dann mit break abbrechen. Ansonsten deinen Code ausführen.
end

Vielleicht hilft dir das ja weiter. ;)

Viele Grüße,
Benny
 
Zurück
Oben Unten