Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
daeumeline
Anmeldungsdatum: 22.02.2005 Beiträge: 5
|
Verfasst am: 22.02.2005, 20:00 Titel: Programm als Hausaufgabe... bitte helfen :( |
|
|
Hallöchen,
ist hier zufällig jemand unter euch, der mir helfen könnte mit QBasic? *liebfrag*
Haben das in der Schule begonnen heute und so kleine Sachen erstellt wie eine Addition oder einen Rechner der ausrechnet wie viel Rabatt man bekommt, je nach dem für wie viel Euro man einkauft... das klaoote auch alles gut...
aber jetzt sollen wir als Hausaufgabe ein Programm erstellen, dass uns alle Quadratzahlen anzeigt von einem bestimmten Anfangswert a bis zu dem Höchstwert z... ich weiß aber leider gar nicht mehr wie das geht unglücklich Nur teilweise...
Kann mir irgendwer helfen???
Lieben Gruß
Linchen |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 22.02.2005, 20:20 Titel: |
|
|
Hallo.
Normalerweise machen wir hier keine Hausaufgaben, aber hier ein Ansatz:
Code: | INPUT "Anfangszahl: ", a%
INPUT "Letzte Zahl: ", b%
FOR i% = a% TO b%
Ergebnis&=i%*i% 'oder i%^2
PRINT "Die Quadratzahl aus "; LTRIM$(STR$(i%)); " ist "; LTRIM$(STR$(Ergebnis&)); "."
NEXT i%
SLEEP:END |
Der Code ist noch ausbaufähig, aber für's Erste reicht's sicher.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Progger_X Mr. Lagg
Anmeldungsdatum: 24.11.2004 Beiträge: 784 Wohnort: Leipzig
|
Verfasst am: 22.02.2005, 20:23 Titel: Na ja |
|
|
Schon mal netiquette gelesen? Eigentlich machen wir keine Hausaufgaben!
Aber gut...ich mach dir nicht deine Hausaufgabe, sondern ich sag dir den groben Ablauf, ich denke so issses ok:
Quadratzahlen machst du logischerweise mit x*x oder so. Dann alle quadratenzahlen von a bis z. Dann muss der Computer erst wissen wie groß a und z sind, die gibt ja der Benutzer ein. Benutzereingaben machst du so:
Code: |
Input "Text", Variable
|
Text ist ein beliebiger Text, der genauer sagen sollte, was die Variable macht, damit der Nutzer das versteht. Die Variablen sollten die namen a und z tragen, du als programmierer musst dir merken, das die den Anfangs und den Endwert markieren.
Dann hast du die Zahlen.
Wenn du unter und ober grenze hast, brauchst du nur noch eine Schleife schreiben. Das machst du so:
Code: |
For a=x to a=y
(was die schleife tut)
Next
|
Dann müssen logischerweise x und y die unteren und oberen grenzwerte sein, x der untere, y der oberere. Die Schleife sollte alle quadratzahlen ausgeben. Zahlen ausgeben machst du mit:
Hier wird x ausgegeben. Es sollte jedoch nicht x ausgegeben, sondern die Zählvariable(im beispiel a) zum Quadrat. Am Ende des Programms machst du dann noch
Dieser Befehl wartet, bis der Benutzer eine Taste drückt.
Der löscht den Bildschirm, eigentlich unnötig, aber für den Programmierer hilfreich, wenn etwas nicht klappt und du das programm neu starten musst.
Ich hoffe das hilft dir das zu verstehen, nicht nur irgendetwas abzutippen.
Und natürlich das es Fehlerfrei ist.... |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 22.02.2005, 20:33 Titel: |
|
|
Zitat Progger_X
For a=x to a=y
(was die schleife tut)
Next
Sorry, das geht anders.
Code: |
FOR i = a TO z
REM Was die Schlefe machen soll, in dem Falle i^2
NEXT
|
jb |
|
Nach oben |
|
 |
daeumeline
Anmeldungsdatum: 22.02.2005 Beiträge: 5
|
Verfasst am: 22.02.2005, 20:46 Titel: |
|
|
Danke euch, super lieb.
Sorry, habe mir die Nettiquette noch nicht durchgelesen... bin neu hier Tschuldigung.
Danke für eure Tipps, werde mich gleich mal dran setzen... danke euch Bei Fragen oder Unklarheiten werde ich mich melden Hoffe das ist okay
Lieben Gruß
Linchen |
|
Nach oben |
|
 |
daeumeline
Anmeldungsdatum: 22.02.2005 Beiträge: 5
|
Verfasst am: 22.02.2005, 21:10 Titel: |
|
|
Soooo habe mal rumgebastelt und es geht so weit bis ich die Zahlen eingebe... aber der Schluss mag nicht so wie ich
HIer mal meine Zeilen:
CLS
1 PRINT "Berechnung der Quadratzahlen"
For i= a to z
next
5 INPUT "Anfangszahl"; a
10 INPUT "Letzte Zahl"; z
15 PRINT "Ergebnis"; ergebnis= i*i
20 PRINT "Die Quadratzaheln lauten:" = ergebnis
END
Laufen tut es, aber als Ergebnis bekomme ich immer 0. Wo liegt mein Fehler?  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 22.02.2005, 21:52 Titel: |
|
|
Hallo!
Sind noch ein paar Fehlerchen drin.....
1. Die Zeilennummern kannst du dir sparen, du benutzt doch QBasic, oder?
2. Die Eingabe von a/z muss VOR der FOR-NEXT-Schleife kommen.
4. Die Berechnung (Zeile 15) muss zwischen FOR-NEXT.
5. In Zeile 20 muss es
PRINT "Quadratzahlen: "; ergebnis
heißen
jb |
|
Nach oben |
|
 |
daeumeline
Anmeldungsdatum: 22.02.2005 Beiträge: 5
|
Verfasst am: 22.02.2005, 22:10 Titel: |
|
|
Danke dir, aber es kommt immer noch 0 raus
Weißt du woran das liegen kann?
Ich hab das jetzt stehen:
Ergebnis 0
Ergebnis 0
Ergebnis 0
Ergebnis 0
Die Quadratzahlen lauten 0
PS: Die zahlen sollen wir machen, sagte us unser Lehrer.. .und die Reienfolge hatte er auch so wie ich, das tut aber nichts zur Sache  |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 22.02.2005, 22:28 Titel: |
|
|
jaja, sicher!
wenn ich deinen code so ansehe, verwendest du 3 variablen: a, z und i.
die INPUTs müssen vor dem FOR/NEXT stehen.
Denn hier wird erst einmal der bereich festgelegt.
Ich glaube, du hast noch nicht ganz verstanden, was for/next überhaupt macht, oder
Also: Sobald FOR auftaucht, merkt sich qb das. außerdem wird einer variablen (in deinem Fall dem i) ein wert zugewiesen. Diese wert steht bei dir in a.
jetzt macht qb erst mal ganz normal im code weiter.
sobald aber NEXT kommt, springt es im code wieder zum FOR zurück. Außerdem wird zu i eins dazugezählt.
Das ganze wird so lange wiederholt, bis i den wert von z hat.
So, ich hoffe, das hat dir jetzt geholfen *G*
Viel spaß! _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 22.02.2005, 22:35 Titel: |
|
|
Nicht böse sein, aber ich glaube, dass wenn wir jetzt noch mehr weiterlabern, ist das keine Hausaufgabe mehr, sondern eine
QB-Forums-Gemeinschaftsarbeit.....
Tip: Lade dir mal einen QB-Grundkurs von www.qbasic.de runter.
jb |
|
Nach oben |
|
 |
daeumeline
Anmeldungsdatum: 22.02.2005 Beiträge: 5
|
Verfasst am: 23.02.2005, 22:31 Titel: |
|
|
Sooooo, hab es hinbekommen.... meine Zeilen waren alle richtig, nur in der falschen Rehenfolge....
dDanke allen Helfern |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 24.02.2005, 16:40 Titel: |
|
|
Es bleibt zu erwähnen:
Die Zeilennummer is relativ unötig
Du kannst auch leere Zeilen schreiben, in dem du ganz einfach
tippst. Aber wen du nicht tausend mal PRINT schreiben willst benutze den befehl Locate xx
Code: | LOCATE 12 (<-- Zeilennummer)
|
_________________ www.piratenpartei.de |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 24.02.2005, 16:41 Titel: |
|
|
@daeumeline:
Sehr schön.
Hat doch gut geklappt.
Poste doch mal deinen Code.
@Devilkevin:
Das mit den Zeilennummern hatte ich aber schon gesagt...
[Pseudo-Moderator-Modus]
Bitte keine Doppelpostings
[/Pseudo-Moderator-Modus]
Schwamm drüber.
jb |
|
Nach oben |
|
 |
|