Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: Zum Palindrom-Tag Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 22.02.2022 1:01)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
' ===========================================================================
' 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
PRINT "Test auf Palindrom auf der Open-Maxi"
PRINT

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

Bisherige Antworten:

Re: Demoprogramm: Zum Palindrom-Tag (von Christian - 27.02.2022 18:43)