Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.10.2008, 13:23 Titel: Rechenknecht v1a |
|
|
Mit folgendem Programm kann man Formeln grafisch zusammenbasteln und ausrechnen lassen.
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=723
Folgende Bausteine stehen zur Verfügung:
1 : Einfache Ergebnisanzeige (nur 1. Eingang wird dargestellt)
2 : Wert-Eingabefeld (Ein Baustein das am ehesten einer Konstanten gleichkommt)
3 : + (Alle Eingänge werden addiert)
4 : - (Alle Eingänge ab dem 2. werden vom 1. Eingang subtrahirt)
5 : * (Alle Eingänge werden miteinander multipliziert)
6 : / (1. Eingang wird durch 2. dividiert, das ergebnis daraus wird durch den 3. dividiert, usw...)
7 : SQR (Alle Eingänge werden addiert und dann die Wurzel aus dem Ergebnis gezogen)
8 : 1/x (1 wird durch die addition aller Eingänge dividiert)
(mit den Zahlentasten (1-8) kann man die Funktion des Bausteins bestimmen)
andere Tastenfunktionen:
a = Erstellt einen neuen Baustein (default = Werteingabefeld)
s = Stop/Start
(Anfangszustand des Programms ist gestoppt, soll das Programm anfangen zu rechnen, dann bitte die "s" Taste drücken!)
v = Weisst einem Baustein einen Wert zu. (Sinnvoll eigentlich nur bei Werteingabefelder (Taste 2))
Zum verbinden 2er Bausteine:
linke Maustaste drücken = wählt den Ausgang eines Bausteines
linke Maustaste loslassen = wählt den Eingang eines anderen Bausteins
Das verbinden eines Ausganges mit dem Eingang desselben Bausteines ist nicht möglich!
rechte Maustaste = verschiebt einen Baustein
Wünsche allen viel Spaß beim ausprobieren und ich hoffe auf eine rege Beteilung an Erweiterungen von Rechenknecht ;-)
MfG Chris |
|
Nach oben |
|
 |
Lutz Ifer Grillmeister

Anmeldungsdatum: 23.09.2005 Beiträge: 555
|
Verfasst am: 04.10.2008, 19:27 Titel: |
|
|
Fullscreen, Enter, Segfault.
Kubuntu 7.4, 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 GNU/Linux _________________ Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.10.2008, 20:38 Titel: |
|
|
@Lutz Ifer: Hm.. also deine Fehlermeldung kann ich nicht nachvollziehen. Sowohl unter meinem Ubuntu (8.0.4.1) als auch unter WinXP läuft der Quelltext wunderbar.
Hier noch eine neue etwas erweiterte Version (für Luzi extra mit anderem Screen):
Jetzt kann man mit der Taste "f" die Bausteine von links auf rechts "drehen".
Auch gibt es jetzt Digitaltechnik-Bausteine.
Taste "9" = UND, "0" = ODER und "i" = Invertierer
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=724
In einer nächsten Version versuche ich es zu ermöglichen einzelne Verbindungen nach Wunsch auch wieder lösen zu können. Im Moment kann man das leider noch gar nicht :-/ Auch kann man >noch< keine Bausteine wieder löschen.
Ich hab mir auch schon überlegt ob man so ein Konstrukt auch in eine Datei speichern könnte. Bin mir aber noch uneins wie... |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 04.10.2008, 21:04 Titel: |
|
|
Hmm ... ich bekomme bei beiden Versionen ein leeres Fenster und bei Mausklick einen Segmentation Fault
Sonst passiert bei einem Tastendruck nichts, auch nicht bei Enter. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 04.10.2008, 22:01 Titel: |
|
|
Bei der ersten Version wird der Bildschirm schwarz und es passiert gar nix. Wenn ich z.B. mit der Maus auf ein Menü (oder wo eins sein sollte) zeige, wird alles wieder normal, aber das Programm läuft immer noch weiter... Die zweite Version Segfaultet sich bei Mausklick. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.10.2008, 22:05 Titel: |
|
|
Erstellt doch bitte mit der taste "a" erstmal einen baustein... ggf. drückt ihr noch ein paar mal auf "a" um noch mehr bausteine zu erhalten. Nur bitte die maus ein bischen bewegen denn das programm erstellt an der position wo sie die maus befindet den jeweiligen neuen baustein.
Nachdem dann einige bausteine erstellt wurden, kann man mit der zahlenreihe 1 bis 0 eine eigenschaft dem baustein zuweisen.
Welche eigenschaften ihr zuweisen könnt, steht auskommentiert im quelltext und hier im eröffnungsbeitrag.
Aber stimmt schon, in dem moment wo man eine taste drückt, sucht er nach bausteinen und findet nix.. werd ich noch abfangen!!
PS: Hoffentlich schreib ich das nicht zu kompliziert. Ist eigentlich keine komplizierte sache! |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.10.2008, 22:07 Titel: |
|
|
PPS: Der schwarze Start-Bildschirm ist NORMAL und RICHTIG!
Erst mit dem erstellen einiger Bausteine mit der taste "a" wirds lustig .. und dann kann man die bausteine auch mit der linken maustaste miteinander verbinden. |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 04.10.2008, 22:18 Titel: |
|
|
Hab's jetzt hingekriegt... Ich glaube man muss zuerst "a" drücken und dann die rechte Maustaste betätigen.
Interessantes Programm .
Edit:
Aus

wird
  _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.10.2008, 23:51 Titel: |
|
|
AAHHH!! DER GROSCHEN IST GEFALLEN!
Wenn ihr jetzt noch rausbekommt, dass man mehr als eine Verbindung zwischen Bausteinen herstellen kann, wirds richtig lustig!
So kann man auch terme mit einer unbekannten relativ einfach lösen...
@raphael: In deiner Kette kommen öfters Bausteine mit einer # vor. Das sind eigentlich Wert-Eingabefelder. Sie reichen keine Ergebnisse weiter sondern sind zur eingabe von Werten gedacht.
Fahr mit dem mauszeiger über einen dieser bausteine und drück dir "v" taste. Dann kannst du einen (double) Wert in das Eingabefeld eingeben! .. damit kann dann weitergerechnet werden.
Kleiner Bug: Wenn die "v" taste gedrückt wird, wird nur ein baustein angezeigt. Das ist evtl. nicht der ausgewählte baustein, aber der Wert der eingegeben wird, kommt trotzdem bei dem baustein an über dem man mit dem mauszeiger als letztes war. |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 05.10.2008, 00:02 Titel: |
|
|
Ich wollte eigentlich auf den Rechenfehler hinweisen .
(1. Bild vorm "s"-drücken, 2tes danach!) _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.10.2008, 11:43 Titel: |
|
|
?? Rechenfehler? |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 05.10.2008, 12:27 Titel: |
|
|
555+746-321*2/4=1140,5
Im "="- Feld steht aber 4... _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 05.10.2008, 12:30 Titel: |
|
|
raph ael, zur Berechnung musst du mehrere Werte mit dem Rechenzeichen verbinden; werde gleich mal was hochladen.
Auf 'a' + rechte Maustaste muss man erst einmal kommen ...
Ein paar Probleme habe ich noch: Wenn ich die Maus über einem überlappenden Feld habe, wird nicht (oder nicht immer?) das sichtbare Feld bearbeitet, sondern vermutlich das "älteste". Wäre gut, wenn das auch das an dieser Stelle sichtbare wäre.
Und für größere Rechenoperationen sind mir die Felder viel zu groß.
so, hier mein Bild: http://schreibstube.comball.de/bilder/verschiedenes/rechenknecht.png _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Zuletzt bearbeitet von nemored am 05.10.2008, 12:36, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 05.10.2008, 12:33 Titel: |
|
|
Achso . _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.10.2008, 14:15 Titel: |
|
|
@nemored: JAAA, DER ERSTE DER ES VERSTANDEN HAT *APPLAUS* ...
Die größe der Bausteine kann man global mit den variablen rsizex für die breite und rsizey für die höhe festlegen.
Ich plane aber eine funktion mit der man die größe für jeden einzelnen baustein separat zur laufzeit (mit der maus) verändern kann.
Ebenso kann ich mir für den "=" Baustein vorstellen das er nicht nur ein ergebnis ausgibt, sondern eine liste von ergebnissen. So das man mehrere ausgänge mit einem "=" baustein verknüpfen kann. Mathematisch zwar nicht korrekt, aber vielleicht hilfreich zur übersicht. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.10.2008, 14:19 Titel: |
|
|
@Nemored: Interessant ist auch wenn man das ergebnis aus einer formel zurück in die formel koppelt .. die formel versucht sich dann selbst zu lösen  |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 05.10.2008, 15:10 Titel: |
|
|
Nett - ich würde da noch die Möglichkeit einbauen, die Ergebnisse Schritt für Schritt zu berechnen (ich wollte gerade die Fibonacci-Zahlen probieren, aber die Berechnung ist viel zu schnell )
Warum werden die Rechenzeichen eigentlich durch Zahlen festgelegt und nicht durch das entsprechende Zeichen?
edit: Und die Möglichkeit zum Löschen eines Feldes bzw. einer Verbindung wäre gut.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 05.10.2008, 15:14 Titel: |
|
|
ein wort: läuft nicht!  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 05.10.2008, 15:30 Titel: |
|
|
Zitat: | ein wort: läuft nicht! |
Das sind zwei Worte.
Die Bedienung ist ziemlich gewöhnungsbedürftig - bewege bei Programmstart mal die Maus irgendwohin auf das geöffnete Fenster, drücke "a" und anschließend die rechte Maustaste. Dann sollte das erste Feld erscheinen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 05.10.2008, 15:45 Titel: |
|
|
Ja die bedienung ist gewöhnungsbedürftig...
Zu meiner verteidigung muss ich sagen, dass ich mich mehr aufs konzept bzw die "engine" konzentriert habe als auf die bedienung.
Eine Funktion zum löschen von Bausteinen und Verbindungen werde ich noch einbauen! Wird auf jeden fall bei der nächsten "release" dabei sein!
(ist nur leider nicht ganz einfach zu programmieren) |
|
Nach oben |
|
 |
|