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:

Auswerten einer sequenziellen Datei

 
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
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 03.07.2007, 19:25    Titel: Auswerten einer sequenziellen Datei Antworten mit Zitat

hi, ich bin neu hier und ich lerne Qbasic noch, daher verzeiht bitte wenn meine Frage zu einfach ist.

Also es handelt sich um folgendes Problem:

Ich habe eine seq. Datei mit 9000 Meßwerten von denen einige nicht im Gültigkeitsbereich liegen, nun will ich die Meßwerte in Gruppe zu je 150 zusammenfassen, den Mittelwert der gültigen Werte bestimmen und die prozentuale Angabe gültiger Werte.
Mein Prog entwurf:
CLS
DIM x(8 )
FOR i = 1 TO 8
INPUT x(i)
NEXT i
FOR i = 1 TO 4
IF x(i) < 8 AND x(i) >= 3 THEN
mittel1 = mittel1 + x(i)
w = w + 1
END IF
NEXT i
FOR i = 5 TO 8
IF x(i) < 8 AND x(i) >= 3 THEN
mittel2 = mittel2 + x(i)
w2 = w2 + 1
END IF
NEXT i
mittel = mittel1 / 4
mittelw = mittel2 / 4
PRINT mittel, (w / 4) * 100
PRINT mittelw, (w2 / 4) * 100
END

Wie ihr natürlich seht ist das nur ein Versuch mir das allgemeine Vorgehen anzueignen, also gebe ich ein Feld als ersatz für die Datei ein und es läuft ja auch alles wie es soll, nur will ich wissen wie man die Gruppierung, die ja in zwei unterschiedlichen Schleifen nochmal gemacht wird so hinbekommen kann, dass ich nicht bei meiner Aufgabe von oben 60 Zählschleifen machen muss.

Viele dank schonmal im Voraus

mfg seimon


Zuletzt bearbeitet von seimon am 03.07.2007, 22:01, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 03.07.2007, 20:00    Titel: Antworten mit Zitat

arrays verwenden zwinkern

weißt du schon was arrays sind (durchgeknallt) ?

man dimensioniert sie mit einem
Code:

dim array_name(anfangswert TO endwert) as datentyp


dann sind das wie gaaaanz viele variablen, nur wird ein array mit der Zahl im eingeklammerten angesprochen:
Code:

dim bla(1 to 3) as string

bla(1) = "Hello"
bla(2) = "world"
bla(3) = "!"

print bla(1) + " " + bla(2) + bla(3)


ausgabe:
Code:

Hello world!

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 03.07.2007, 22:00    Titel: Antworten mit Zitat

Hi und danke für die Antwort. Ich hab doch Arrays verwendet, also Felder^^, nur ist mir dann nicht ganz klar wie ich aus diesem Feld die Summe bilden kann wenn ich keine Schleife verwende und wie ich das mit der prozentualen Verteilung machen soll.

mfg seimon
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 03.07.2007, 22:55    Titel: Antworten mit Zitat

wenn du weißt wie groß das feld is kannst du einfach mit feld(1)+feld(2)+feld(3)+...+feld(größterwert) das ganze von hand zusammenzählen.. aber schleife is einfacher zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 03.07.2007, 22:57    Titel: Antworten mit Zitat

Hallo

Verstehe ich das richtig, Du willst von allen 60 Gruppen zu je 150 Messwerten den jeweiligen Mittelwert der gültigen und den Anteil der ungültigen, also zwei mal 60 Werte? Dann könntest Du einfach zwei Schleifen ineinander verschachteln. Arrays brauchst Du dann nur, um die Mittelwerte bzw. Anteile von ungültigen Werten zu speichern, wenn Du diese noch weiter verarbeiten willst. Die Messwerte selbst brauchst Du doch eigentlich nicht mehr. So stelle ich mir das vor, das Beispiel zeigt die Werte für jede Gruppe einfach nur an.

Code:
CLS
OPEN "mess.dat" FOR INPUT AS #1
FOR gruppe = 0 TO 59
 summe = 0
 gueltige = 0
 FOR wert = 0 TO 149
  INPUT #1, x
  IF x < 8 AND x >= 3 THEN
   summe = summe + x
   gueltige = gueltige + 1
  END IF
 NEXT
 PRINT "Mittelwert Gruppe"; gruppe; ": "; summe / gueltige
 PRINT "Anteil ungueltiger Werte:"; (150 - gueltige) / 1.5; "%"
 SLEEP 'Wartet auf Tastendruck
NEXT
CLOSE #1


Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
seimon



Anmeldungsdatum: 09.06.2007
Beiträge: 12

BeitragVerfasst am: 04.07.2007, 15:59    Titel: Antworten mit Zitat

Hi, ich bin gestern Nacht auch noch auf die Idee mit den Schleifen gekommen, nun sieht mein Prog so aus, falls euch das interessiert^^:
Code:
CLS
DIM x(9000)
m = 60    'Gruppen
n = 150    'Messwerte pro Gruppe
FOR j = 1 TO m

  FOR i = (j - 1) * n + 1 TO j * n
    INPUT x(i)
    IF x(i) < 8 AND x(i) >= 3 THEN
       mittel1 = mittel1 + x(i)
       w = w + 1
    END IF
  NEXT i
  mittel = mittel1 / w
   
  PRINT mittel, (w / n) * 100

NEXT j

END


Danke für die Hilfe.

mfg seimon
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thomas Antoni



Anmeldungsdatum: 12.10.2004
Beiträge: 220
Wohnort: Erlangen

BeitragVerfasst am: 16.07.2007, 15:50    Titel: Antworten mit Zitat

Anregungen gibt's - wie fast bei allen Standardproblemen in der QB-MonsterFAQ unter

"Zahlen verarbeiten ... -> Wie berechne ich den Minimal-, Maximal- und Mittelwert mehrerer Zahlen?"
_________________
+++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++
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