
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
' =========================================================================== ' Demoprogramm: Wörter testen, ob sie ein Palindrom sind ' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 22. Februar 2022 ' =========================================================================== ' Passend zum heutigen Palindrom-Tag ein Programm, das Wörter testet, ob sie ' ein Palindrom sind. ' Dieses Beispielprogramm demonstriert, wie mit Hilfe von PEEK und POKE ' Strings oder Zeichenketten auf der Open-Maxi realisiert werden können. ' An dieser Stelle möchte ich mich bei Dirk von "das |_ Team" und bei Norbert ' für ihre Unterstützung bedanken. In Memoriam Norbert Klein. ' --- Definitionen ---------------------------------------------------------- INCLUDE "omax.def" 'Definitionen für die Open-Maxi DEFINE string &h2aa 'Buffer an 1. Adresse hinter dem USER-RAM DIM bitarray BYTE 'ein Bitarray DIM palindrom BIT[1] OF bitarray 'ist HIGH, wenn das Wort ein Palindrom ist DIM a BYTE 'temporäre Bytevariable DIM lens BYTE 'Länge des Wortes im Stringbuffer DIM buchstabe BYTE 'vom Anwender eingegebener Buchstabe ' --- Hauptprogramm --------------------------------------------------------- PRINT "Test auf Palindrom auf der Open-Maxi" PrintSpc=ON 'Bei PRINT dezimale Zahlen mit führendem Leerzeichen ausgeben End2Host=ON 'Bei Programmende (siehe END) gleich in den Host-Modus wechseln ?"Bitte Wort eingeben und mit der RETURN-Taste abschließen: "; lens=0 REPEAT GET buchstabe IF buchstabe<>13 THEN POKE string+lens,buchstabe ADD lens,1 END IF UNTIL buchstabe=13 IF lens<>0 THEN ?"Ich untersuche das";lens;" Buchstaben lange Wort "; : PUT 34 FOR a=0 TO lens-1 PUT PEEK(string+a) NEXT a PUT 34 ?":" palindrom=TRUE FOR a=0 TO (lens-1)/2 IF PEEK(string+a)<>PEEK(string+lens-1-a) THEN palindrom=FALSE ' ?a;PEEK(string+a);PEEK(string+lens-1-a) NEXT a IF palindrom THEN ?"Es handelt sich um ein Palindrom!" ELSE ?"Das Wort ist kein Palindrom!" END IF END IF END 'Zurück in den Hostmodus. Neustart mit RETURN-Taste. ' --- Programmende --------------------------------------------------------- Passender Link: Offizielle Infosite zu den OM-Mikrocontrollern Meine Homepage: http://ccintern.dharlos.de |
| Antwort schreiben |