IF ELSEIF

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

IF ELSEIF

Beitrag von dyv (ForumUser / 53 / 18 / 0 ) »
Hallo zusammen,

könntet Ihr mir bitte helfen, diesen Code zu verstehen:

IF im_opn1 = 0.
ch_ergebnis = 0.
ELSEIF im_opn1 = 1.
ch_ergebnis = 1.
ELSEIF im_opn1 > 1.

v_it = im_opn1 - 1.

DO v_it TIMES.
ch_ergebnis = v_erstes_ergebnis + v_zweites_ergebnis.
v_zweites_ergebnis = v_erstes_ergebnis.
v_erstes_ergebnis = ch_ergebnis.
ENDDO.
ENDIF.

Ich bin durch die ELSEIF etwa vervierrt

Danke!

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: IF ELSEIF

Beitrag von a-dead-trousers (Top Expert / 4414 / 224 / 1186 ) »
Wenn "im_opn1" gleich 0 ist, ist "ch_ergebnis" auch 0
Wenn "im_opn1" gleich 1 ist, ist "ch_ergebnis" auch 1
Wenn "im_opn1" größer als 1 ist, wird (wenn mich nicht alles täuscht) über "ch_ergebnis" die Fibonacci-Folge erstellt.
(Und zwar "im_opn1 minus 1" mal)

lg ADT

EDIT: So wäre es vielleicht besser lessbar

Code: Alles auswählen.

IF im_opn1 = 0.
  ch_ergebnis = 0.
ELSEIF im_opn1 = 1.
  ch_ergebnis = 1.
ELSEIF im_opn1 > 1.
  v_it = im_opn1 - 1.

  DO v_it TIMES.
    ch_ergebnis = v_erstes_ergebnis + v_zweites_ergebnis.
    v_zweites_ergebnis = v_erstes_ergebnis.
    v_erstes_ergebnis = ch_ergebnis.
  ENDDO.
ENDIF.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
dyv

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: IF ELSEIF

Beitrag von black_adept (Top Expert / 4103 / 128 / 945 ) »
Solange die Variable v_erstes_ergebnis nicht irgendwann mal auf "1" gesetzt wird, bevor die DO-Schleife beginnt wird im letzten ELSEIF-Pfad immer "0" rauskommen.


P.S.
Falls man tatsächlich die Fibonacci-Folge erhalten will könnte man auch die explizite Formel von Moivre-Binet nehmen, die einem zum Eingabewert "n" das n-te Folgeglied zurückliefert
Bild

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
dyv

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Seite 1 von 1

Vergleichbare Themen

2
Antw.
406
Views
Die Elseif-Anweisung wird übersprungen
von TurgutOz » 16.09.2020 17:50 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor 3 Wochen von Manfred K. 1 / 3204
BUSOBJEKT zu CMIS PHIO ermitteln
vor 5 Wochen von snooga87 1 / 5013
aRFC im OO-Kontext
letzen Monat von ralf.wenzel 1 / 6060