PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe!


Günther
2003-01-09, 19:12:05
Hallo
Ich hab morgen einen Test über Visual Basic und ich hab einen Zettel bekommen wo Programme oben stehen die eventuell kommen, und bei drei Programmen wollt ich fragen wie man das macht

Eingabeteil kann ich, ich hab ihn aber trotzdem dazu geschrieben .


Eingabe:
Bestimmte Anzahl von Zahlen eingeben
Beliebige Anzahl von Zahlen eingeben, nach vorheriger Festlegung
Beliebige Anzahl von Zahlen eingeben, mit Abbruchbedingung

Verarbeitung/Ausgabe:
Summe aller Primzahlen von 1-100
Summe aller geraden Zahlen von 1-100
Summe aller ungeraden Zahlen von 1-100

(Da weiß ich nicht wie ich die ungeraden/geraden/Primzahlen rausfilter)


Bitte helfen
(Und ja es ist mir peinlich das ich mit Visual Basic arbeiten muss, und hier um Hilfe fragen muss)

Asaraki
2003-01-09, 19:39:21
Also von VB hab ich keine Ahnung, aber gibts da sowas wie Modulo? Weil damit wärs dann natürlich relativ einfach... kenne halt die Möglichkeiten von VB ned...

Allgemein musste einfach jede Zahl x (mögliche Primzahl) durch alle Zahlen < x teilen und sehen ob es eine ganze Zahl gibt. In Java würd ich das jetzt mit Modulo machen, wie man das in VB macht, k.a.

Kannst allerdings, wenn vorhanden?, n datentyp mit paar kommastellen nehmen und jeweils per substring die 1. stelle nach dem komma auslesen, die muss 0 sein... das gleiche btw mit gerade/ungerade... einfach durch 2 teilen und es muss eine ganze Zahl geben

Hoffe konnte dir weiterhelfen, ich geh jetzt weiter meine Grippe auskurieren.... hoffentlich läuft was Gutes im TV

Günther
2003-01-09, 19:48:03
Originally posted by dreizehn
Also von VB hab ich keine Ahnung, aber gibts da sowas wie Modulo? Weil damit wärs dann natürlich relativ einfach... kenne halt die Möglichkeiten von VB ned...

Allgemein musste einfach jede Zahl x (mögliche Primzahl) durch alle Zahlen < x teilen und sehen ob es eine ganze Zahl gibt. In Java würd ich das jetzt mit Modulo machen, wie man das in VB macht, k.a.

Kannst allerdings, wenn vorhanden?, n datentyp mit paar kommastellen nehmen und jeweils per substring die 1. stelle nach dem komma auslesen, die muss 0 sein... das gleiche btw mit gerade/ungerade... einfach durch 2 teilen und es muss eine ganze Zahl geben

Hoffe konnte dir weiterhelfen, ich geh jetzt weiter meine Grippe auskurieren.... hoffentlich läuft was Gutes im TV


Danke ich weiß schon wie ich das mach!

Marcel
2003-01-09, 19:52:36
Originally posted by dreizehn


Also von VB hab ich keine Ahnung, aber gibts da sowas wie Modulo? Weil damit wärs dann natürlich relativ einfach...

Ja, gibt es. Müsste in der Online-Hilfe bei den ganzen arithmetischen Operatoren stehen; hab's grad nicht im Kopf und hier auch kein VB installiert.

Summe aller geraden Zahlen ist mit Modulo dann so:

Idee: Wenn eine gerade Zahl durch 2 teilbar ist, dann ist der Rest der Division durch 2 gleich 0.

summe = 0
Schleife: i von 1 bis 100
wenn i modulo 2 = 0 dann summe = summe + 1


(alternativ kannst Du auch die Zahlen von 1 bis 50 durchgehen und i*2 auf die Summe addieren)

Summe der ungeraden Zahlen dürfte dann nicht mehr schwer sein... :)

Bei den Primzahlen gibt's zwei Möglichkeiten.
a) Du nimmst obige Schleife und bettest eine weitere Schleife ein, in der Du prüfst, ob i durch irgendeine Zahl von 2 bis Wurzel aus i teilbar ist. Wenn nicht, ist sie prim.
b) Du baust Dir ein Array mit 100 Elementen, in dem die Zahlen 1 bis 100 stehen. Dann machst Du mit allen Zahlen von 1 bis 10 (weil 10 = Wurzel aus 100) folgendes: Du setzt in allen Feldern dieses Arrays, in denen Vielfache dieser Zahl stehen, eine 0. Dann brauchst Du nur noch die Werte, die im Array stehen, addieren. Weiteres hierzu weiß Annette (http://www.google.de/search?q=Sieb+des+Eratosthenes).

Gruß,
Marcel

Günther
2003-01-09, 20:07:27
Option Explicit
Dim lauf As Integer
Dim Summe As Double
Sub Program()
Summe = 0
For lauf = 1 To 100
If lauf Mod 2 = 0 Then
Summe = Summe + lauf
End If
Next lauf
MsgBox "Die Summe aller geraden Zahlen beträgt" + Str(Summe)
End Sub

:bonk:

Ich hab die Lösung gefunden ich hab statt Summe = Summe + 1, Summe = Summe + lauf genommen !
wobei lauf als Schleife definiert ist!
danke, für die hilfe!

Jetzt probier ichs mal mit den Primzahlen und den ungeraden, ich schreib dann obs gefunzt hat

Günther
2003-01-09, 20:22:25
Option Explicit
Dim lauf As Integer
Dim Summe As Double
Private Sub Program()
Summe = 0
For lauf = 1 To 100
If lauf Mod 2 = 0 Then
Summe = Summe + lauf
End If
Next lauf
MsgBox "Die Summe aller geraden Zahlen beträgt" + Str(Summe)
End Sub
Private Sub ungerade()
Summe = 0
For lauf = 1 To 100
If lauf Mod 2 = 0 Then
Else
Summe = Summe + lauf
End If
Next lauf
MsgBox "Die Summe aller ungeraden Zahlen beträgt" + Str(Summe)
End Sub
Private Sub alleZ()
Summe = 0
For lauf = 1 To 100
Summe = Summe + lauf
Next lauf
MsgBox "Die Summe aller Zahlen beträgt" + Str(Summe)
End Sub


Ich hab die ungeraden auch gschafft und ein weiteres Programnm war alle Zahlen von 1-100 das hab ich aber vorher schon gmacht, da hab ich keine modulo funktion braucht, wenn man das Ergebnis der ersten beiden Programme zusammen zählt kommt man auf das Ergebniss des 3 Programms, demnach stimmt es, war dann sogar eher leicht, dann brauch ich nur noch die Primzahlen!

Asaraki
2003-01-09, 20:48:34
VB code sieht ja dämlich aus

Günther
2003-01-09, 20:52:10
Originally posted by dreizehn
VB code sieht ja dämlich aus

stimmt

Asaraki
2003-01-09, 22:03:23
und ich dachte PL1 sieht dämlich aus ^^

Günther
2003-01-09, 22:09:36
Originally posted by dreizehn
und ich dachte PL1 sieht dämlich aus ^^


wieso wie sieht das aus! :naughty:

Asaraki
2003-01-10, 00:42:28
scheisse... aber vb sieht noch ne länge dämlciher aus ^^

pl1 is ne alte cobol-variante in zürich, wo ich lebe, entwickelt und weitaus mächtiger und besser als cobol... durch pl1 progs laufen die meisten geschäfte der grossen schweizre banken ;)

Günther
2003-01-10, 14:22:40
Originally posted by dreizehn
scheisse... aber vb sieht noch ne länge dämlciher aus ^^

pl1 is ne alte cobol-variante in zürich, wo ich lebe, entwickelt und weitaus mächtiger und besser als cobol... durch pl1 progs laufen die meisten geschäfte der grossen schweizre banken ;)

ASO!


Ich hab das gestern mit den Primzahlen nicht geschafft, aber es kam zum glück was anderes.
Ich musste in einem Hauptprogramm eine InputBox machen wo 3 Zahlen eingelesen werden und die Zahlen musste ich ins Unterprogramm bringen und dort testen ob die Zahl gerade oder ungerade ist :biggrin: da ich das ja gestern schon gmacht hab, und wir das heft während dem test benutzen durften (muahahahaha) hab ich einfach alles abgeschrieben (ich musste nur ein paar Dinge ändern)

Das lustigste war aber das wir zuerst auf einen Zettel die befehle schreiben, er die zettel dann absammelt und kopiert, und wir konnten testen ob sie funzen! Bei mir hat's als einzigr gefunzt, die anderen mussten was ändern und bekam, eine drei,vier oder fünf , eine 2 gabs nicht und ich war der einzige der eine Eins hatte MUAHAHAHAHAHA!!!!!!





Danke Marcel und Dreizehn

Fullover
2003-01-10, 14:33:50
Java 4 ever!!! :D

Fullover
2003-01-10, 14:33:57
Java 4 ever!!! :D

Günther
2003-01-10, 14:53:15
He du doppelposter!