Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Hilfe zum Cobol Programm

Empfohlene Antworten

Veröffentlicht

Hallo,

ich hoffe das ich hier richtig bin, unser Lehrer kam in den Unterricht und schrieb an die Tafel:

SUMME:=1-2+3-4+5-6+7-8+9-10

Aufgabe: Schreibt einen PAP + Struktogramm.

Am Ende der Stunde hatten wir mitm Lehrer das hier ausgearbeitet:

plusmin.gif

Dann sagte er uns: Macht euch Gedanken wie das Programm jetzt umgesetzt werden könnte. Das hab ich getan:

Viscob und vclinkx sagten "keine fehler" aber beim ausführen hab ich nurn schwarzes DOS fenster und es hängt sich auf.

Kann jmd vllt einen Blick darauf werfen und mir vllt helfen

Danke im Voraus

Grüße

Marc

Mein Code


      *************************************

       identification             division.

      *************************************

       program-id.                 plusmin.

       author.                      M.Otte.


      *************************************

       environment                division.

      *************************************


      *************************************

       data                       division.

      *************************************

       working-storage             section.

       01 summe    pic S99.

       01 i        pic S99.

       01 schalter pic   9.


      *************************************

       procedure                  division.

      *************************************

       anfang.

           display spaces erase.

           move 0 to summe.

           move 0 to schalter.


           perform varying i from 1 by 1 until i > 10

           if schalter = 0

                       then add summe to i

                          move 1 to schalter

                            else if schalter = 1

                              then subtract i from summe

                                 move 0 to schalter

                                 end-if

           end-if

           end-perform.

           display summe.

       ende.

           stop run.

then add summe to i
Das ist das Problem. Das muss add i to summe heißen.

Bei dir passiert folgendes:

Beim 1. Durchlauf (i=1) wird summe (0) zu i addiert, i bleibt 1.

Beim 2. Durchlauf (i=2) wird 2 von summe abgezogen, summe wird -2.

Beim 3. Durchlauf (i=3) wird summe (-2) zu i addiert, i ist wieder 1 (!)

Beim 4. Durchlauf (i=2) wird 2 von summe abgezogen, summe wird -4.

Beim 5. Durchlauf (i=3) wird summe (-4) zu i addiert, i wird -1

Beim 6. Durchlauf (i=0) wird 0 von summe abgezogen, summe bleibt -4.

Beim 7. Durchlauf (i=1) wird summe (-4) zu i addiert, i wird -3

Beim 8. Durchlauf (i=-2) wird -2 von summe abgezogen, summe wird -2.

Beim 9. Durchlauf (i=-1) wird summe (-2) zu i addiert, i wird -3

Beim 10. Durchlauf (i=-2) wird -2 von summe abgezogen, summe wird 0.

Beim 11. Durchlauf (i=-1) wird summe (0) zu i addiert, i bleibt -1.

Beim 12. Durchlauf (i=0) wird 0 von summe abgezogen, summe bleibt 0.

Beim 13. Durchlauf (i=1) wird summe (0) zu i addiert, i bleibt 1.

Nach dem 13. Durchlauf ist das Programm im selben Zustand wie nach dem 1. Durchlauf -> Endlosschleife.

P.S.: Verschoben -> Delphi/RPG+CL/Sonstige ;)


           perform varying i from 1 by 1 until i > 10

           if schalter = 0

                       then add summe to i

                          move 1 to schalter

                            else if schalter = 1

                              then subtract i from summe

                                 move 0 to schalter

                                 end-if

           end-if

           end-perform.

           display summe.

       ende.

           stop run.
versuchs mal so...:

	perform vaying i from 1 by 1 until i <= 10

	if schalter = 0

		then 

			add i to summe

			move 1 to schalter

		else

			if schalter = 1

				then subtract i from summe

				move 0 to schalter

			end-if

	end-if

	end-perform.

	display summe.

	ende.

	stop run.

also bei ende. und stop run. bin ich mir nicht sicher....kenns nur mit end-section. oder nur end. ka.

bye

Das ist das Problem. Das muss add i to summe heißen.

Bei dir passiert folgendes:

Beim 1. Durchlauf (i=1) wird summe (0) zu i addiert, i bleibt 1.

Beim 2. Durchlauf (i=2) wird 2 von summe abgezogen, summe wird -2.

Beim 3. Durchlauf (i=3) wird summe (-2) zu i addiert, i ist wieder 1 (!)

Beim 4. Durchlauf (i=2) wird 2 von summe abgezogen, summe wird -4.

Beim 5. Durchlauf (i=3) wird summe (-4) zu i addiert, i wird -1

Beim 6. Durchlauf (i=0) wird 0 von summe abgezogen, summe bleibt -4.

Beim 7. Durchlauf (i=1) wird summe (-4) zu i addiert, i wird -3

Beim 8. Durchlauf (i=-2) wird -2 von summe abgezogen, summe wird -2.

Beim 9. Durchlauf (i=-1) wird summe (-2) zu i addiert, i wird -3

Beim 10. Durchlauf (i=-2) wird -2 von summe abgezogen, summe wird 0.

Beim 11. Durchlauf (i=-1) wird summe (0) zu i addiert, i bleibt -1.

Beim 12. Durchlauf (i=0) wird 0 von summe abgezogen, summe bleibt 0.

Beim 13. Durchlauf (i=1) wird summe (0) zu i addiert, i bleibt 1.

Nach dem 13. Durchlauf ist das Programm im selben Zustand wie nach dem 1. Durchlauf -> Endlosschleife.

P.S.: Verschoben -> Delphi/RPG+CL/Sonstige ;)

aber nicht solange i < 10 ist, da passiert naemlich gar nix, glaub ich ^^ kann mich natürlich irren^^

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.