Turmrechner mit for in C?

3 Antworten

Wenn ich das richtig verstehe wird da erst mal aufsteigend mit der Zählvariable multipliziert und dann ebenfalls aufsteigend dividiert.

Klar dass man dann zwei FOR Schleifen hintereinander schreibt. Aber natürlich geht es auch mit einer! Diese Kunst war früher mal wichtig als man noch mit diskret aufgebauten Digitalschaltungen hantiert hatte. Da hatte dann z.B. eine Ampelschaltung einen Taktgeber mit nachgeschaltetem Binärzähler. Und von diesem Zähler waren dann alle Funktionen (Ampelphasen) abgeleitet.

Das selbe kann man hier machen, eine Schleife die doppelt so weit zählt und dann in der Schleife eine Fallunterscheidung ob Multiplikation oder Division.

Hier also wenn das von 2 bis 9 gemacht werden soll die Schleife von 2 bis 18 laufen lassen und wenn <10, dann multiplikation ELSE division machen. Bei der Division natürlich 8 abziehen damit man wieder von 2 an aufwärts dividiert wird.

Mit zwei Schleifen würdest Du wohl zuerst mit 2...9 multiplizieren, danach durch 9...2 dividieren.

Wenn Du nur eine Schleife verwenden darfst, laufe von i=2 bis 17. Falls i≤9 ist, multiplizierst Du mit i, und dahinter dividierst Du durch (19–i).

Wenn die Turmhöhe h variabel ist, laufe von i=2 bis (2*h-1) und multipliziere nur im Fall i≤h. Sonst dividiere durch (2*h+1-i).

(Blöde Aufgabe!)


ralphdieter  05.01.2021, 12:22

Korrektur:

Anscheinend wird auch im zweiten Teil durch 2...9 (aufsteigend) dividiert. Der Divisor in der Schleife ist damit (i–8), allgemein (i–h+1).

0
Cammio 
Fragesteller
 05.01.2021, 12:23
@ralphdieter

Dankesehr, das hat mir wirklich weitergeholfen!

0

Ich weiß nicht, was ein "Turmrechner" ist.

Vielleicht magst Du einmal Dein Flussdiagramm posten, wie Du es Dir vorstellst. Dann haben wir beide etwas davon.

Woher ich das weiß:Berufserfahrung – ich arbeite schon sehr lange im EDV Bereich, viele Sparten