www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "BASIC" - Source Code
Source Code < BASIC < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Source Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:21 Sa 29.03.2014
Autor: Mathics

Liebes Forum,

ich habe hier einen Source Code und verstehe ihn nicht so ganz:


Function algA (a As Integer, b As Integer, c As Integer) As Boolean
       Dim return As Boolean
       return = False
       If a <= b Then
                   If (c>=a) And (c<=b) Then
                           return = True
                   End If
       Elself (c>b) And (c<a) Then
                    return = True
       End If
       algA = return
End Function


Für mich bedeutet das:
- Ich habe 3 Variablen a,b,c jeweils Integer als Input und suche einen Output als    
  Boolean
- Ich setze meinen return zunächst als Falsch (Könnte ich das auch weglassen?)
- Ich prüfe ob a <=b gilt und falls dann auch c >=a und c<=b also zwischen c  
   zwischen a und b liegt, ist mein return True.
- Wieso kommt jetzt ein End If statt Else? Weil man sich denken kann, dass,  
  wenn c nicht kleiner gleich b und größer gleich a ist, der return False sein  
  muss?
- Bedeutet das Elself einfach Else oder wieso heißt es anders? Meint das Elself  
   den Fall a > b? Könnte ich dann auch Elself/Else a > b Then und dann  
   dadrunter If (c > b) And (c<a) schreiben?


LG
Mathics




        
Bezug
Source Code: Antwort
Status: (Antwort) fertig Status 
Datum: 11:47 Sa 29.03.2014
Autor: Diophant

Hallo,

> Liebes Forum,

>

> ich habe hier einen Source Code und verstehe ihn nicht so
> ganz:

>
>

> Function algA (a As Integer, b As Integer, c As Integer) As
> Boolean
> Dim return As Boolean
> return = False
> If a <= b Then
> If (c>=a) And (c<=b) Then
> return = True
> End If
> Elself (c>b) And (c<a) Then
> return = True
> End If
> algA = return
> End Function

>
>

> Für mich bedeutet das:
> - Ich habe 3 Variablen a,b,c jeweils Integer als Input und
> suche einen Output als
> Boolean
> - Ich setze meinen return zunächst als Falsch (Könnte
> ich das auch weglassen?)

Vermutlich ja, aber dann verlässt man sich auf den Compiler. Deklarieren musst du die Variable return jedoch, also weist man ihr eben gleich einen Wert zu (den sie vermutlich sowieso nach der Deklaration hätte).

> - Ich prüfe ob a <=b gilt und falls dann auch c >=a und
> c<=b also zwischen c
> zwischen a und b liegt, ist mein return True.
> - Wieso kommt jetzt ein End If statt Else? Weil man sich
> denken kann, dass,
> wenn c nicht kleiner gleich b und größer gleich a ist,
> der return False sein
> muss?

Nein, sondern schlicht und ergreifend um die innere If-Struktur zu schließen. Das sind die Sachen die in Sprachen wie C++ einfach per Klammer erledigt werden, in Basic braucht es dazu traditionell ein Schlüsselwort.

> - Bedeutet das Elself einfach Else oder wieso heißt es
> anders?

Das heißt ElseIf und leitet eine neue If-Struktur ein, die nur ausgeführt wird, wenn der Wert der vorangehenden False war.

> Meint das Elself
> den Fall a > b?

Nein, denn sonst wäre es unnötig.

> Könnte ich dann auch Elself/Else a > b

> Then und dann
> dadrunter If (c > b) And (c<a) schreiben?

Man kann vermutlich auch ein Else setzen und darunter eine neue If...End If-Struktur. Aber genau um das zu vermeiden, also für eine bessere Übersicht, gibt es ja ElseIf.

Es wäre hilfreich, wenn du bei solchen Rückfragen ein wenig dazu sagen könntest, wo du das her hast. Hast du das selbst geschrieben, oder besteht die Aufgabe darin, den Code zu interpretieren?

Irgendwie soll ja untersucht werden, ob c zwischen a und b liegt. Das ist hier nach dem Motto Warum einfach, wenn es auch umständlich geht? umgesetzt und dabei ist auch noch die Verwendung von < und <= völlig inkonsistent.

Gruß, Diophant

Bezug
                
Bezug
Source Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:01 Sa 29.03.2014
Autor: Mathics


> > Meint das Elself
>  > den Fall a > b?

>  
> Nein, denn sonst wäre es unnötig.

Für welchen Fall steht Elself denn? Also wenn a  <= b ist, aber c nicht >= a und c<=b ist, müsste, wenn gilt c>b und c<a doch a>b sein oder nicht?

LG
Mathics

Bezug
                        
Bezug
Source Code: Antwort
Status: (Antwort) fertig Status 
Datum: 12:12 Sa 29.03.2014
Autor: Diophant

Hallo,

>

> > > Meint das Elself
> > > den Fall a > b?
> >
> > Nein, denn sonst wäre es unnötig.

>

> Für welchen Fall steht Elself denn?

Nochmal, es heißt

ELSEIF

Und es wird nur wirksam, wenn a>b ist (das habe ich schon in mieiner vorigen Antwort geschruieben!) und prüft eben die Bedingung, die dahinter steht.

Es ist sehr schwierig, dir zu helfen, weil man nicht so recht versteht, was du eigentlich wissen möchtest. Könntest du da vielleicht ein wenig strukturierter vorgehen?

Gruß, Diophant

Bezug
                                
Bezug
Source Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:22 Sa 29.03.2014
Autor: Mathics

Entschuldige bitte, ich habe es total missverstanden, was schon damit anfing, dass ich nicht gesehen habe, dass es ELSEIF also (Else und If) heißt. Es handelt sich also um eine Bedingung im Else Teil. Entschuldige meine Ungenauigkeit!

D.h. im Endeffekt wird einfach nur überprüft, ob c zwischen a und b liegt, oder?


LG
Mathics

Bezug
                                        
Bezug
Source Code: Antwort
Status: (Antwort) fertig Status 
Datum: 12:32 Sa 29.03.2014
Autor: Diophant

Hallo,

> Entschuldige bitte, ich habe es total missverstanden, was
> schon damit anfing, dass ich nicht gesehen habe, dass es
> ELSEIF also (Else und If) heißt. Es handelt sich also um
> eine Bedingung im Else Teil. Entschuldige meine
> Ungenauigkeit!

>

> D.h. im Endeffekt wird einfach nur überprüft, ob c
> zwischen a und b liegt, oder?

Ja, wobei eben die strikten Ungleichheiten in der ElseIf-Struktur im Widerspruch zu den <=-Relationen der ersten If-Struktur stehen. Das ergibt für mich keinen Sinn. Ist es vielleicht ein Tippfehler?

Gruß, Diophant

Bezug
                                                
Bezug
Source Code: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 12:39 Sa 29.03.2014
Autor: Mathics


> Ja, wobei eben die strikten Ungleichheiten in der
> ElseIf-Struktur im Widerspruch zu den <=-Relationen der
> ersten If-Struktur stehen. Das ergibt für mich keinen
> Sinn. Ist es vielleicht ein Tippfehler?

Meinst du, dass im ElseIf- Teil auch a >=b möglich sein müsste und damit (c >=b) And (c<=a)?


LG
Mathics




Bezug
                                                        
Bezug
Source Code: Antwort
Status: (Antwort) fertig Status 
Datum: 12:46 Sa 29.03.2014
Autor: Diophant

Hallo,

> > Ja, wobei eben die strikten Ungleichheiten in der
> > ElseIf-Struktur im Widerspruch zu den <=-Relationen der
> > ersten If-Struktur stehen. Das ergibt für mich keinen
> > Sinn. Ist es vielleicht ein Tippfehler?

>

> Meinst du, dass im ElseIf- Teil auch a >=b möglich sein
> müsste

Hä?

Das hatten wir doch schon. Die ElseIf-Struktur wird überhaupt nur durchgeführt, wenn die vorangehende If-Abfrage mit False ausgewertet wurde. Das ist der Fall a>b. Punkt.

> und damit (c >=b) And (c<=a)?

Es würde mehr Sinn ergeben, wenn die Bedingung im ElseIf-Teil so ausgeführt wäre. Insgesamt hätte man dann geprüft, ob c zwischen a und b leigt, wobei c=a oder c=b zulässig sind. Möchte man letzteres nicht, dann bräuchte es eben im inneren If...Then und im ElseIf-Teil eine strikte Kleiner-Relation.

Gruß, Diophant

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "BASIC"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.vorhilfe.de