IF ELSEIF Thema ist als GELÖST markiert

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 ) » 07.08.2014 14:37
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!


Re: IF ELSEIF

Beitrag von a-dead-trousers (Top Expert / 3538 / 114 / 918 ) » 07.08.2014 15:19
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.07
Basis: 7.40

Re: IF ELSEIF

Beitrag von black_adept (Top Expert / 3419 / 66 / 659 ) » 07.08.2014 16:26
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

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und besseren Inhalt:

Aktuelle Forenbeiträge

Wieso brauche ich hier Klammern?
vor 43 Minuten von IHe 2 / 14
SD-Konditionen auslesen
vor einer Stunde von Geggo74 1 / 8
SapScript Frage
Gestern von a-dead-trousers 2 / 54

Vergleichbare Themen

Die Elseif-Anweisung wird übersprungen
von TurgutOz » 16.09.2020 17:50