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:

Brauche Hilfe! Schulprojekt
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 28.11.2007, 18:06    Titel: Brauche Hilfe! Schulprojekt Antworten mit Zitat

Hallo,

ich habe ein Problem mit Basic, das ich -egal was ich tue- nicht ohne eure Hilfe gelöst bekomme.

Ich muss -einfach beschrieben- mit den Grafikbefehlen aus QBasic einen 1/4 Kreis zeichen, sprich von der oberen linken Ecke zur unteren rechten (was ich damit machen will/muss spielt jetzt mal keine Rolle).

Mein Quellcode sieht bisher so aus (nur der Ausschnitt der wichtig ist):
Code:
CLS
Screen 12
Window (0,0)-(1,1)
Circle (0,0),1



So, das hab ich bisher, nun ist der Kreis aber von iwo oben in der Mitte nach unten rechts, also er fängt nicht oben links an.

Ich hab schon mehrere Sachen versucht, aber es wurde ehr schlimmer als besser.

Ich hoffe mal ich hab das gut genug beschrieben, dass ihr mir helfen könnt lächeln

MfG
Jannik H.


PS: Bitte nicht in der Luft zerreißen, ich weiß das ich noch nicht viel mit dem Prog kann, deswegen geh ich ja auch zur Schule grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 28.11.2007, 19:29    Titel: Antworten mit Zitat

also wenn dein mittelpunkt unten links ist ist (0,0) schonmal falsch bei circle, du musst die werte dann entsprechend der auflösung wählen ((0,0) ist bei computern die ecke oben links im bildschirm, x nach rechts, y nach unten).
Und ansonsten schau mal in die hilfe zu circle, da kann man einstellen, wie sehr er verzerrt werden soll. Dein bildschirm ist ja nich quadratisch, folglich brauchst du ne ellipse und keinen runden kreis.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 28.11.2007, 19:39    Titel: Antworten mit Zitat

Also das Prob mit dem (0,0) lös ich ja mit dem Window befehl, und unser Lehrer meinte es muss ein Kreis sein, wir sollten den Window Befehl so anpassen das es passt...


MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 29.11.2007, 00:08    Titel: Antworten mit Zitat

dann geh in die hilfe und schau dir window an zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 29.11.2007, 00:30    Titel: Antworten mit Zitat

Hallo

Wie MisterD schon sagte, der Bildschirm ist niicht quadratisch, also kannst Du auch keinen vietel Kreis von einer Ecke zur gegenüberliegenden Zeichnen.

CIRCLE ohner Verzerrung zeichnet immer einen Kreis, unabhängig davon, was man mit WINDOW eingestellt hat.Der angegebene Radius wird dabei immer auf die X-Achse bezogen und der in Y-Richtung entsprechend angepasst. Deshalb kommt Dein Kreis auch irgendwo oben aus der Mitte. Der Radius in Y-Richtung wird dem Seitenverhältnis 3 zu 4 angepasst und der höchste Punkt des Kreises liegt so bei den Koordinaten 0/1,3333.

Eine passende Ellipse kannst du mit

Code:
CIRCLE (0, 0), 1,,,,3/4


zeichnen.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 29.11.2007, 14:32    Titel: Antworten mit Zitat

Erstmal danke! Ich hab das jetzt anders gelöst, nur hab ich wieder ein bzw. zwei Probleme. Wie kann ich den kompletten Quellcode exportieren, sprich das ich ihn hier im Board veröffentlichen kann?

Dann könnt ihr mir nähmlich bei meinem Zweiten Problem helfen zwinkern

MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 29.11.2007, 14:52    Titel: Antworten mit Zitat

Wenn Du das Programm im QB-Editor speicherst, wählst Du die Option "Text - von anderen Programmen lesbar". Dann kannst Du den Code mit dem normalen Texteditor öffnen und hier hinein kopieren. Code-Tags nicht vergessen zwinkern
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 29.11.2007, 15:01    Titel: Antworten mit Zitat

Danke!

Code:
CLS
INPUT "Wieviele Werte sollen eingegeben werden?", punkte
SCREEN 12
WINDOW (-1, -1)-(2, 1.25)
LINE (0, 0)-(1, 1), , B
CIRCLE (0, 0), 1
RANDOMIZE TIMER
FOR i = 1 TO punkte
x = RND
y = RND
PSET (x, y)
IF x ^ 2 + y ^ 2 < 1 THEN bingo = bingo + 1
NEXT i
ergebniss = bingo / punkte
PRINT "Pi ist:"; ergebniss
SLEEP


Hier das Programm, ich weiß es ist klein und erbärmlich Zunge rausstrecken


