[Tustep-Liste] nochmal was mit Zahlen

Gottfried Reeg Gottfried.reeg at seegelken-reeg.de
Sa Feb 25 00:39:20 CET 2017


LIeber Wieland,

ein Klecks Senf  aus Berlin sollte nun doch nicht mehr fehlen.

Hier eine Lösung mit TUSCRIPT. Wegen des Kommentars ist's etwas länger 
geworden.

DATEN:
Ende des 16. Jh.von 1596 1678-1679 8
4-5 17 5-6
nix
nix

ERGEBNIS:
Ende des 16. Jh.von 1596 1678-1679 8 +++ Paare: 1678-1679
4-5 17 5-6 +++ Paare: 4-5 und 5-6

----------------------------



$$MODE TUSCRIPT, {}
ACCES RECORDS $quelle sq.zq/uq, text
ACCESS z: WRITE/RECORDS $ziel sq.zq/uq, text
-Differenz, die zwischen Zahl 1 und Zahl 2 bestehen soll.
SET diff=1
LOOP READ/NEXT/EXIT q
    - Im Satz werden Zahlenpaare n-n gesucht.
    - Sie stehen dann in der Variablen zahlP
     SET zahlen = STRINGS (text,"|{#}-{#}|",zahlP,1,0,1,0,"'")
-   Wenn nicht gefunden wurde, wird der nächste Satz eingelesen
    IF (zahlen=="") CYCLE
-    Die Teilzeichenfolgen der Variable zahlen werden abgearbeitet
     LOOP/CLEAR lp = zahlen
    -   Trennen der Zahlen
         nix = SPLIT (lp,":-:",n1,n2)
       - n1 wird um diff erhöht
         SET n1 = n1+diff
-      Auf der Variablen zahlen werden die Treffer gesammelt.
         IF (#n1==n2) SET zahlen = APPEND (zahlen," und ",lp)
    ENDLOOP
   IF (zahlen=="") CYCLE
- Nur wenn es Treffer, werden sie an den Satz angehängt und ausgegeben
    SET text= CONCAT (text," +++ Paare: ",zahlen )
    WRITE z
ENDLOOP
ENDACCESS/PRINT q
ENDACCESS/PRINT z

--------------------------------------------------------------

Grüße aus Berlin
Gottfried Reeg



Am 24.02.2017 um 22:42 schrieb Dr. Michael Trauth:
> Diskussionsforum Tustep-Liste
> Weitere Informationen: www.itug.de
> ------------------------------------------------------------
>
>
> Lieber Wieland,
>
> kaum hatte ich die Sendetaste meines letzten Postings gedrückt, da fiel mir auch schon ein, wie mein #kopiere-Snippet noch einmal um drei Zeilen verschlankt (und auch ein bißchen kryptischer gestaltet) werden kann. Bitte sehr:
>
> #ko,q,z,,+,*
> par       {}
> zf+   1   |{#}-{#}|
> al    1 = zf+
> liv   1   i1 i2
> rr    1   if ((iabs(i2)).eq.(i1+1)) goto 22; goto 32;
> xx    2   |{\0}{[}-{|}{#}*|::{=2=}|
> xx    3   |{\0}{[}-{|}{#}*|!!{=2=}|
> spn        3
> sp2        8 11 11
> xxx       |{\0}{[}!!{]}{\0}|-|
> *eof
>
>
> Viele Grüße reihum von
>
> Michael Trauth
>
>
>
> ------------------------------------------------------------
> Tustep-Liste at itug.de
> https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://lists.itug.de/pipermail/tustep-liste/attachments/20170225/a9729bf3/attachment.htm>


Mehr Informationen über die Mailingliste Tustep-Liste