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: Ein Programm für die Einsteiger Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 26.05.2022 0:33)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station


' ===========================================================================
' Demoprogramm: Die Open-Maxi errät eine Zahl zwischen -16384 und 16383
' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 22. Mai 2022
' ===========================================================================

' Dieses Programm ist gut für einen Einstieg in die Programmierung geeignet.

' --- Definitionen ----------------------------------------------------------

INCLUDE "omax.def"               'Definitionen für die Open-Maxi

DIM bitarray BYTE                'ein Bitarray
DIM debug    BIT[1] OF bitarray  'ist HIGH, wenn Debugging aktiv
DIM geloest  BIT[2] OF bitarray  'ist HIGH, wenn Zahl erraten

DIM zahl  WORD                   'die zu erratende Zahl
DIM unten WORD                   'untere Grenze \ Bereich, in dem sich die
DIM oben  WORD                   'obere Grenze  /  zu erratene Zahl befindet
DIM w     WORD                   'die geratene Zahl

' --- Hauptprogramm ---------------------------------------------------------

PrintSpc=ON    'Bei PRINT dezimale Zahlen mit führendem Leerzeichen ausgeben
End2Host=ON    'Bei Programmende (siehe END) gleich in den Host-Modus wechseln

' Titel:

PRINT
PRINT "Zahlenraten"
PRINT "==========="
PRINT

' Initialisierungen:

debug=ON 'OFF  'Grenzen anzeigen

zahl=2 '1000 '16383 '-16384      'hier die zu erratene Zahl eingeben
PRINT "Zu erraten ist die Zahl"zahl"."

unten=-32768                     'untere Grenze auf Anfangswert setzen
oben=32767                       'obere Grenze auf Anfangswert setzen
geloest=FALSE                    'Bitvariable auf unwahr setzen

' Hauptschleife des Programms:

REPEAT
  IF debug THEN
    ?"Untere Grenze="unten       'PRINT läßt sich durch ? abkürzen
    ?"Obere Grenze="oben
  END IF

  w=(unten+oben)/2               'mittlere Zahl nehmen

  ?"Ich rate"w": ";
  IF w=zahl THEN
    ?"Ich habe die Zahl erraten!"
    geloest=TRUE                 'Bitvariable auf wahr setzen
  ELSEIF w>zahl THEN
    ?"Die geratene Zahl"w" ist zu groß."
    oben=w                       'Obere Grenze nach unten verschieben
  ELSE
    ?"Die geratene Zahl"w" ist zu klein."
    unten=w                      'Untere Grenze nach oben verschieben
  END IF
UNTIL geloest

?:?"Programmende."
END            'Zurück in den Hostmodus. Neustart mit RETURN-Taste.

' --- Programmende ---------------------------------------------------------


Passender Link: Infosite zu den OM-Mikrocontrollern

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Demoprogramm: Ein Programm für die Einsteiger (von Christian - 26.05.2022 9:46)
    Re: Demoprogramm: Ein Programm für die Einsteiger (von Dietmar - 27.05.2022 18:42)