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:

Algorithmus und Struktogramm für Primfaktorzerlegung

 
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
timpa



Anmeldungsdatum: 19.12.2011
Beiträge: 5

BeitragVerfasst am: 19.12.2011, 15:54    Titel: Algorithmus und Struktogramm für Primfaktorzerlegung Antworten mit Zitat

Liebe Forenmitglieder!
Ich bin erst neu hier und habe auch gleich eine frage. Ich habe dieses Jahr neu mit Informatik begonnen. So richtig bin ich noch nicht dahinter gekommen wie ich Algorithmen programmiere.
Meine frage ist nun wie das strucktogram und die dazugehörige syntax für qbasic aussieht.:


Ein Algorithmus der eine natürliche Zahl einliest, sie in ein Produkt von Primzahlen zerlegt und diese angibt.

Wäre nett wenn mir da jemand ein wenig hilfe leisten könnte!

Danke schonmal im vorraus!lächeln

Editiert durch Moderator: Ursprünglicher Titel "Algotithmus für Qbasic" ersetzt. (Sebastian)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 19.12.2011, 16:06    Titel: Antworten mit Zitat

Vom Thema her würde das in den Bereich "Allgemeine Fragen zu QBasic" gehören.

Wenn ich dir den Algorithmus hier aufschreibe, wird dir das langfristig nichts bringen, deswegen versuch ich das hier einmal zu entwickeln. Bevor du so etwas im Computer umsetzen kannst, musst du wissen, welche einzelnen Schritte dabei ablaufen sollen. Also:

Wenn du eine natürliche Zahl (per Hand) in seine Primfaktoren zerlegen sollst, welche Schritte wirst du da nacheinander abarbeiten?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
erdock



Anmeldungsdatum: 19.12.2011
Beiträge: 4

BeitragVerfasst am: 19.12.2011, 17:06    Titel: Antworten mit Zitat

hey Tim wie gehts dir ich kann dir leider nicht helfen ich bins Erik Zunge rausstrecken

bräuchte auch hilfe ...

http://forum.qbasic.at/viewtopic.php?t=7705
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Input



Anmeldungsdatum: 28.07.2014
Beiträge: 59

BeitragVerfasst am: 23.08.2014, 20:39    Titel: Antworten mit Zitat

Hab das mal etwa so gemacht:

Code:

INPUT "Zahl";x
cls:y=2:z=2
DO
IF x<y*z THEN y=y+1:z=2
IF x/y=FIX(z) THEN PRINT y;:x=x/y:y=2:z=2
IF x/y=1 THEN PRINT y;:end
z=z+1
LOOP
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 23.08.2014, 21:39    Titel: Antworten mit Zitat

Code:
IF x/y=FIX(z) THEN [...]

Wozu das FIX? z ist doch immer ein INTEGER.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
HorstD



Anmeldungsdatum: 01.11.2007
Beiträge: 107

BeitragVerfasst am: 23.08.2014, 22:32    Titel: Antworten mit Zitat

UngeDIMmt ist z ein SINGLE.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 23.08.2014, 22:42    Titel: Antworten mit Zitat

HorstD hat Folgendes geschrieben:
UngeDIMmt ist z ein SINGLE.

Ja, in QB standardmäßig SINGLE (trifft ja hier zu), in FB standardmäßig INTEGER, das meinte nemored sicherlich.
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 23.08.2014, 22:58    Titel: Antworten mit Zitat

Was ich eigentlich meinte:
Wenn nur z=2 und z=z+1 verwendet wird, wo brauche ich da ein FIX?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Input



Anmeldungsdatum: 28.07.2014
Beiträge: 59

BeitragVerfasst am: 24.08.2014, 05:11    Titel: Antworten mit Zitat

Ja: es geht auch ohne, sorry. peinlich
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 24.08.2014, 13:33    Titel: Antworten mit Zitat

Dieses Problem löste ich bereits ganz früher auf dem Commodore 64 ...

Sonst als Tipps von mir:
- Am besten Longint verwenden, Du brauchst definitiv keine Fliesskommazahlen. FreeBasic: Dort sogar Unsigned Integer möglich
- Ein wichtiger Freund und Helfer: MOD (Divisionsrest) und "\" -> macht INT(), FIX() usw. allesamt ebenfalls überflüssig (alles für Fliesskommazahlen bestimmt)
- Von der Optimierung her: Primzahl 2 separat, anschliessend alle ungeraden, also 3, 5, 7 usw. durchgehen
- Abbruchbedingung: Sobald auszuprobierender Faktor grösser als der Rest, dann Ende. => Du musst also nur bis SQR(Zahl) durchprobieren
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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