[QBasic] Schleifen

Mario Supper

Mitglied
Grundlagen Programmieren Setzen Sie die folgenden Beispiele in QBasic um Beachten Sie dabei, dass sich Ihr Programm nicht nur starten lassen muss, sondern auch für alle möglichen Inputs die korrekte Lösung liefern muss. Aufgabe 1: Berechne das Produkt 1 * 2 * ... * n - Input: Die Zahl n - Output: Das Produkt 1 * 2 * ... * n Aufgabe 2: Schreibe ein Programm, das in einer „for“-Schleife insgesamt 100 Sternchen („*“) hintereinander ausdruckt. Übergib als Kommandozeilenparameter einen „int“-Wert, der festlegt, nach wie vielen Zeichen ein Zeilenumbruch erfolgen soll. z.Bsp: *************************
*************************
*************************
*************************



Kennt da wer die Lösung für den code???
 
K

kneitzel

Gast
Geil. Hat da eine Technische Hochschule noch alte PCs mit DOS im Einsatz? Incl. eine Absprache mit dem lokalen Wertstoffhof um alte Elektronikgeräte zu bekommen?

Und die E-Technik Studenten haben so genug praktische Übungen? Mit der Lötstation alte Batterien von Motherboards löten und neue einlöten?

Also das regt meine Fantasie gerade richtig an ...

Aber es gibt qbasic.de - da findet man zur Not sogar eine Anleitung, wie man eine VM mit DOS aufsetzen kann (DosBox)
  • 1.7.2011: Haben auch Sie Probleme mit dem Betrieb von QBasic unter neueren Windows-Systemen? Dann ist für Sie das neue QBasic- Tutorial Wie installiere ich QBasic in der DOSBox? bestimmt hochinteressant. Hier erfahren Sie, wie Sie QBasic und andere alte DOS- Programme mit Hilfe von Virtualisierungs-Techniken auch in aktuellen Betriebssystem-Umgebungen zum Laufen bekommen.
Also mich würde es schon interessieren, was Du da wieso treibst.... Generell würde ich zu etwas anderem raten als Basic. Und nein - QBasic und Java sind nicht ähnlich.

Und was das Programm angeht: Das sieht erst einmal auf den ersten Blick richtig aus. Das dürfte schon die Lösung sein, oder geht etwas nicht richtig?

Und das Zweite bekommst du doch auch mit Deinem Wissen sehr schnell hin denke ich mal.
 

mihe7

Top Contributor
K

kneitzel

Gast
Was Du vielleicht noch machen solltest: Definiere die Variablen vorab. Also etwas wie
DIM n AS LONG
 

Mario Supper

Mitglied
Geil. Hat da eine Technische Hochschule noch alte PCs mit DOS im Einsatz? Incl. eine Absprache mit dem lokalen Wertstoffhof um alte Elektronikgeräte zu bekommen?

Und die E-Technik Studenten haben so genug praktische Übungen? Mit der Lötstation alte Batterien von Motherboards löten und neue einlöten?

Also das regt meine Fantasie gerade richtig an ...

Aber es gibt qbasic.de - da findet man zur Not sogar eine Anleitung, wie man eine VM mit DOS aufsetzen kann (DosBox)

Also mich würde es schon interessieren, was Du da wieso treibst.... Generell würde ich zu etwas anderem raten als Basic. Und nein - QBasic und Java sind nicht ähnlich.

Und was das Programm angeht: Das sieht erst einmal auf den ersten Blick richtig aus. Das dürfte schon die Lösung sein, oder geht etwas nicht richtig?

Und das Zweite bekommst du doch auch mit Deinem Wissen sehr schnell hin denke ich mal.
Kann nichts machen, Die Programmiersprache kann ich mir nicht aussuchen. Würde mich aber trotzdem um etwas hilfe freuen.
 
K

kneitzel

Gast
Kann nichts machen, Die Programmiersprache kann ich mir nicht aussuchen. Würde mich aber trotzdem um etwas hilfe freuen.
Ja, wir helfen Dir ja auch gerne - Du müsstest nur sagen, wo Du genau noch Probleme hast. Ich habe kein QBasic und werde es mir nicht installieren. Aber der Code sah doch erst einmal ok aus. Also wo hakt es?

Und etwas Spaß wird man doch noch haben dürfen. Das geht ja nicht gegen Dich.
 

Mario Supper

Mitglied
Ja, wir helfen Dir ja auch gerne - Du müsstest nur sagen, wo Du genau noch Probleme hast. Ich habe kein QBasic und werde es mir nicht installieren. Aber der Code sah doch erst einmal ok aus. Also wo hakt es?

Und etwas Spaß wird man doch noch haben dürfen. Das geht ja nicht gegen Dich.
Grundlagen Programmieren Setzen Sie die folgenden Beispiele in QBasic um Beachten Sie dabei, dass sich Ihr Programm nicht nur starten lassen muss, sondern auch für alle möglichen Inputs die korrekte Lösung liefern muss. Aufgabe 1: Berechne das Produkt 1 * 2 * ... * n - Input: Die Zahl n - Output: Das Produkt 1 * 2 * ... * n Aufgabe 2: Schreibe ein Programm, das in einer „for“-Schleife insgesamt 100 Sternchen („*“) hintereinander ausdruckt. Übergib als Kommandozeilenparameter einen „int“-Wert, der festlegt, nach wie vielen Zeichen ein Zeilenumbruch erfolgen soll. z.Bsp: ************************* ************************* ************************* *************************


Das sollte halt dabei raus kommen.
 
K

kneitzel

Gast
Zerlege das zweite Problem erst einmal in zwei Teilprobleme:
a) Einlesen eines Kommandozeilenparameters
Du kannst den ja auslesen und dann einfach einmal ausgeben.
b) Gib die 100 * ohne Zeilenumbruch aus. Kriegst Du das hin?

Dann kannst Du es erweitern:
c) Pack den ersten Parameter in eine Variable.
d) Überlege Dir, wie Du alle x Zeichen einen Zeilenumbruch hin bekommst. Evtl. schaust Du einfach einmal, wie Du das machen würdest. Du sollst 100 * auf einen Zettel malen und pro Zeile immer nur 5 Sternchen ... Wie machst Du das?
 

Mario Supper

Mitglied
Zerlege das zweite Problem erst einmal in zwei Teilprobleme:
a) Einlesen eines Kommandozeilenparameters
Du kannst den ja auslesen und dann einfach einmal ausgeben.
b) Gib die 100 * ohne Zeilenumbruch aus. Kriegst Du das hin?

Dann kannst Du es erweitern:
c) Pack den ersten Parameter in eine Variable.
d) Überlege Dir, wie Du alle x Zeichen einen Zeilenumbruch hin bekommst. Evtl. schaust Du einfach einmal, wie Du das machen würdest. Du sollst 100 * auf einen Zettel malen und pro Zeile immer nur 5 Sternchen ... Wie machst Du das?
Keine Ahnung

wo soll ich die 100* eintragen? Auf Reihe 10?
 
Zuletzt bearbeitet von einem Moderator:

Mario Supper

Mitglied
Immer eins nach dem anderen. Wenn Du einen Stern ausgeben kannst, dann kannst Du den Befehl in eine for-Schleife stecken, die den Befehl 100-mal wiederholt. Das hast Du oben in Kommentar #4 schon einmal gemacht.
ja, die Frage lautet, wie geht es jetzt weiter?

Code:
INPUT "Geben sie eine Zahl ein:"; n

o = 1

FOR i = 1 TO n STEP 1
    o = o * i
NEXT i
PRINT o
Wie geht es weiter????
 
Zuletzt bearbeitet von einem Moderator:

mihe7

Top Contributor
Das ist eine Schleife mit 100 Wiederholungen (i wird dabei von 1 bis 100 durchgezählt) und bei jeder Wiederholung wird ein Stern ausgegeben. Das Semikolon am Ende der PRINT-Anweisung sorgt dafür, dass kein Zeilenumbruch erfolgt und die Sternchen somit nebeneinander auf dem Bildschirm erscheinen. Alles klar?
 

Mario Supper

Mitglied
Das ist eine Schleife mit 100 Wiederholungen (i wird dabei von 1 bis 100 durchgezählt) und bei jeder Wiederholung wird ein Stern ausgegeben. Das Semikolon am Ende der PRINT-Anweisung sorgt dafür, dass kein Zeilenumbruch erfolgt und die Sternchen somit nebeneinander auf dem Bildschirm erscheinen. Alles klar?
Das ist dabei entstanden:
 

Anhänge

  • Screenshot (47).png
    Screenshot (47).png
    65,6 KB · Aufrufe: 32
Zuletzt bearbeitet von einem Moderator:

mihe7

Top Contributor
Ja, Du sollst aber nur die drei Zeilen im Code haben (der Rest im Editor ist von Aufgabe 1) und die Frage war, ob Du den Code soweit verstanden hast.
 

mrBrown

Super-Moderator
Mitarbeiter
@Mario Supper Als Tipp für die nächsten Beiträge: Du kannst in einer Antwort auch mehrere Zeilen unterbringen und notfalls Beiträge auch nachträglich editieren. Eine Antwort über mehrere Beiträge zu verteilen macht es allen Beteiligten nur schwieriger – ruhig vorm Abschicken mal eine Minute Pause machen und überlegen, ob schon alles geschrieben wurde :)
 

Verena1505

Mitglied
Nein.

Code:
FOR i = 1 to 100
    PRINT "*" ;
NEXT

Vielen herzlichen Dank! Das hat mir sehr geholfen., Hab heute sozusagen angefangen mit dem Programmieren und dieses Bsp vorgelegt bekommen. Wie kann ich jetzt da eine Variable int integrieren, sodass zB nach 25 Zeichen eine neue Zeile beginnt?

Vielen herzlichen Dank für die Hilfe!

lg Verena
 
M

Mart

Gast
Vielen herzlichen Dank! Das hat mir sehr geholfen., Hab heute sozusagen angefangen mit dem Programmieren und dieses Bsp vorgelegt bekommen. Wie kann ich jetzt da eine Variable int integrieren, sodass zB nach 25 Zeichen eine neue Zeile beginnt?

Vielen herzlichen Dank für die Hilfe!

lg Verena
ich möchte nicht böse klingen wenn ich frag ob du geschichte oder Informatik studierst :D
 

mihe7

Top Contributor
Vielen herzlichen Dank! Das hat mir sehr geholfen., Hab heute sozusagen angefangen mit dem Programmieren und dieses Bsp vorgelegt bekommen. Wie kann ich jetzt da eine Variable int integrieren, sodass zB nach 25 Zeichen eine neue Zeile beginnt?

Vielen herzlichen Dank für die Hilfe!

lg Verena
Du könntest z. B. einfach die Anzahl der bereits ausgegebenen Sternchen mitzählen und wenn die Schwelle erreicht ist, dann fügst Du einen Zeilenumbruch (PRINT ohne Parameter und ohne abschließendes Semikolon) ein.
 

Neue Themen


Oben