Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Algorithmen (http://www.informatikerboard.de/board/board.php?boardid=17)
----- If und for-Schleifen ? (http://www.informatikerboard.de/board/thread.php?threadid=4237)


Geschrieben von Emily_9393 am 03.11.2019 um 17:05:

  If und for-Schleifen ?

Meine Frage:
Hallo :-)
Ich habe folgende Aufgabe:
Geben Sie alle ungraden Zahlen im Bereich von 1 bis (einschließlich) 123 aus, die nicht durch 29 teilbar sind. Nutzen Sie dazu eine for-Schleife und eine oder mehrere if-Anweisungen.

Meine Ideen:
Ich bin bei dieser Aufgabe bisschen überfragt, da ich keine wirklich Ahnung habe, wie ich den Code zuschreiben habe.
Jedoch habe ich bisschen recherchiert und weiß wie man ungefähr zu gehen hat.
Ich dachte an:
for i in range (1,123);
print str (i)
if ((i+2 % 29 ==0);
print 'teilbar'

Leider heißt es, dass ich somit die ungeraden Zahlen ausgebe, welche durch 29 teilbar sind, obwohl die Aufgaben genau das Gegenteil haben möchte...

Kann mir jemand helfen ?

Wäre für jede Hilfe dankbar :-)



Geschrieben von ed209 am 03.11.2019 um 17:32:

 

Du hast nicht geschrieben welche Programmiersprache du benutzt, aber ich gehe mal davon aus dass dein Code als Python Programm laeuft.
Zuersteinmal solltest du die Semikolon durch Doppelpunkte ersetzen, damit das Programm überhaupt läuft.
Und wenn ich mir die If-Bedingung anschaue dann sagt sie "Wenn i plus der Rest von 29 durch 2 Null ist", was niemals wahr ist.
Für die neue Bedingung können wir in drei Schritten vorgehen. Wie würdest Du die folgenden Bedingungen schreiben?

1.) i ist ungerade
2.) i ist nicht durch 29 teilbar_
3.) i ist ungerade und nicht durch 29 teilbar.

Gruss,
ED



Geschrieben von Emily_93 am 03.11.2019 um 17:56:

 

Ehrlich gesagt hat unser Prof. seit neustem seine eigene Sprache entwickelt mit welcher wir arbeiten müssen -> TScript, was aber trotzdem der Sprache C++ ähneln soll.

Ich bin dabei was auszuprobieren, aber ich verstehe nicht warum das nicht funktioniert. Bis jetzt habe ich:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
var n=1;
var div =0;
for var n in 0:124 do
{
  if (n=n+2) % 29 != 0 then # Modulo-Operator
  {
    print (n);
  }
}

traurig



Geschrieben von ed209 am 03.11.2019 um 18:49:

 

Du machst es nicht gerade einfach Dir zu helfen. Erst gibst du eine Lösung in der einen Sprache, dann gibst du Du eine Lösung in einer anderen die vermutlich keiner hier kennt.
Gleichzeitig gehst Du nicht auf meine Lösungshinweise ein.

Es würde helfen wenn du ein bisschen mehr Details gibt, zum Beispiel wie Du glaubst deine Lösung funktionieren sollte und wie sie funktioniert.

Gruss,
ED


Forensoftware: Burning Board, entwickelt von WoltLab GmbH