Français
Source/ Codesnippets

Worthäufigkeiten dans Texten

 

p.specht

Linguisten et Philologen, qui vieille Textes analysieren, erstellen souvent Text-Statistiken, u.a. sur qui Häufigkeiten qui verwendeten Worte et Textelemente. cela peut ensuite Rückschlüsse sur den l'auteur trop. mais aussi Crypto-Analytiker besoin derartige Statistiken, etwa comme Vorbereitung, um überhaupt seulement fois le zugrundeliegende Discours trop ermitteln...

ici ca va allerdings seulement ums Prinzip, z.B. comment on pour Häufigkeiten absteigend indexiert, mais qui aufsteigende Ordre dans den Häufigkeitsgruppen beibehält. sur Dateioperationen wurde bewusst verzichtet, es ging oui ici seulement um den Algorithmus...
Titre de la fenêtre "TEXTANALYSE: Häufigkeit de Textelementen ermitteln"
'(CL) CopyLeft 2014-10 by P.Specht, Wien; sans chacun Gewähr!
Init:
Fenêtre Style 24
Déclarer text$,t$[],v&[],n&,w$[],h&[],m&,i&,j&,wd$,gef&,maxh&,maxw$
Déclarer kk$,kl&,clé$[]
Beginn:
Font 2:randomize:CLS rnd(8^8)
TEXT_EINLESEN
' TEXTVORBEREITUNG, modifié den eingelesenen Text! Alternative: sur Duplikat travailler...
text$=translate$(text$,"\n"," "):text$=translate$(text$,"\t"," ")
text$=translate$(text$,"."," . "):text$=translate$(text$,»," , ")
text$=translate$(text$,"!"," ! "):text$=translate$(text$,"?"," ? ")
text$=translate$(text$,"-"," - "):text$=translate$(text$,"("," ( ")
text$=translate$(text$,")"," )"):text$=translate$(text$,"'"," ' ")
text$=translate$(text$,"´"," ´ "):text$=translate$(text$,"'"," ' ")
text$=translate$(text$,»," : "):text$=translate$(text$,"  "," ")
text$=translate$(text$,"  "," "):text$=translate$(text$,»," \ \ ")
text$=translate$(text$,"//"," / / ")
t$[]=explode(text$," "):t$[]=upper$(t $[&index])
n&=sizeof(t $[]):imprimer " ";n&;" Textteile aufbereitet."
' UNIFIZIERUNG: chez Wörtern seulement 1. Vorkommen Sauver, pour Häufigkeit zählen:
m&=-1:maxh&=0:whileloop 0,n&-1:i&=&Boucle:wd$=t $[i&]
locate 1,1:imprimer tab(69);mid$("--\\||//",1+(m& mod 8),1);'AKTIVITÄTS-MARKER

