[Basic] Taschen Rechner ...

Christian14s

Projekt:BagRechner
12 November 2008
22
0
Hallo Liebe Community , ich schreibe im moment per GWBASIC einen Taschen Rechner ^^

Ich fange gerade erst damit an mit GWBASIC zu arbeiten...

Ich habe es geschaft das er : (+) (-) (*) (/) kann ....

Nun möchte ich ja auch das er mehr kann als nur die wie oben genanten Standart Funktionen :=)

Ich möchte das er : Wurzeln,Prozente würden mir schon reichen ....

Hier schonmal das was ich schon geschaft habe :


PHP:
10 CLS
20 PRINT "1 Addition             2 Subtraktion"
22  Z%=X%-Y%
30 PRINT
40 PRINT "3 Multiplikation       4 Division"
51 PRINT
52 PRINT "5 Quadratwurzel
54 PRINT
60 INPUT "w„hlen:" ; S%
100 IF S%=1 THEN GOTO 110
101 IF S%=2 THEN GOTO 200
102 IF S%=3 THEN GOTO 300
103 IF S%=4 THEN GOTO 400
104 IF S%=5 THEN GOTO 500
110 INPUT "1.Summand:";X%
120 INPUT "2.Summand:";Y%
125 Z%=X%+Y%
130 PRINT "Die Summe ist gleich "; Z%
140 END
200 INPUT "1.Summand:";X%
210 INPUT "2.Summand:";Y%
220 Z%=X%-Y%
230 PRINT "Die Summe ist gleich"; Z%
240 END
300 INPUT "1.Summand:";X%
310 INPUT "2.Summand:";Y%
320 Z%=X%*Y%
330 PRINT "Die Summe ist gleich"; Z%
340 END
400 INPUT "1.Summand:";X%
410 INPUT "2.Summand:";Y%
420 Z%=X%/Y%
430 PRINT "Die Summe ist gleich"; Z%
440 END
500 INPUT "1.Summand:";X%
510 INPUT "2.Summand:";Y%
530 Z%=x%SQRTY%
540 PRINT "Die Summe ist gleich"; Z%
550 END


Ab 500 ist der versuch gewesen für Wurzeln nicht wundern^^
Reihe 22 , macht kein problem die kann so stehen bleiben ^^



Wie oben schon gesagt möchte ich ihn erweitern , nun wollte ich euch nach hilfe fragen ob mir jemand sagen kann was alles möglich ist (rechnenarten)
Und mir sagen wie ich die hinzufügen ....


MfG: Christian ...

PS: Danke im voraus :=)
 
Prinzipiell is alles möglich. Die Frage is nur, was die Sprache schon nativ hergibt.
Aus meiner QBASIC-Zeit - dürfte mit GWBASIC relativ vergleichbar sein - kenn ich die Wurzel als SQR().

Grundsätzlich kannst du aber mit ein wenig algorithmischen Know-How beliebige Rechenoperationen von Sinus, Cosinus, bis hin zu komplexen Differentiationen und Integralen berechnen.
 
PHP:
500 INPUT "1.Summand:";X% 
510 INPUT "2.Summand:";Y% 
530 Z%=x%SQRTY% 
540 PRINT "Die Summe ist gleich"; Z% 
550 END
Das ist der Teil den ich fürs Wurzel rechnen habe...

Wie du meintes kennst du es ja mit SQR
Also müsste es ja so ausehen ^^


PHP:
500 INPUT "1.Summand:";X% 
510 INPUT "2.Summand:";Y% 
530 Z%=x%SQRY% 
540 PRINT "Die Summe ist gleich"; Z% 
550 END

Aber wie in Zeile 530 steht , kann das was ich da gemacht ja nicht richtig sein weil man ja beim Wurzel rechnen ja nicht 2 Summand braucht sondern nur eine....
Also dan müsste es so sein oder :

PHP:
500 INPUT "1.Summand:";X% 
530 Z%=x%SQRT
540 PRINT "Die Summe ist gleich"; Z% 
550 END
Weis jemand wie das nun genau richtig ist ?

===================

Könnte % Rechnung so ausehen :

PHP:
500 INPUT "1.Summand:";X% 
510 INPUT "2.Summand:";Y% 
530 Z%=x%/%Y%
540 PRINT "Die Summe ist gleich"; Z% 
550 END

----

Auch nochmal danke an "theHacker"

MfG: Christian14s

PS: Danke im voraus ^^

Aber wie in Zeile 530 steht , kann das was ich da gemacht ja nicht richtig sein weil man ja beim Wurzel rechnen ja nicht 2 Summand braucht sondern nur eine....
Also dan müsste es so sein oder :
 
Zuletzt bearbeitet:
Habe ich gemacht , ich muss aber den 2.Summand raus nehmen oder ?
Weil bei Wurzel braucht man ja nicht 2 ......

Wen ich z.B: bei 1.Summand und bei 2.Summand 123 eingebe bekomme ich :
als ergebnis 11 ---- ob das nun richtig ist weis ich nicht (hoffe es aber :=)

EDIT: Habe mal im Windows Rechner nachgeschaut und wen ich 123 eingebe und dan auf die Taste 123 drücke kommt das ergebnis 11 raus ...

Also müsste das richtig sein :=)
Vielen dank an tleilax :=)

MFG: Christian14s
 
Zuletzt bearbeitet:
Jo, der 2. Summand müsste dann raus - wobei es ja auch gar kein Summand mehr ist.

Und so ganz haut das mit den Werten nicht hin, aber ich denke, das kann man vernachlässigen:

sqrt(123) = 11.0905365

Solange Du keine Nachkommastellen brauchst, passt das also... ;)
 
ne die brauche ich (eigentlich )nicht :=)

Aber wen man das machen kann das die auch angezeigt werden wehre das auch nicht so schlecht :=)
 
Habe ich gemacht , ich muss aber den 2.Summand raus nehmen oder ?
Weil bei Wurzel braucht man ja nicht 2 ......
Eine Wurzel hat keine Summanden, sondern nur einen Radikanden (und falls keine Quadratwurzel einen Wurzelexponenten; sonst ist er 2) ;)

Wegen der Nachkommastellen:
Das %-Suffix bezeichnet einen kleinen Ganzzahlstyp (wohl vergleichbar mit short).

Wenn du Nachkommastellen haben willst, musst du Fleißkommatypen einfacher (!) oder doppelter Genauigkeit (#) verwenden (entsprechend float bzw. double).
 
Eine Wurzel hat keine Summanden, sondern nur einen Radikanden (und falls keine Quadratwurzel einen Wurzelexponenten; sonst ist er 2) ;)

Wegen der Nachkommastellen:
Das %-Suffix bezeichnet einen kleinen Ganzzahlstyp (wohl vergleichbar mit short).

Wenn du Nachkommastellen haben willst, musst du Fleißkommatypen einfacher (!) oder doppelter Genauigkeit (#) verwenden (entsprechend float bzw. double).


Also ich habe ja : Z%=SQR(X%)
Also wen ich es jetzt richtig verstanden habe (Was ich hoffe) soll ich es so machen :

  1. Z%=SQR(X!)
  2. Z%=SQR(X#)

/\
|_ Eins der oberen richtig ???

Weil ich habe es nicht so janz richtig verstanden ....

MfG: Christian14s
 
Und nur mal am Rande, wo der "Summand" ja schon angesprochen wurde...

Eine "Summe" ist auch lediglich das Ergebnis einer Addition. Bei einer Subtraktion z.B. heisst das Ergenbnis "Differenz" ;)

Gruß Aru
 
Außerdem heißt die Zahl,von der etwas abgezogen wird Minuend

Das kannst du dann bei
200 INPUT "1.Summand:";X%
ändern.

Übrigens :

Faktor X * Faktor Y = Produkt
Dividend X / Divisor Y = Wert des Quotienten

Vielleicht könntest du noch eine If Abfrage einbauen.Denn der Divisor darf nicht null sein.
 
Ganz einfach: Wenn ich in Zeile 410 bei der Eingabe ne Null angebe, kackt dein Programm ab.
 
Achso so , darüber disskutiert ihr ^^ Ich wusste nicht wie ihr auf einmal drauf kamt irgentwas mit 0 zu teilen ^^

Aber wer gibt schon 12 : 0 ein ?

Jeder weis das dass nicht geht .........