Zum Inhalt springen

Hilfe zum Cobol Programm


Marc Otte

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen


           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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...