Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 28.11.2007, 18:06 Titel: Brauche Hilfe! Schulprojekt |
|
|
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
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  |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 28.11.2007, 19:29 Titel: |
|
|
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 |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 28.11.2007, 19:39 Titel: |
|
|
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 29.11.2007, 00:08 Titel: |
|
|
dann geh in die hilfe und schau dir window an  _________________ "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 |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.11.2007, 00:30 Titel: |
|
|
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 |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 29.11.2007, 14:32 Titel: |
|
|
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
MfG |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.11.2007, 14:52 Titel: |
|
|
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  _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 29.11.2007, 15:01 Titel: |
|
|
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
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 |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.11.2007, 15:10 Titel: |
|
|
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 |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 29.11.2007, 15:15 Titel: |
|
|
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 |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 29.11.2007, 15:21 Titel: |
|
|
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 |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 29.11.2007, 15:29 Titel: |
|
|
Jetzt funktioniert alles! Herzlichsten Dank! |
|
Nach oben |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 29.11.2007, 17:04 Titel: |
|
|
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 29.11.2007, 17:20 Titel: |
|
|
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 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 |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 29.11.2007, 18:38 Titel: |
|
|
Uii, Monte-Carlo-Methode, die ist lustig.
Vielleicht solltest du besser schreiben:
Code: | PRINT "Pi ist ungefähr:"; ergebniss |
Aber ansonsten ist das doch ein schön geschriebenes Programm.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Jannik H
Anmeldungsdatum: 28.11.2007 Beiträge: 8
|
Verfasst am: 29.11.2007, 19:51 Titel: |
|
|
nemored hat Folgendes geschrieben: | Uii, Monte-Carlo-Methode, die ist lustig.
Vielleicht solltest du besser schreiben:
Code: | PRINT "Pi ist ungefähr:"; ergebniss |
Aber ansonsten ist das doch ein schön geschriebenes Programm.  |
Danke Hab das in meinem Programm geändert  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 29.11.2007, 20:10 Titel: |
|
|
Und dann "ergebnis" vielleicht noch mit einem s...  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Koddy
Anmeldungsdatum: 02.12.2007 Beiträge: 3
|
Verfasst am: 02.12.2007, 13:23 Titel: moinsen |
|
|
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 . . . kann mir wer helfen?
dann bitte adde mich , wenn es geht ziemlich schnell !!!!
308-693-849
btte . . . |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 02.12.2007, 15:37 Titel: |
|
|
Was musst du noch?
Deine Hausaufgabe macht dir niemand! _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Koddy
Anmeldungsdatum: 02.12.2007 Beiträge: 3
|
Verfasst am: 02.12.2007, 17:07 Titel: |
|
|
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  |
|
Nach oben |
|
 |
|