[Tustep-Liste] nochmal was mit Zahlen

Gottfried Reeg Gottfried.reeg at seegelken-reeg.de
Mo Feb 27 11:43:48 CET 2017


LIeber Wieland,

vielen Dank für Deine Antwort.

Diese Fassung sollte jetzt ohne HTML-Code sein - woher der kam, weiß ich 
nicht.

Auch der Fehler ist beseitigt.

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, {}
SET quelle = "reeg_zahl.tf"
SET ziel = "reeg_zahl_.tf"
ACCESS q: READ/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/99999
   READ/NEXT/EXIT q
-                                              Im Satz werden Zahlenpaare n-n gesucht.
-                                              Sie stehen dann in der Variablen zahlP
  SET zahlen = STRINGS (text,"|{#}-{#}|",1,0,1,0,"'")
-                                              Wenn nichts 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 Treffer werden 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 25.02.2017 um 00:39 schrieb Gottfried Reeg:
> Diskussionsforum Tustep-Liste
> Weitere Informationen: www.itug.de
> ------------------------------------------------------------
>
>
>
> 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
>
>
>
> ------------------------------------------------------------
> 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/20170227/4e8c962b/attachment.htm>


Mehr Informationen über die Mailingliste Tustep-Liste