Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Wörter eines Satzes zählen

Empfohlene Antworten

Veröffentlicht

Hallo,

ich schreibe morgen eine EDV Klausur und mache Übungsaufgaben zu VB

folgende Aufgabenstellung:

/////

Schreiben Sie ein Funktionsunterprogramm, dass die Wörter eines Satzes zählt. Schreiben Sie ferner eine kleine Prozedur, mit der das Funktionsunterprogramm getestet wird.

/////

mein bisheriger Ansatz:

Sub wörter()

Dim satz As String

Dim liste As String

Dim leerzeichen As String

Dim element As String

satz = InputBox("Bitte geben sie ihren Satz ein")

leerzeichen = " "

liste = Split(satz, leerzeichen)

end sub

wie kann ich jetzt am besten die Wörter zählen? Programmiere mit Excel also bitte berücksichtigen (ohne Form etc.) nur Inputboxen und so

  • Autor

größten erlaubten index? sry hab bisher nur die absoluten Grundlagen von visual basic drauf wie variablen difinieren, hier und da mal ne schleife, if anweisung etc ,.. kannst du das für mich verständlicher ausdrücken? vllt ein beispiel?

wie Klotzkopp schon erwähnt hat: du darfst "liste" nicht als datentyp "String" definieren, da die funktion Split als ergebnis keinen String, sondern ein Array (oder Variant-Array) liefert - abhängig von der nicht angegebenen verwendeten VB-version.

weiters soll laut aufgabenstellung eine funktion ("Funktionsunterprogramm"), keine prozedur ("Sub") erarbeitet werden. erstere gibt normalerweise ein ergebnis zurück - es ist anhand der aufgabe anzunehmen, dass damit die anzahl der wörter des satzes zurückgegeben werden sollen, damit die aufrufende "kleine Prozedur" ("Sub") dies auswerten kann.

die weiters erwähnte funktion Ubound liefert dir die anzahl der elemente (wörter) in einem array zurück.

s'Amstel

  • Autor

ich habe doch geschrieben das ich mit excel programmiere, keine ahnung was das für ne version ist. Studiere maschinenbau da ist EDV nur dafür da das mal das mal gehört hat.

hab auch keinen blassen schimmer was arrays sind !? nie gemacht

danke

Dim liste As String

liste = Split(satz, leerzeichen)

wie gesagt, du kannst daten eines Array nicht in den datentyp String zwängen. was du bekommst, ist ein fehler, dass VB(A) die datentypen nicht umwandeln kann. verwende ein array - welches mit einem variablennamen und abschliessenden klammern '()' deklariert wird, oder verwende ein Array vom typ Variant.

Sub wörter()

meiner meinung nach ist hier eine funktion erfoderlich, keine prozedur. persönlich finde ich ausserdem umlaute im funktionen und variablennamen unschön.

s'Amstel

  • Autor

ich hab das jetzt so gemacht:


Sub splitstring()


Dim Text As String, Punkt As String

Dim Position As Integer, Wörter As Integer, Zeichen As Integer


Text = InputBox("Bitte Text eingeben und mit einem Punkt abschließen!")

Position = 1

Wörter = 1

Zeichen = 0

Text = Trim(Text)


Do Until Punkt = "."

Punkt = Mid(Text, Position, 1)

Position = Position + 1

If Punkt = " " Then

    Wörter = Wörter + 1

Else

    Zeichen = Zeichen + 1

End If

Loop


MsgBox ("Es sind " & Wörter & " Wörter im Satz enthalten, außerdem " & Zeichen & " Zeihen mit Punkt und ohne Leerzeichen.")


End Sub

das geht auch und ganz ohne arrays :) natürlich mit ein paar einschränkungen (Punkt am ende, nur ein leerzeichen zwischen den Wörtern etc.)

dir ist aber schon klar dass das coding fürn Popo ist, oder? :D

mach das lieber mit split, da haste was ordentliches... oder frage die wörter selber ab, aber bitte nicht die leerzeichen :(

und was soll das mit dem punkt? wenn die position größer ist als die länge des strings ist schluss... nicht wenn ein punkt kommt

  • Autor

lol ja sicherlich ist die programmierung fürn mors aber ich bin halt auch kein Fachinformatiker. für morgen solls wohl reichen hoffe ich mal.

aber das mit den Längen ist ne gute Idee :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.