Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Rechenknecht v1a
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 04.10.2008, 13:23    Titel: Rechenknecht v1a Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 04.10.2008, 19:27    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 04.10.2008, 20:38    Titel: Antworten mit Zitat

@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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4700
Wohnort: ~/

BeitragVerfasst am: 04.10.2008, 21:04    Titel: Antworten mit Zitat

Hmm ... ich bekomme bei beiden Versionen ein leeres Fenster und bei Mausklick einen Segmentation Fault neutral
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
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.10.2008, 22:01    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 04.10.2008, 22:05    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 04.10.2008, 22:07    Titel: Antworten mit Zitat

PPS: Der schwarze Start-Bildschirm ist NORMAL und RICHTIG!
Erst mit dem erstellen einiger Bausteine mit der taste "a" wirds lustig lächeln .. und dann kann man die bausteine auch mit der linken maustaste miteinander verbinden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.10.2008, 22:18    Titel: Antworten mit Zitat

Hab's jetzt hingekriegt... Ich glaube man muss zuerst "a" drücken und dann die rechte Maustaste betätigen.
Interessantes Programm happy .

Edit:
verwundert
Aus

wird

_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 04.10.2008, 23:51    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 05.10.2008, 00:02    Titel: Antworten mit Zitat

Ich wollte eigentlich auf den Rechenfehler hinweisen durchgeknallt .
(1. Bild vorm "s"-drücken, 2tes danach!)
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.10.2008, 11:43    Titel: Antworten mit Zitat

?? Rechenfehler?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 05.10.2008, 12:27    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4700
Wohnort: ~/

BeitragVerfasst am: 05.10.2008, 12:30    Titel: Antworten mit Zitat

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ß. lächeln

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
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 05.10.2008, 12:33    Titel: Antworten mit Zitat

Achso grinsen .
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.10.2008, 14:15    Titel: Antworten mit Zitat

@nemored: JAAA, DER ERSTE DER ES VERSTANDEN HAT grinsen *APPLAUS* lächeln ...
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
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.10.2008, 14:19    Titel: Antworten mit Zitat

@Nemored: Interessant ist auch wenn man das ergebnis aus einer formel zurück in die formel koppelt zwinkern .. die formel versucht sich dann selbst zu lösen happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4700
Wohnort: ~/

BeitragVerfasst am: 05.10.2008, 15:10    Titel: Antworten mit Zitat

Nett lächeln - 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 happy )

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. lächeln
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 05.10.2008, 15:14    Titel: Antworten mit Zitat

ein wort: läuft nicht! Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4700
Wohnort: ~/

BeitragVerfasst am: 05.10.2008, 15:30    Titel: Antworten mit Zitat

Zitat:
ein wort: läuft nicht!

Das sind zwei Worte. grinsen

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
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 05.10.2008, 15:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz