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:

<QBasic Programme>

 
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
jaruuu



Anmeldungsdatum: 21.09.2006
Beiträge: 10

BeitragVerfasst am: 21.09.2006, 14:37    Titel: <QBasic Programme> Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 21.09.2006, 14:46    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



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

BeitragVerfasst am: 21.09.2006, 14:51    Titel: Antworten mit Zitat

Hi. lächeln
Klingt doch ziemlich nach 'ner Hausaufgabe - und Hausaufgaben machen wir hier nicht. zwinkern

@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
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 21.09.2006, 14:54    Titel: Antworten mit Zitat

quick'n'dirty
solol er sich doch die mühe machn des gscheid zu machen lächeln
außerdem: in qb motzt er meines wisens bei function=x

aber deine function is auch länger lächeln 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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jaruuu



Anmeldungsdatum: 21.09.2006
Beiträge: 10

BeitragVerfasst am: 21.09.2006, 15:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 21.09.2006, 16:17    Titel: Antworten mit Zitat

Also, ich hab jetzt mal zu dem Muster
schnell einen Code hingewurschtelt... ist also nicht ganz perfekt cool
Aber bei dem Code kann man gut Finetunen... happy zwinkern

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... cool


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



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

BeitragVerfasst am: 21.09.2006, 16:57    Titel: Antworten mit Zitat

@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. zwinkern
Meine ist also schon kürzer und übersichtlicher. zwinkern
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. grinsen
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). zwinkern
Lass ich mich doch wieder hinreißen... peinlich
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. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jaruuu



Anmeldungsdatum: 21.09.2006
Beiträge: 10

BeitragVerfasst am: 22.09.2006, 14:14    Titel: Antworten mit Zitat

Hey
das ist gut danke für eure hilfe zwinkern

aber das mit der grafik müsste ich mir nochmal durchlesen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 22.09.2006, 14:18    Titel: Antworten mit Zitat

jaruu hat Folgendes geschrieben:
ihr macht das schon länger


Naja... ich nich wirklich lächeln
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jaruuu



Anmeldungsdatum: 21.09.2006
Beiträge: 10

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

Könnte mir einer erklären wie man bei vorgegebenen Mustern vorgehen muss?
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
Seite 1 von 1

 
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