si m&=-1:w$[0]=wd$:h&[0]=1:m&=0

    d'autre :gef&=0:whileloop 0,m&:j&=&Boucle:si w$[j&]=wd$:h&[j&]=h&[j&]+1
    ' qui folgende la ligne wird seulement gebraucht, si Häufigkeit h&[] im Schlüsselfeld k$[] 'invertiert'...

    si maxh&<h&[j&]:maxh&=h&[j&]:maxw$=w$[j&]:endif' ... volonté muss { h&[]=maxh-h&[&index] }

        gef&=1:pause :endif :endwhile :cas gef&:continue : inc m&:w$[m&]=wd$:h&[m&]=1:endif :endwhile
        imprimer "\n ";int(m&+1);" verschiedene Worte ou bien marque trouvé.\n"
        imprimer " Häufigstes Textelement:  ";chr$(34);maxw$;chr$(34),"<";maxh&;">"
        ' SCHLÜSSELFELD SCHAFFEN
        ' but: Pour Häufigkeit h&[] absteigend, mais dedans Häufigkeitsgruppe Worte w$[] aufsteigend!
        setsize clé$[],m&+1:kl&=int(lg(m&)):kk$=mkstr$("0",kl&):kl&=kl&+1
        ' TRICK: là seulement aufsteigende Indexierung disponible, wird Schlüsselfeld gespiegelt à Maxh&:
        h&[]= maxh&-h&[&index]
        clé$[] = right$( kk$+str$(h&[&index]),kl&)+w$[&index]
        h&[]= maxh&-h&[&index]' dans Original rückwandeln, alternativ pourrait on separates Array aufbauen
        ' INDEXIEREN DES SCHLÜSSELFELDES: pour champ h&[] absteigend et champ w$[] aufsteigend
        setsize v&[],m&+1
        v&[]=QuickIndex$Up(clé$[])
        ' Aufräumen
        Claire clé$[]' ici pas plus nécessaire
        '{ AUSGABE
        imprimer "\n Text-Elemente pour Häufigkeit: "
        imprimer "----------------------------------------------------------"

        whileloop 0,m&

            imprimer " ";int(1+&Boucle);". ";tab(7);" <";h&[v&[&Boucle]];"> ";w$[v&[&Boucle]];" "

            si %csrlin>30:waitinput:cls rnd(8^8):endif'<<<je pour Monitorauflösung

            endwhile

            imprimer "----------------------------------------------------------"
            '}
            BEEP:Waitinput
            Imprimer " Wiedersehen!"
            waitinput 6000
            FIN

            proc QuickIndex$Up :parameters a$[]

                declare n&,p&,l&,r&,s&,sl&[],sr&[],w$,t&,x$,i&,j&,v&[]
                n&=sizeof(a$[]):s&=1:setsize v&[],n&:v&[]=&index:s&=1:sl&[1]=0:sr&[1]=n&-1

                tandis que s&>0:l&=sl&[s&]:r&=sr&[s&]:dec s&:tandis que l&<r&:i&=l&:j&=r&:p&=(l&+r&)\2

                    si a$[v&[l&]]>a$[v&[p&]]:w$=v&[l&]:v&[l&]=v&[p&]:v&[p&]=w$:endif

                        si a$[v&[l&]]>a$[v&[r&]]:w$=v&[l&]:v&[l&]=v&[r&]:v&[r&]=w$:endif

                            si a$[v&[p&]]>a$[v&[r&]]:w$=v&[p&]:v&[p&]=v&[r&]:v&[r&]=w$:endif :x$=a$[v&[p&]]

                                tandis que i&<=j&:tandis que a$[v&[i&]]<x$:inc i&:endwhile :tandis que x$<a$[v&[j&]]:dec j&:endwhile

                                    si i&<=j&:t&=v&[i&]:v&[i&]=v&[j&]:v&[j&]=t&:inc i&:dec j&:endif :endwhile

                                        si (j&-l&)<(r&-i&):si i&<r&:inc s&:sl&[s&]=i&:sr&[s&]=r&:endif :r&=j&:d'autre

                                            si l&<j&:inc s&:sl&[s&]=l&:sr&[s&]=j&:endif :l&=i&:endif :endwhile :endwhile

                                                return v&[]

                                            endproc

                                            proc TEXT_EINLESEN'Eingabeteil: Text$ z.B. avec LOREM IPSUM initialisieren

                                                Text$="The quick brown fox jumps over le lazy dog. \n\n" +\
                                                "Lorem Ipsum est un einfacher Demo-Text pour qui Imprimer- et Schriftindustrie. "+\
                                                "Lorem Ipsum ist dans qui industrie bereits qui Standard Demo-Text depuis 1500, comme "+\
                                                "ein unbekannter Schriftsteller une main voll Wörter nahm et cet durcheinander "+\
                                                "warf um un Musterbuch trop erstellen. Es hat pas seulement 5 Jahrhunderte überlebt, "+\
                                                "sondern aussi dans Spruch dans qui elektronische Schriftbearbeitung geschafft (bemerke, "+\
                                                "nahezu inchangé). Bekannt wurde es 1960, avec dem erscheinen de 'Letraset', "+\
                                                "welches Passagen de Lorem Ipsum enthielt, so comment Desktop Software comment 'Aldus PageMaker' "+\
                                                "- également avec Lorem Ipsum. " +\
                                                "Es est un long erwiesener Fakt, dass un Leser vom Text abgelenkt wird, si il sich "+\
                                                "ein Layout ansieht. qui Punkt, Lorem Ipsum trop nutzen, ist, dass es plus ou bien moins "+\
                                                "die normale Anordnung de Buchstaben darstellt et somit pour lesbarer Discours aussieht. "+\
                                                "Viele Desktop Publisher et Webeditoren nutzen mittlerweile Lorem Ipsum comme den "+\
                                                "Standardtext, aussi qui cherche im Internet pour 'lorem ipsum' pouvoir viele Webseiten sichtbar, "+\
                                                "wo cet encore toujours vorkommen. Mittlerweile gibt es plusieurs Versionen des Lorem Ipsum, "+\
                                                "einige zufällig, autre bewusst (beeinflusst de Witz et des eigenen Geschmacks). \n\n" +\
                                                \
                                                "Glauben ou bien pas croyons, Lorem Ipsum ist pas seulement un zufälliger Text. il hat "+\
                                                "Wurzeln aus qui Lateinischen Literatur de 45 v. Chr, quoi ihn sur 2000 Jahre vieux pouvoir. "+\
                                                "Richar McClintock, un Lateinprofessor des Hampden-Sydney College dans Virgnia untersuche "+\
                                                "einige undeutliche Worte, 'consectetur', einer Lorem Ipsum passage et fand une "+\
                                                "unwiederlegbare source. Lorem Ipsum komm aus qui Sektion 1.10.32 et 1.10.33 des "+\
                                                "'de Finibus Bonorum et Malorum' (qui Extreme de bien et Böse) de Cicero, geschrieben "+\
                                                "45 v. Chr. cet livre ist traité qui Ethiktheorien, très bekannt wärend qui Renaissance. "+\
                                                "Die erste la ligne des Lorem Ipsum, ''Lorem ipsum dolor sit amet...'', venez aus einer la ligne "+\
                                                "der Sektion 1.10.32. \n"+\
                                                \
                                                "Der Standardteil de Lorem Ipsum, genutzt depuis 1500, ist reproduziert pour qui, qui es "+\
                                                "interessiert. Sektion 1.10.32 et 1.10.33 de ''de Finibus Bonorum et Malroum'' de Cicero "+\
                                                "sind aussi reproduziert dans ihrer Originalform, abgeleitet de qui Englischen Version aus "+\
                                                "von 1914 (H. Rackham).\n\n"+\
                                                \
                                                "Es gibt viele Variationen qui Passages des Lorem Ipsum, mais qui Hauptteil erlitt Changements "+\
                                                "in irgendeiner forme, par Humor ou bien zufällige Wörter quelle pas einmal ansatzweise "+\
                                                "glaubwürdig air. si du une passage des Lorem Ipsum utilise, devrait du aufpassen, dass "+\
                                                "in qui Mitte des Textes aucun ungewollten Wörter stehen. Viele qui Generatoren im Internet "+\
                                                "neigen en supplément, vorgefertigte Stücke trop wiederholen - quoi es nötig machte, une richtigen "+\
                                                "Generator trop entwickeln. Wir nutzen un Wörterbuch aus sur 200 Lateinischen Wörter, "+\
                                                "kombiniert avec einer Handvoll Kunstsätzen, quelle cela Lorem Ipsum glaubwürdig pouvoir. "+\
                                                "Das generierte Lorem Ipsum ist aussi libre de Wiederholungen, Humor ou bien unqualifizierten "+\
                                                "Bemerkungen etc. qui Text selbs peux sur https://de.lipsum.com/feed/html erzeugt werden"

                                            ENDPROC

                                            PROGEND
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
15.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.385 Views

Untitledvor 0 min.
Erasmus.Herold09.01.2023
Rschnett06.08.2022
Michael W.30.03.2022
RudiB.08.03.2022
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie