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

Variable Termanzahl

Hilfe beim Programmieren in Casio Basic.

Variable Termanzahl

Beitragvon Titek » So 3. Jun 2012, 19:31

Hallo, ich bin auf der Suche nach einer Erklärung, wie ich für meinen TR fs-9860GII programmiere, dass es mich abfrägt wieviele Terme ich habe und entsprechend mich die dafür benötigten Größen abfrägt.

Genug geredet nun mal konkret :D

Ich habe 2 feste Größen, die ich gleich am Anfang abfrage und in den Variablen A und I abspeichere.

Zudem habe ich eine 3x3 Matrix mit verschiedenen Formeln;
Je nach Fall muss das Programm mit der einen oder anderen Formel rechnen.
In den Formeln sind jeweils 2 Variablen, die mit jedem Term abgefragt werden.
Zudem kommt für die Endberechnung noch eine weitere Variable (Länge->L)

Nun brauche ich bspw. 5 Terme:
Ich frag die ersten beiden Variablen ab und speichere sie in A und I
Dann will ich, dass er mich abfrägt, wieviele Terme ich habe und
für jeden Term soll er mich dann abfragen,
welche Formel er aus der Matrix benutzen soll,
die beiden Variablen
und die Länge L

Alle Terme sollte er mir am besten einzeln ausgeben (evtl. mit den eingesetzen Werten)
und diese zu einem Gesamtergebins zusammenaddieren?

So ist das machbar oder ist es noch unklar, was ich will :D
Titek
 
Beiträge: 10
Registriert: So 3. Jun 2012, 19:09

Re: Variable Termanzahl

Beitragvon elias.koegel » Di 5. Jun 2012, 18:33

So ganz verstanden habe ich nicht, was du machen willst. Aber eine Frage solltest du unbedingt versuchen zu klären: Kann man irgendwie eine Formel in eine Matrix bekommen? Meines Wissens nämlich nicht (kenne die neuen Modelle nicht so gut.) Du müsstest wenn dann eine Switch-Case-Schleife oder viele If-Abfragen oder ähnliches machen, um die entsprechende Formel zu erzeugen. Aber erklär am besten dein Anliegen nochmal bissl genauer. Vielleicht auch mit einem konkreten Beispiel.
Benutzeravatar
elias.koegel
 
Beiträge: 296
Registriert: Mo 8. Dez 2008, 18:16
Taschenrechner: .
CFX 9850 GB+
FX 991s

Re: Variable Termanzahl

Beitragvon Titek » Mo 18. Jun 2012, 09:32

Vielen Dank für Deine Antwort

ich weiß auch nicht, ob man Formeln in einer Matrix speichern kann, aber das wär sowieso sekundär, den mit IF könnte ich es sowieso lösen, wär halt nur ein rießen code.


Zu meiner konkreten Frage:

Ich habe bspw. 5 Terme.
Ich kann jetzt programmieren, dass er mich die Daten, die er für die Berechnung für jeden einzelnen dieser 5 Termen braucht, abfrägt und am Ende die Ergebnisse der Terme zusammenaddiert.

Aber, wenn ich jetzt 6 Terme habe funzt meine Programmierung nicht mehr, deshalb brauch ich eine Lösung, um die Anzahl der Terme am Anfang abzufragen, damit er dann "selbstständig" die Abfragen für die Terme generiert.

Bsp: Term = a*b/c

Term 1: a=2, b=6, c=1
Term 2: a=3, b=5, c=2
Term 3: a=4, b=4, c=3
Term 4: a=5, b=3, c=4
Term 5: a=6, b=2, c=8

die werte für abc, sind meist unterschiedlich, hinzu zu dem ganzen kommt noch der faktor, dessen formel in der matrix stehen würde, falls es damit klappt, ansonsten werd ich es halt via if berechnen.

Ich hoffe mich etwas verständlicher ausgedrückt zu haben :D
Titek
 
Beiträge: 10
Registriert: So 3. Jun 2012, 19:09

Re: Variable Termanzahl

Beitragvon Anderesio » Di 19. Jun 2012, 12:33

So wie ich das verstanden habe,
hast du einen Term, für den verschiede Variabeln (a, b, c) deklariert werden.
Dann wird das Ergebnis berechnet, und du willst die Variabeln anschließend neu deklarieren, und dieses Ergebnis anschließend mit dem alten Ergebnis zu addieren.
Das Ganze willst du nicht nur 5-mal machen können, scondern auch öfters.

Wenn dem so ist (kA, obs ich richtig verstanden habe xD), dann kann man das so implementieren:

Code: Alles auswählen
"ANZAHL DER RECHNUNGEN"
?\->N
"WELCHER TERM (NR.)":?->T
0\->S
\For 1\->I \To N
"A":?\->A
"B":?\->B
"C":?\->C
T=1\=>S+(A*B/C)\->S
Next
"DEIN ERGEBNIS"
S\Disp


Deinen Term (a*b)/c habe ich hier die Nummer "1" gegeben.
Falls du andere Terme hast, kannst du die noch nach dem gleichen Muster
Code: Alles auswählen
T=<term_nummer>\=><dein_term>

eingefügt werden.

Vielleicht habe ich deine Frage auch völlig falsch verstanden xD
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: .
fx-9750GA PLUS
fx-9860G SD
ClassPad 300

Re: Variable Termanzahl

Beitragvon Titek » Mi 20. Jun 2012, 09:32

Vielen Dank und ich glaub Du hast es schon richtig verstanden :)

Ich habe das jetzt programmiert,
aber er gibt mir ein "Syntax ERROR"
schon gleich bei
Code: Alles auswählen
"ANZAHL DER RECHNUNGEN"
?\->N

Der cursor befindet sich zwischen dem ? und \ also ---> ?|\

Ich habs auch mit einem : vor dem ? probiert aber es kommt der gleiche Fehler.
Titek
 
Beiträge: 10
Registriert: So 3. Jun 2012, 19:09

Re: Variable Termanzahl

Beitragvon Anderesio » Mi 20. Jun 2012, 09:49

Tschuldigung^^

Das "\" bedeutet, dass nun ein Befehl kommt, der aus mehreren Zeichen besteht, um Verwechslungen zu vermeiden xD
Das "\" gibt es so nicht im GTR, du hast sicherlich das "/" (Bruchstrich) genommen^^

Also meint man mit "\->" einfach den Zuweisungspfeil [->] .
Das ist ein Befehl, der sich aus mehreren Zeichen zusammensetzt: "-" und ">"
Diese Schreibweise wird man öfters finden^^

Das "\Disp" ist einfach der Disponse-Befehl, also das hier: [DISP]
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: .
fx-9750GA PLUS
fx-9860G SD
ClassPad 300

Re: Variable Termanzahl

Beitragvon Titek » Mi 20. Jun 2012, 10:07

Danke für die Aufklärung :)
Ich hatte allerdings vom CHAR, SYBL den Backslash verwendet :D

Code: Alles auswählen
"ANZAHL DER RECHNUNGEN"
?\->N
"WELCHER TERM (NR.)":?->T
0\->S
\For 1\->I \To N
"A":?\->A
"B":?\->B
"C":?\->C
T=1\=>S+(A*B/C)\->S
Next
"DEIN ERGEBNIS"
S\Disp


Also ich habe jetzt die ganzen Backslashes weg und nochmal getestet.
Nach der Eingabe der ersten Parameter für den ersten Term, gibt er mir ein Fehler am Ende aus (S|[DISP])
Ob wohl ich am Anfang bei der Abfrage "ANZAHL DER RECHNUNGEN" 7 schreibe :s
Titek
 
Beiträge: 10
Registriert: So 3. Jun 2012, 19:09

Re: Variable Termanzahl

Beitragvon Anderesio » Mi 20. Jun 2012, 18:06

Also bei mir funktionier es.
Hast du auch das richtige Zeichen am Ende verwendet?

Die letzte Zeile sieht dann so aus:

S [DISP]
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: .
fx-9750GA PLUS
fx-9860G SD
ClassPad 300

Re: Variable Termanzahl

Beitragvon Titek » Mi 20. Jun 2012, 18:25

Bei mir schaut der code etwas komplizierter aus, mit IF und Then. Wenn du willst, kann ich den ja mal hochladen?!
Titek
 
Beiträge: 10
Registriert: So 3. Jun 2012, 19:09

Re: Variable Termanzahl

Beitragvon Anderesio » Mi 20. Jun 2012, 22:26

jo, mach das mal,
vielleicht verbirgt sich der Fehler ja auch woanders.
Denn bei größeren Programmen springt der Cursor oftmals nicht an die Stelle, wo der Error verursacht wurde.
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: .
fx-9750GA PLUS
fx-9860G SD
ClassPad 300

Nächste

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast