| Autor |
Beitrag |
   
panda1 (Panda1)
| | Veröffentlicht am Sonntag, den 02. Februar, 2003 - 11:06: | |
es soll ein programm erstellt werden in dem rechtecke/parallelogramme aus Sternchen(*)ausgegeben werden(programmname DOPPELSCHLEIFE) In der prozedur eingabe sollen die höhe und die breite der figur abgefragt werden. Die prozedur ausgabe soll dann so viele sternchen nebeneinander setzen,wie in breite angegeben ist;außerdem soll sie so viele (sternchenreihen *)untereinander setzen,wie in höhe eingelesen wurde. Die lösung soll mit hilfe einer DOPPELSCHLEIFE formuliert werden (also einer schleife in einer schleife)-dabei kommt der schreibbefehl write('*')nur ein einziges mal vor(zusammen mit dem cursorsetzbefehl) Im hauptprogramm werden beide prozeduren so oft aufgerufen,bis für breite der wert 0 eingegeben wird,danach soll auf tastendruck gewartet werden... in einem 2schritt soll dann mit denselben eingaben ein parallelogramm aus sternchen(*)gebildet werden;dazu muss eine zweite ausgabeprozedur hinzu kommen,die gegenüber der ersten nur an einer stelle ein wenig geändert werden muss in einem dritten schritt soll neben der breite und der höhe auch die art der ausgabe abgefragt werden(rechteck oder parallelogramm);je nach wahl soll dann durch eine case-anweisung im hauptprogramm die eine oder die andere art der darstellung auf dem bildschirm erscheinen;auch das programmende kann nun über die variable wahl gesteuert werden. Ich versteh das nicht einer von euch vielleicht? |
   
cogitoergosum
| | Veröffentlicht am Dienstag, den 04. Februar, 2003 - 9:12: | |
Da ich nicht weis, wie du mit deiner Programmiersprache die verschiedenen Befehle umsetzen kannst, soll die folgende Lösung nur ein Ansatz für den Lösungsalgorithmus sein, den du auf deinen Befehlssatz anpassen musst (gerade in Bezug auf die Angabe der Cursorstelle, wenn horizontal und vertikal zusammen angegeben werden müssten (goto oder so???)): In der Eingabe-Prozedur werde die Breite b in Sternchen und die Höhe h in Sternchen eingegeben. In der inneren Schleife der Doppelschleife muss der write (*)-Befehl und der Cursorsetz-Befehl enthalten sein, denn diese Befehle müssen immer wieder ausgeführt werden.Die innere Schleife gibt also immer eine Zeile mit b Sternchen aus: Solange x<=b, write (*), x++ (erhöhe x um 1 nach Schleifendurchlauf). ==> x sei hierbei die horizontale Stelle, an der sich der Cursor befindet, Startstelle=1. In der aüßeren Schleife muss die Anzahl, in der die innere Schleifen komplett ausgeführt werden soll, festgelegt werden, d. h. hier konkret, dass die Anzahl der Sternchenzeilen festgelegt wird (= h): vertikale stelle y=1, solange y<=h, y++. in die äußere Schleife wird die innere eingebettet: Prozedur Ausgabe: horizontale Stelle = x =1, vertikale = y=1 solange y<= h, y++{ solange x<=b, x++ { write (*); } } Für das Parallelogramm muss die x-Stelle des Cursors immer in jeder Zeile um eins ein-/ausgerückt werden: innere Schleife: solange (x=x+1)<= (b=b+1),..... Bie der Wahl der Ausgabe lasse den Benutzer z. B. für Parallelogramm p, Quadrat q eingeben, trenne Quadrat und Parallelogramm in Unterschiedliche Ausgabeprozeduren und wähle durch die case-Anweisung bei Eingabe des entsprechenden Buchstabens die entsprechende Prozedur. |
   
panda1 (Panda1)
| | Veröffentlicht am Dienstag, den 04. Februar, 2003 - 19:41: | |
die sprache ist turbo pascal;borland pascal.wäre nett wenn das jemand schaffen würde und mir einen quelltext schreibt |
|