Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
jaruuu
Anmeldungsdatum: 21.09.2006 Beiträge: 10
|
Verfasst am: 21.09.2006, 14:37 Titel: <QBasic Programme> |
|
|
Hallo Leute
Ich brauche dringend eure Hilfe ...und zwar bei folgenden aufgaben.
1.Ein q-basic programm schreiben ,das auf dem vga bildschirm folgendes muster erzeugt.
http://img97.imageshack.us/img97/5175/photo0024kopiecg8.jpg
2.schreibe ein programm,das von einer zahl k ,die man eingeben darf,testet,ob sie eine primzahl ist;das ergebnis soll ausgegen werden.
führe dies durch:
a.unter verwendung einer for-next schleife
b.unter verwendung eiiner do-loop until-schleife
c.unter verwendung einer while wend-schleife
2b. schreibe ein programm ,das von den zahlen 2;3;4;5;6;7...;1000,prüft ob sie primzahlen sind ;,wenn es sich um eine primzahl handelt soll die zahl ausgegen werden,sonst nicht.
ich hoffe,dass mir jemadn helfen kann.
mfg
jaruuu |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 21.09.2006, 14:46 Titel: |
|
|
1. keine ahnung
probier abissl mit for/next und line rum
2.
Code: |
prim=1
for i=2 to sqr(k)
if k/i=fix(k/i) then prim=0:exit for
next
?prim
'Prim ist 0 wenn nicht, eins wenn schon
|
2b. dieses miniprog in eine for i=1 to 1000 schleife reinschreiben _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 21.09.2006, 14:51 Titel: |
|
|
Hi.
Klingt doch ziemlich nach 'ner Hausaufgabe - und Hausaufgaben machen wir hier nicht.
@kleiner_hacker:
Das kann man "hübscher" (und in einer Function) lösen:
Code: |
Function IsPrim(k)
For i=2 To Sqr(k)
If k/i=Fix(k/i) then Function=1
Next
' Hehe, eine Zeile (:D) eingespart
Function=0
End Function
|
_________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 21.09.2006, 14:54 Titel: |
|
|
quick'n'dirty
solol er sich doch die mühe machn des gscheid zu machen
außerdem: in qb motzt er meines wisens bei function=x
aber deine function is auch länger nix eingspart _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
jaruuu
Anmeldungsdatum: 21.09.2006 Beiträge: 10
|
Verfasst am: 21.09.2006, 15:00 Titel: |
|
|
Das sind Übungsblätter ...ich schreibe nächste Woche eine Arbeit aber ich verstehe diese sachen nicht..
aber wie ich sehe macht ihr das schon lange ...
ich habs gerade nochmal versucht ...und poste es gleich rein
EDIT:
For schleife
Code: |
dim n as integer,i as integer
input "n ",n
geteilt=0
for i =2 to n-1
if n mod i =0 then geteilt=1
next i
if geteilt =1 then
print n;"ist keine primzahl"
else
print n;" ist eine primzahl"
end if
while wend
dim n as integer,i as integer
input "n ",n
geteilt=0
if n mod 2=0 then geteilt=1
i=3
while geteilt=0 and i*i<=n
if n mod i=0 then geteilt=1
i=i+2
wend
if geteilt=1 then
print n ;"ist nicht prim"
else
print n;"ist prim"
end if
|
jetzt fehlt do loop until schleife
Editiert durch Moderator: Code-Tags hinzugefügt und beide Beiträge zusammengefasst. In Zukunft bitte Doppelpostings vermeiden. Danke. (A.K.) |
|
Nach oben |
|
 |
Elvis

Anmeldungsdatum: 01.06.2006 Beiträge: 818 Wohnort: Deutschland, BW
|
Verfasst am: 21.09.2006, 16:17 Titel: |
|
|
Also, ich hab jetzt mal zu dem Muster
schnell einen Code hingewurschtelt... ist also nicht ganz perfekt
Aber bei dem Code kann man gut Finetunen...
Code: |
CLS 'Bildschirm löschen
SCREEN 12 '480*640 VGA-GrafiK
y = -20
FOR Wdh1 = 1 TO 200 '200 Wiederholungen (Anfang)
y = y + 20
LINE (1, y)-(640, 480) 'Linie zeichnen
NEXT Wdh1 'Ende Wiederholung
y = -20
FOR Wdh2 = 1 TO 200
y = y + 20
LINE (640, y)-(1, 480)
NEXT Wdh2
x = -20
FOR Wdh3 = 1 TO 32
x = x + 20
LINE (x, 480)-(320, 1)
NEXT Wdh3
|
Ich denke das wird reichen...
Grüße, Elvis _________________ Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+ |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 21.09.2006, 16:57 Titel: |
|
|
@kleiner_hacker:
Eben nicht. Du musst dir das in Maschinensprache umdenken. Gut, da der QB-Compiler einen "call f12345" in den ASM-Code schieben muss, wird's vielleicht in ASM länger (was ich aber 'n bissl bezweifle). Denn: Exit For brauch gleich mehrere ASM-Anweisungen.
Meine ist also schon kürzer und übersichtlicher.
Der Rest kann hinhauen - QB is' bei mir 'nen bissl seltsam, weshalb ich für Basic FB nehme.
Mit dem Rest hast aber schon recht.
Also korriegiert:
Code: |
Function IsPrim(k)
For i=2 To Sqr(k)
If k/i=Fix(k/i) then IsPrim=1
Next
IsPrim=0
End Function
|
@jaruu:
Für Quellcode benutze doch bitte die "[ code ]"-Tags (ohne Leer- und Anführungszeichen).
Lass ich mich doch wieder hinreißen...
Also Do..Loop Until (ungetestet):
Code: |
DefInt A-Z ' alle nicht deklarierten Variablen sind Integer
Input "n: ", n
Do
' Der Code zum Überprüfen der Primzahl is' komplett von dir übernommen
If n % i=0 Then
Print LTrim$(Str$(n)), " ist keine Primzahl!" ' LTrim$(Str$(n)) wandelt die Zahl in einen String um und entfernt das linke Leerzeichen
End
End If
i=i+2
Loop Until i*i<=n
Print LTrim$(Str$(n)), " ist 'ne Primzahl!"
|
Hoffe mal, ist so korrekt.
Sonst einfach mal rumprobieren, oder einfach die QB-MonsterFAQ um Rat fragen. Da hättest du sonst auch alles gefunden.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
jaruuu
Anmeldungsdatum: 21.09.2006 Beiträge: 10
|
Verfasst am: 22.09.2006, 14:14 Titel: |
|
|
Hey
das ist gut danke für eure hilfe
aber das mit der grafik müsste ich mir nochmal durchlesen |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 22.09.2006, 14:18 Titel: |
|
|
jaruu hat Folgendes geschrieben: | ihr macht das schon länger |
Naja... ich nich wirklich  _________________ MFG
Flo
Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.
zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich. |
|
Nach oben |
|
 |
jaruuu
Anmeldungsdatum: 21.09.2006 Beiträge: 10
|
Verfasst am: 25.09.2006, 17:20 Titel: |
|
|
Könnte mir einer erklären wie man bei vorgegebenen Mustern vorgehen muss? |
|
Nach oben |
|
 |
|