Thema Datum  Von Nutzer Rating
Antwort
13.02.2021 13:17:55 Felix
NotSolved
13.02.2021 13:22:53 Gast45136
NotSolved
13.02.2021 13:28:43 Gast25899
NotSolved
Blau Beispiel-Lösung
13.02.2021 16:30:32 Gast74318
*****
NotSolved
13.02.2021 16:39:32 Gast74318
*****
NotSolved
13.02.2021 16:44:17 Gast74318
NotSolved
14.02.2021 11:53:14 Gast55304
NotSolved
14.02.2021 16:58:29 Gast792
NotSolved
14.02.2021 17:02:26 Gast32651
NotSolved
14.02.2021 11:54:38 Gast27943
NotSolved
14.02.2021 12:09:26 Gast40774
NotSolved
14.02.2021 12:10:49 Gast42313
NotSolved
14.02.2021 12:23:15 Gast27890
NotSolved
14.02.2021 13:06:41 Gast61281
NotSolved
14.02.2021 14:41:18 Gast87063
NotSolved
14.02.2021 15:09:18 Gast38430
NotSolved
14.02.2021 16:50:53 Gast17593
NotSolved
24.02.2021 08:34:17 Gast01287
NotSolved
24.02.2021 09:10:34 Gast55509
NotSolved
14.02.2021 18:16:32 Gast20358
*****
NotSolved
14.02.2021 19:08:57 Gast41973
NotSolved
14.02.2021 19:12:12 Gast20358
*****
NotSolved
23.02.2021 16:53:02 Gast21601
NotSolved
23.02.2021 17:04:41 Gast54879
NotSolved
23.02.2021 17:13:17 Gast59647
NotSolved
23.02.2021 17:29:01 Gast4073
NotSolved
23.02.2021 17:42:56 Mase
NotSolved
23.02.2021 22:03:44 Gast63735
NotSolved
23.02.2021 22:20:44 Mase
NotSolved
23.02.2021 22:26:42 Gast8241
*****
NotSolved
24.02.2021 07:59:20 Mase
NotSolved
24.02.2021 14:17:24 Gast14330
NotSolved
24.02.2021 15:50:14 Gast37999
NotSolved
22.04.2021 17:54:50 Gast45889
NotSolved
22.04.2021 19:11:44 Gast37430
*****
NotSolved
23.04.2021 14:51:50 Gast11080
NotSolved

Ansicht des Beitrags:
Von:
Gast74318
Datum:
13.02.2021 16:30:32
Views:
841
Rating: Antwort:
  Ja
Thema:
Beispiel-Lösung

Beispieltext:

Der Stirnlappenbasilisk erreicht eine Länge von rund 80 cm, wovon die Länge des Schwanzes mit 50 bis 55 cm zwei Drittel der Gesamtlänge beträgt. Namensgebend sind die Stirnlappen (die bei den Männchen deutlicher ausgeprägt sind und die Form eines Kopfsegels haben) auf dem Kopf und Hinterkopf des Basilisken. Der Körper ist insgesamt schlank gestaltet, die Beine sind dennoch kräftig gebaut. Die Färbung der Schuppen variiert zwischen dunkelgrün über smaragdgrün bis blaugrün. Zur Bauchseite hin werden die Schuppen heller. Der Rücken ist durch eine gelbliche bis bläuliche Sprenkelung gezeichnet. Die eindrucksvollen Hautkämme auf dem Rücken, die eine Höhe von 5 cm erreichen können, setzen sich bis zur Schwanzwurzel fort. Diese Hautkämme sind beim Weibchen etwas weniger stark ausgeprägt. Die Tiere können in Gefangenschaft bei guter Pflege bis zu 13 Jahre alt werden. In Freiheit sterben sie allerdings deutlich früher.

WORT ANZ POS
 Der 3 0
 Stirnlappenbasilisk 12 6
 erreicht 6 26
 Länge 5 40
 rund 4 50
 cm 2 58
 Schwanzes 9 82
 Gesamtlänge 10 126
 Kopfsegels 8 249
 schlank 7 336
 Schwanzwurzel 11 707
Option Explicit

Sub Test()
  
  Dim rngWord As Word.Range
  Dim dic     As Object 'Scripting.Dictionary
  Dim k       As Long
  Dim k_min   As Long
  Dim k_max   As Long
  
  Set dic = CreateObject("Scripting.Dictionary")
  
  'Formatierung aus vorherigen Durchgang rückgängig machen
  ThisDocument.Range.Font.Reset
  ThisDocument.Range.HighlightColorIndex = wdAuto
  
  'Spaltenbeschriftung der Ausgabe zur Kontrolle im Direktfenster (STRG+G)
  Debug.Print "WORT"; Tab(25); "ANZ"; Tab(30); "POS"
  
  'Wortweise durch den Text bewegen
  For Each rngWord In ThisDocument.Words
    
    'Leerzeichen am Ende eines Wortes weglassen - seltsames Verhalten von Word ¯\_('-')_/¯
    rngWord.MoveEndWhile " ", wdBackward
    
    'unsere Hilfsfunktion aufrufen (siehe unten)
    k = Complexness(rngWord)
    
    If k > 0 Then
      
      'wir merken uns hier gleich den kleinsten und größten k-Wert
      If k < k_min Or k_min = 0 Then k_min = k
      If k > k_max Or k_max = 0 Then k_max = k
      
      'wir nehmen das Wort (also das Word.Range-Objekt) in die Liste auf
      ' weitere Wörter interessieren uns nicht, bei gleicher Komplexität 'k'
      '  - uns interessiert nur das erste Vorkommen
      If Not dic.Exists(k) Then
        
        Call dic.Add(k, rngWord)
        
        'Ausgabe zur Kontrolle im Direktfenster (STRG+G)
        Debug.Print "'"; rngWord.Text; "'"; Tab(25); k; Tab(30); rngWord.Start
      End If
      
    End If
  Next
  
  'einfachste Wort (kleinste Komplexität 'k')
  With dic(k_min) '<- liefert Word.Range-Objekt
    .HighlightColorIndex = WdColorIndex.wdGreen
    .Font.ColorIndex = WdColorIndex.wdWhite
  End With
  
  'komplizierteste Wort (größte Komplexität 'k')
  With dic(k_max) '<- liefert Word.Range-Objekt
    .HighlightColorIndex = WdColorIndex.wdRed
    .Font.ColorIndex = WdColorIndex.wdWhite
  End With
  
End Sub

'Hilfsfunktion
' stellt fest wie kompliziert/komplex ein Wort ist
Private Function Complexness(Word As Word.Range) As Long
  
  Dim rngChr  As Word.Range
  Dim dic     As Object 'Scripting.Dictionary
  
  Set dic = CreateObject("Scripting.Dictionary")
  'wir wollen 'A' von 'a' unterscheiden -> binary compare
  dic.CompareMode = VbCompareMethod.vbBinaryCompare
  
  For Each rngChr In Word.Characters
    Select Case rngChr.Text
      'uns geht es hier nur um Buchstaben
      Case "a" To "z", "A" To "Z", "ä", "ö", "ü", "ß"
        'wir zählen hier aus "Spaß" gleich noch die
        'Anzahl gleicher Zeichen mit (z.B. wie oft kommt 'a' in »Banane« vor)
        ' mit der Information fangen wir hier aber nichts weiter an
        dic(rngChr.Text) = dic(rngChr.Text) + 1
    End Select
  Next
  
  'Anzahl unterschiedlicher Zeichen
  Complexness = dic.Count
  
End Function

 

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
13.02.2021 13:17:55 Felix
NotSolved
13.02.2021 13:22:53 Gast45136
NotSolved
13.02.2021 13:28:43 Gast25899
NotSolved
Blau Beispiel-Lösung
13.02.2021 16:30:32 Gast74318
*****
NotSolved
13.02.2021 16:39:32 Gast74318
*****
NotSolved
13.02.2021 16:44:17 Gast74318
NotSolved
14.02.2021 11:53:14 Gast55304
NotSolved
14.02.2021 16:58:29 Gast792
NotSolved
14.02.2021 17:02:26 Gast32651
NotSolved
14.02.2021 11:54:38 Gast27943
NotSolved
14.02.2021 12:09:26 Gast40774
NotSolved
14.02.2021 12:10:49 Gast42313
NotSolved
14.02.2021 12:23:15 Gast27890
NotSolved
14.02.2021 13:06:41 Gast61281
NotSolved
14.02.2021 14:41:18 Gast87063
NotSolved
14.02.2021 15:09:18 Gast38430
NotSolved
14.02.2021 16:50:53 Gast17593
NotSolved
24.02.2021 08:34:17 Gast01287
NotSolved
24.02.2021 09:10:34 Gast55509
NotSolved
14.02.2021 18:16:32 Gast20358
*****
NotSolved
14.02.2021 19:08:57 Gast41973
NotSolved
14.02.2021 19:12:12 Gast20358
*****
NotSolved
23.02.2021 16:53:02 Gast21601
NotSolved
23.02.2021 17:04:41 Gast54879
NotSolved
23.02.2021 17:13:17 Gast59647
NotSolved
23.02.2021 17:29:01 Gast4073
NotSolved
23.02.2021 17:42:56 Mase
NotSolved
23.02.2021 22:03:44 Gast63735
NotSolved
23.02.2021 22:20:44 Mase
NotSolved
23.02.2021 22:26:42 Gast8241
*****
NotSolved
24.02.2021 07:59:20 Mase
NotSolved
24.02.2021 14:17:24 Gast14330
NotSolved
24.02.2021 15:50:14 Gast37999
NotSolved
22.04.2021 17:54:50 Gast45889
NotSolved
22.04.2021 19:11:44 Gast37430
*****
NotSolved
23.04.2021 14:51:50 Gast11080
NotSolved