Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

Funktionen

Hilfe beim Programmieren in Casio Basic.

Funktionen

Beitragvon CPT2000 » Fr 4. Mai 2012, 07:13

Hallo zusammen und eine kleine Frage ;-)

Das Programm "bsp" berechnet einen Wert und speichert ihn in der Variable x

Nach Ausführung des programms kan ich auf den Wert über die Variable zugreifen

Gibt es eine Möglichkeit, das Programm wie eine Funktion mit Rückgabewert auszustatten, so dass ich in einem anderen programm

über bsp()-->y auf den berechneten Wert zugreifen kann?

Danke für Eure Hilfe
CPT2000
 
Beiträge: 10
Registriert: Fr 4. Mai 2012, 07:06
Taschenrechner:

Re: Funktionen

Beitragvon Anderesio » Fr 4. Mai 2012, 16:27

Der Wert bleibt so lange in dieser Variabel gespeichert, bis du der Variabeln einen neuen Wert zuweist.
X und Y nutze ich eher selten, der Wert beim Aurufen von Grafik-Funktionen (Graph Zeichnen, Maxima, etc) eventuell verfälscht werden könnte.
Wenn du weißt, dass dein gewünschter Wert in der Variabel A gespeichert ist, kannst du ganz normal in einem anderen Programm mit A weiterrechnen.
Genieße den heutigen Tag,
denn mit dem heutigen Tag,
beginnt der Rest deines Lebens
Benutzeravatar
Anderesio
 
Beiträge: 158
Registriert: Di 30. Nov 2010, 20:41
Taschenrechner:

Re: Funktionen

Beitragvon CPT2000 » Fr 4. Mai 2012, 20:07

X und Y waren ja auch nur Beispielvariable

klar geht das ... aber eleganter ist es wenn man häufig benutzte Algorithmen in eine Subroutine auslagert ... am besten in eine Funktion
CPT2000
 
Beiträge: 10
Registriert: Fr 4. Mai 2012, 07:06
Taschenrechner:

Re: Funktionen

Beitragvon Anderesio » Sa 5. Mai 2012, 10:31

Kann man auch machen.
Dann machst du deinen Algorithmus als ein Extra Programm und merkst dir die Variabeln, die dort verwendet werden.
dabei kannst du dieses Programm innerhlab anderer Programme aufrufen,
mittels dem Befehl Prog "<Programm-Name>"
[SHIFT] [VARS] [F2] [F1] CTL->Prog
Ähnlich den Funktionsaufruf in C/C++

Oder habe ich deine Frage missverstanden?
Genieße den heutigen Tag,
denn mit dem heutigen Tag,
beginnt der Rest deines Lebens
Benutzeravatar
Anderesio
 
Beiträge: 158
Registriert: Di 30. Nov 2010, 20:41
Taschenrechner:

Re: Funktionen

Beitragvon CPT2000 » Sa 5. Mai 2012, 20:03

Ähm ... ja.

Klar, du hast recht. Ich möchte nur gern den Schritt "merke die Variable" weglassen ...

also es gibt z.B. den Befehl binomialPD um Wahrscheinlichkeiten auszurechen, nach dem Aufruf muss man noch die Variable "prob" aufrufen, um die gesuchte Wahrscheinlchkeit zu erfahren also

binomialpd ... <exe> <done>

prob <exe>

neu ist der befehl binomialPDf, der sofort den gesuchten Wert liefert, ohne den Aufruf der Variable "pro"

Also, meine Frage: kann ich aus dem Programm xyz eine wie im Bsp eine funktion xyzf machen
CPT2000
 
Beiträge: 10
Registriert: Fr 4. Mai 2012, 07:06
Taschenrechner:

Re: Funktionen

Beitragvon Anderesio » Sa 5. Mai 2012, 21:55

Ach das meinst du.

Das ist mir nicht bekannt, dass CasioBASIC diese Funktion unterstützt.
Konkrete Funktionen gibt es hier nicht, dafür kann man Sub-Programme einbinden.
Allerdings können Sub-Programme, anders als Funktionen, mehrere Werte als Rückgabe liefern.
Dadurch müssen diese Werte widerum mit konkreten Variabel-Namen beschreiben werden.

Es muss lediglich am Ende jedes Sub-Programms dein Wert in eine Variabel geschrieben werden.
Also den Schritt, eine extra Variabel anzulegen, zu überspringen, ist nicht möglich.
Genieße den heutigen Tag,
denn mit dem heutigen Tag,
beginnt der Rest deines Lebens
Benutzeravatar
Anderesio
 
Beiträge: 158
Registriert: Di 30. Nov 2010, 20:41
Taschenrechner:

Re: Funktionen

Beitragvon CPT2000 » So 6. Mai 2012, 12:43

Geht nicht? - Schade, aber danke für Deine Auskunft. Dann halt über die Variablen
CPT2000
 
Beiträge: 10
Registriert: Fr 4. Mai 2012, 07:06
Taschenrechner:

Re: Funktionen

Beitragvon CPT2000 » Mo 7. Mai 2012, 19:48

Sorry - ich schon wieder - es geht nämlich doch: ;-)
triviales Beispiel, um das Prinzip zu demonstrieren:


Programm doppel
local z
2*x⇒z
return z

Aufruf in main:

doppel(8) liefert sofort 16
CPT2000
 
Beiträge: 10
Registriert: Fr 4. Mai 2012, 07:06
Taschenrechner:

Re: Funktionen

Beitragvon Anderesio » Di 8. Mai 2012, 11:08

Das geht?!

:lol: Das wusste ich noch gar nicht, aber schön, wieder etwas dazugelernt zu haben.
Genieße den heutigen Tag,
denn mit dem heutigen Tag,
beginnt der Rest deines Lebens
Benutzeravatar
Anderesio
 
Beiträge: 158
Registriert: Di 30. Nov 2010, 20:41
Taschenrechner:

Re: Funktionen

Beitragvon 3298 » Di 8. Mai 2012, 18:07

Also, in dem CasioBasic, das ich kenne, gibt es kein "local". Das muss also für den Classpad sein, und das Basic ist ganz anders als das der anderen Rechner (also anders als das, was viele hier als CasioBasic kennen). Auf allen Rechnern, die nicht Classpad heißen, gibt es deshalb auch kein "return", dass irgendetwas zurückgeben kann, und auch kein "<Programmname>(<Parameter>)", sondern "Prog <Programmname>".
(Aber Anderesio, du als einer der Classpad-Besitzer hier (laut deiner Taschenrechnerliste) müsstest das eigentlich gewusst haben... :lol:)
Und als kleiner Hinweis für weitere Fragen: Es hilft, wenn man bei einer Frage den Taschenrechnertyp erwähnt. Aber das vergessen viele.
3298
 
Beiträge: 137
Registriert: Di 23. Dez 2008, 12:51
Taschenrechner:

Nächste

Zurück zu Casio Basic (Alle Modelle, die dies unterstützen)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste