Español
Experimente

Stringdistanzen numerisch ermitteln (Geplanter FastSearch-Algorithmus)

 

p.specht

Lo son gefinkelte Such- y Sortieralgorithmen, el neben simplen Suchvektoren auch el Inhalte el Datenfelder incluso berücksichtigen. Wenn un hombre z.B. una Telefonbuch aufschlägt en una Wort con "Z..." a suchen, se él vermutlich no vorne, no mittig, sonder más weit hinten a suchen beginnen. Algorithmen como z.B. "FastSearch" treffen en XProfan aber en zwei Problemas: Anders como en C++ oder en Ensamblador puede Cuerdas no rasch y simplemente como Zahlenwerte ausgelesen voluntad. El zweite Schwierigkeit stellt esta auch el en PCs verwendete "verkehrte" INTEL-Zahlenformat dar. Mag ser, daß lo como Tricks son, el me todavía no bekannt son. In Vorbereitung para el Fastsearch-Algorithmus (para vorsortierte, gleichverteilte Archivos) Yo me einstweilen folgendermaßen beholfen:
Título de la ventana "Distanzen zwischen String-Anfängen (erste 4 Signo) ermitteln."
'(DW) Demoware/Testware 2015-01 by P.Pájaro carpintero, Wien (AT); Ohne jede Gewähr!
Ventana de Estilo 24:Ventana 0,0-%maxx,%maxy-40:randomize
var n&=40
declarar stra$[n&-1],tmp$,i&,j&,vec&,su$,tmp&
imprimir "\n Ihr Basiswort (z.B. 1-4 Signo ihres Vornamens) Por favor,: ";
input su$:su$=lower$(su$)
imprimir "\n Generierung de ";n&;" alphabetischen Zufalls-Cuerdas el Longitud [1..8], ... ";

whileloop 0,n&-1:tmp$="":whileloop 1+rnd(6):tmp$=tmp$+chr$(97+rnd(26))

    endwhile :stra$[&Loop]=tmp$:endwhile
    Imprimir "\n el zwecks Überprüfbarkeit nun después de Stringdistanzwerten sortiert voluntad."

    whileloop 0,n&-1:i&=&Loop

        whileloop 0,n&-1:j&=&Loop

            if ASC4(stra$[i&]) < ASC4(stra$[j&])' if stra$[i&] < stra$[j&] 'Sort-Test

                tmp$=stra$[i&]:stra$[i&]=stra$[j&]:stra$[j&]=tmp$

            endif

        endwhile

    endwhile

    ' Edición:

    whileloop 0,n&-1:j&=&Loop

        imprimir tab(3);chr$(34)+stra$[j&]+chr$(34);\
        tab(14);" es de ";chr$(34)+su$+chr$(34);tab(35);str$(int( ASC4(stra$[j&])-ASC4(su$)));\
        tab(50);" mögliche 4-Ketten lejos."

    endwhile

    waitinput
    end

    proc ASC4 :parámetros x$

        'Stringwert el ersten vier ASCII-Signo ermittlen (passen en un Largo-Variable)
        declarar x&',xl&:xl&=if(len(x$)<4,len(x$),4)

        seleccionar if(len(x$)<4,len(x$),4)

            caseof 0:x&=0

            caseof 1:x&=byte(addr(x$),0)<<23

            caseof 2:x&=byte(addr(x$),1)<<15 | byte(addr(x$),0)<<23

            caseof 3:x&=byte(addr(x$),2)<<7 | byte(addr(x$),1)<<15 | byte(addr(x$),0)<<23

            caseof 4:x&=byte(addr(x$),3)>>1 | byte(addr(x$),2)<<7 | byte(addr(x$),1)<<15 | byte(addr(x$),0)<<23

            otherwise :imprimir "select error"
            endselect :volver x&

        ENDPROC

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



Zum Experiment


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

643 Views

Untitledvor 0 min.
Ernst21.07.2021
Uwe ''Pascal'' Niemeier13.06.2021
R.Schneider28.05.2021
Michael W.28.05.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie