[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