english-banner English version of this page
 
deutsche Flagge
Portait-Photo
über mich

Startseite
Links/BookmarksLinks
Programmieren
   - CodeOptimierung
   - CodeConventionen
   - GFA-Basic

Atari
Hardware-
Basteleien

Witze
Zitate
Sprüche
Braille
Kunst
Buch-Tip
E-Mail an Folke_R@gmx.de
historisches
Impressum
Listing: listings/TURING03.LST
(generated: 11.05.2008)
    1 :
    2 :
    3 :
    4 :
    5 :
    6 :
    7 :
    8 :
    9 :
   10 :
   11 :
   12 :
   13 :
   14 :
   15 :
   16 :
   17 :
   18 :
   19 :
   20 :
   21 :
   22 :
   23 :
   24 :
   25 :
   26 :
   27 :
   28 :
   29 :
   30 :
   31 :
   32 :
   33 :
   34 :
   35 :
   36 :
   37 :
   38 :
   39 :
   40 :
   41 :
   42 :
   43 :
   44 :
   45 :
   46 :
   47 :
   48 :
   49 :
   50 :
   51 :
   52 :
   53 :
   54 :
   55 :
   56 :
   57 :
   58 :
   59 :
   60 :
   61 :
   62 :
   63 :
   64 :
   65 :
   66 :
   67 :
   68 :
   69 :
   70 :
   71 :
   72 :
   73 :
   74 :
   75 :
   76 :
   77 :
   78 :
   79 :
   80 :
   81 :
   82 :
   83 :
   84 :
   85 :
   86 :
   87 :
   88 :
   89 :
   90 :
   91 :
   92 :
   93 :
   94 :
   95 :
   96 :
   97 :
   98 :
   99 :
  100 :
  101 :
  102 :
  103 :
  104 :
  105 :
  106 :
  107 :
  108 :
  109 :
  110 :
  111 :
  112 :
  113 :
  114 :
  115 :
  116 :
  117 :
  118 :
  119 :
  120 :
  121 :
  122 :
  123 :
  124 :
  125 :
  126 :
  127 :
  128 :
  129 :
  130 :
  131 :
  132 :
  133 :
  134 :
  135 :
  136 :
  137 :
  138 :
  139 :
  140 :
  141 :
  142 :
  143 :
  144 :
  145 :
  146 :
  147 :
  148 :
  149 :
  150 :
  151 :
  152 :
' #############################################################################
' #############################################################################
'
' Deutsch:
' =========
' Dieser Quellcode ist von Folke Rinneberg
' Webseite: http://www.Rinneberg.de/programming/gfa.htm
' E-Mail:   Folke_R@gmx.de
'
' Du kannst diesen Quellcode frei nutzen, Veraendern und Erweitern.
' Es waehre nett, wenn du mir mitteilen wuerdest, wenn du diesen Quellcode
' benutzt/veraenderst oder erweiterst. Verbesserungen/Erweiterung wuerde 
' ich vielleicht gerne uebernehmen, Nutzung wuerde ich vielleicht gerne an
' dieser Stelle verlinken.
'
' Die Softwarequalitaet ist vermutlich nicht besonders hoch, da ich noch
' jung und unerfahren war, als ich ihn schrieb. Eine UEberarbeitung ist
' nicht geplant.
'
'
' English:
' =========
' This source code was written by Folke Rinneberg
' Web Site: http://www.Rinneberg.de/programming/gfa.htm#english
' e-mail:  Folke_R@gmx.de
'
' You are free to use, modify and extend this source code.
' It would be nice, if you contact me (e.g. by e-mail) when you 
' use/modify or extend this source code. Perhaps I would 
' put Improvements or extensions to this web site.
' Usage of this source code may be linked here.
'
' The quality of this source code may be quite low, because I was young and 
' had few experiences with programming when I wrote this source code. 
' I have no plans to improve this source code by myself.
'
' #############################################################################
' #############################################################################
'
'
' Deterministische Turing Mashinen (DTM)
'
@Main
Procedure Tm_get
  Local I&,I2&,B&,H&,A$
  Read B&,H&
  Dim Tm$(B&-1,H&)
  For I&=0 To H&
    Read A$ !Zeilenmakierung "+Chr$(129)+"berlesen"
    Exit if A$="END."
    For I2&=0 To B&-1
      Read A$
      Tm$(I2&,I&)=A$
    Next I2&
  Next I&
Return
PROCEDURE Main
  @Tm_get
  Band$="#(((1u1)o0)o(1u(1o0)))#" !Zu testendes Wort
  @Auswertung
Return
PROCEDURE Auswertung
  Local Pos&,Z&
  Pos&=2 !"auf dem ersten a"
  Z&=0
  Do
    Befehl$=Tm$(@Spalte(Asc(Mid$(Band$,Pos&,1))),Z&)
    ' Druckereinstellungen
    '    OUT 0,27,83,1,27,ASC("+"),30
    Print Band$,Befehl$'Mid$(Band$,Pos&,1)'Z&
    ' Druckereinstellungen
    '    OUT 0,27,83,1,27,ASC("+"),10
    Print Space$(Pos&-1);"^"
    '
    If Left$(Befehl$,4)="K.O."
      Print "kein wort!",Befehl$
      End
    Else if Befehl$="OK  "
      Print "treffer"
      End
    Else
      Mid$(Band$,Pos&,1)=Left$(Befehl$,1)
      If Mid$(Befehl$,2,1)="R"
        Inc Pos&
        If Pos&>Len(Band$)
          Band$=Band$+"#"
        Endif
      Else if Mid$(Befehl$,2,1)="L"
        If Pos&>1
          Dec Pos&
        Else
          Band$="#"+Band$
        Endif
      Else
        Print "unerlaubte Bandrichtung",Befehl$
        End
      Endif
      Z&=Asc(Right$(Befehl$,1))-48+(Asc(Mid$(Befehl$,3,1))-48)*10
    Endif
    '    ~INP(2)
  Loop
Return
@Anfangseinstellungen
FUNCTION Spalte(A|)
  If A|=Asc("#")
    Return 1-1
  Else if A|=Asc("(")
    Return 2-1
  Else if A|=Asc(")")
    Return 3-1
  Else if A|=Asc(""+Chr$(170)+"")
    Return 4-1
  Else if A|=Asc("0")
    Return 5-1
  Else if A|=Asc("1")
    Return 6-1
  Else if A|=Asc("u")
    Return 7-1
  Else if A|=Asc("o")
    Return 8-1
  Else if A|=Asc("e")
    Return 9-1
  Else
    Print "fehler unbekannte Bandinschrift"
    Print Band$,Pos&
    End
  Endif
Endfunc
'
'
Procedure Anfangseinstellungen
  Deflist 3
  Defwrd "a-z"             !Alle Vareablen am Anfang Words
  Print ""+Chr$(27)+"q"
  Byte{Basepage+82893}=1   !Neue Namen einschalten
  Graphmode 1
  Boundary 0
Return
' Spaltenanz,Zeilenanz
Data 9,7
'            #     (       )      "+Chr$(170)+"      0      1      u      o      e
Data "00","OK  ","(R00",")L01",""+Chr$(170)+"R00","0R00","1R00","uR00","oR00","eR00"
Data "01","    ","(R02","    ",""+Chr$(170)+"L01","0L01","1L01","uL01","oL01","eL01"
Data "02","    ","    ","eL05","eR03","0R02","1R02","uR02","oR02","eR02"
Data "03","    ","    ","    ","eR02","1R02","0R02","    ","    ","eR03"
Data "04","    ","0R00","    ","    ","eL04","eL04","eL04","eL05","eL04"
Data "05","    ","1R00","    ","    ","eL04","eL05","eL05","eL06","eL05"
Data "06","    ","1R00","    ","    ","eL05","eL05","eL05","eL06","eL06"
Data "END."
' diese TM wertet einen vollst"+Chr$(132)+"ndig geklammerten logischen Ausadruck aus!
' - kein zus"+Chr$(132)+"tzliches Band n"+Chr$(148)+"tig
' - L"+Chr$(148)+"sung steht dann am Ausgangspunkt des Bandes



Legende:
¬ ersetzt durch "Chr$(170)"
ä ersetzt durch "Chr$(132)"
ö ersetzt durch "Chr$(148)"
ü ersetzt durch "Chr$(129)"
nicht-ASCII 27 ersetzt durch "Chr$(27)"



legend:
¬ replaced by "Chr$(170)"
ä replaced by "Chr$(132)"
ö replaced by "Chr$(148)"
ü replaced by "Chr$(129)"
non-ASCII 27 replaced by "Chr$(27)"

zurück zur GFA-BASIC-Seite des Folkes
zurück zur Programmier-Seite des Folkes
zurück zur Startseite des Folkes
Lage dieser Seite:"http://www.Rinneberg.de/programming/gfa.htm"
"http://www.Folke-Rinneberg.de/programming/gfa.htm"

Ende des deutschsprachigen Abschnitts
german-line

 
english-line
Start of the English translated part
english banner
Portait-Photo
about myself

Home
Links/Bookmarkslinks
programming
   - CodeOptimisation
   - CodeConventions
   - GFA-basic

Atari
hardware-
modifications

jokes
quotations
patter
braille
art
book-tip
E-Mail an Folke_R@gmx.de
history
imprint


Sorry there is no, and will never be, a translation of the source code.



back to Folke's GFA-Basic page
back to Folke's programming page
back to Folke's homepage
Location of this page: "http://www.Rinneberg.de/programming/gfa.htm"
"http://www.Folke-Rinneberg.de/programming/gfa.htm"
Help to improve this web page:

Because I am no native English speaker, it is likely that there can be made a lot of improvements to my translation. I am very interested in every proposal how to improve the English part of this web page.