Das ganze Programm soll zur Berechnung von Pi dienen, hier die Einzelheiten:
-zuerst eine beliebige Anzahl zu zeichnender Punkte eingeben
-dann wird ein Quadrat auf dem Bildschirm gezeigt, und darin ein viertel Kreis(wie im 1. Post beschrieben, nur nicht über den ganzen Bildschrim)
-nun werden die festgelegt Anzahl von Punkten in das Quadrat gezeichnet, mit zufälligen Koordinaten
-zum schluss sollen alle Punkte die im Kreis sind, durch die gesammte Anzahl der Punkte geteilt werden, und da sollte dann eigentlich Pi raus kommen

Nur kommen bei mir immer 0,XXXX Zahlen raus, wisst ihr wo der (Denk-)Fehler liegt?

Achja: Ich muss es mit dieser Methode machen (mit dem 1/4 Kreis usw.)

Hoffe ihr könnt mir helfen!
MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

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

Hallo

Dein Programm mag klein sein, erbärmlich ist es aber nicht. Du zählst ja nur die Punkte innerehalb eines Viertelkreises, also bekommst Du auch nur 1/4 von Pi heraus. Einfach den Wert von ergbniss noch mal Vier nehmen.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 29.11.2007, 15:15    Titel: Antworten mit Zitat

Jau danke! Wirklich super Hilfe!

Nur noch mal ne kleine Frage zur Schönheitskorrektur: Kann ich den Kreis außerhalb ders Quadrats auch irgendwie verschwinden lassen?

MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 29.11.2007, 15:21    Titel: Antworten mit Zitat

Code:
CIRCLE (0, 0), 1, , 0, -1.571


zeichnet den Kreis vom Winkel 0 bis -Pi/2.
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 29.11.2007, 15:29    Titel: Antworten mit Zitat

Jetzt funktioniert alles! Herzlichsten Dank!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 29.11.2007, 17:04    Titel: Antworten mit Zitat

Nun doch nochmal ne kurze Frage: Kann ich eine selbständige .exe Datei erstellen, sprich: Nur eine .exe Datei die das Programm so ausführt wie in QB?


MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 29.11.2007, 17:20    Titel: Antworten mit Zitat

Skilltronic hat Folgendes geschrieben:
Code:
CIRCLE (0, 0), 1, , 0, -1.571


zeichnet den Kreis vom Winkel 0 bis -Pi/2.


pi benutzen beim pi berechenen happy schlechte angewohnheit
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 29.11.2007, 18:38    Titel: Antworten mit Zitat

Uii, Monte-Carlo-Methode, die ist lustig. happy

Vielleicht solltest du besser schreiben:
Code:
PRINT "Pi ist ungefähr:"; ergebniss

Aber ansonsten ist das doch ein schön geschriebenes Programm. 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
Jannik H



Anmeldungsdatum: 28.11.2007
Beiträge: 8

BeitragVerfasst am: 29.11.2007, 19:51    Titel: Antworten mit Zitat

nemored hat Folgendes geschrieben:
Uii, Monte-Carlo-Methode, die ist lustig. happy

Vielleicht solltest du besser schreiben:
Code:
PRINT "Pi ist ungefähr:"; ergebniss

Aber ansonsten ist das doch ein schön geschriebenes Programm. lächeln


Danke Zunge rausstrecken Hab das in meinem Programm geändert lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


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

BeitragVerfasst am: 29.11.2007, 20:10    Titel: Antworten mit Zitat

Und dann "ergebnis" vielleicht noch mit einem s... 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
Koddy



Anmeldungsdatum: 02.12.2007
Beiträge: 3

BeitragVerfasst am: 02.12.2007, 13:23    Titel: moinsen Antworten mit Zitat

moinsen
ich muss das auch noch xD
kann mir wer dabei helfen? nur kurz . . . wenn einer von euch Zeit hat?
ich muss das auch machen . . . aber ich habe noch weniger ahnung und ja . . . happy kann mir wer helfen?
dann bitte adde mich , wenn es geht ziemlich schnell !!!!
308-693-849
btte . . .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 02.12.2007, 15:37    Titel: Antworten mit Zitat

Was musst du noch?

Deine Hausaufgabe macht dir niemand!
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Koddy



Anmeldungsdatum: 02.12.2007
Beiträge: 3

BeitragVerfasst am: 02.12.2007, 17:07    Titel: Antworten mit Zitat

xD
ich muss das probramm auch noch und die dokumentation und so
die hausaufgabren soll mir niemand machen nur hilfe geben , ich kopiere mir wohl kaum das porgramm von Jannik, der ist bei mir in der klasse . . . ich will nur hilfe happy
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 -> Allgemeine Fragen zu QBasic. 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