home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 53 / Commodore_Disc_53_19xx_-_de.d64 / lektion5 < prev    next >
Text File  |  2022-10-26  |  2KB  |  55 lines

  1. /* Lektion5
  2.  
  3. Spruenge und Marken
  4.  
  5. Ohne GOTO und IF in der einen oder anderen Art kommt kein Programm aus. CP besitzt die Sprungbefehle go, if und nif.
  6.  
  7. Go verzweigt stets, if bei einem Wert ungleich Null und nif beim Wert Null. Spruenge koennen nur innerhalb einer Funktion stattfinden. Statt Zeilennummern finden Sprungmarken Verwendung, die durch einen Doppelpunkt, dem der Name der Sprungmarke folgt, definiert werden. Damit ist die Programmierung einer Funktion, die einen ganzen String ausgibt, kein Problem mehr. Die Sprungmarke braucht dem Compiler bei der Uebersetzung der Sprunganweisung noch nicht bekannt zu sein. Dadurch sind Vorwaertsspruenge moeglich. Wurde eine Sprungmarke vergessen, springt der Compiler in den Editor, wobei allerdings der Cursor nicht hinter dem unbekannten Wort steht, sondern hinter dem Ende der Funktion, in der eine Sprungmarke fehlt. */
  8.  
  9.  
  10. def ]]++ ]++ by ];
  11.  
  12. void putc( )
  13. begin
  14.   ac by = 0xffd2 sys
  15. bend
  16.  
  17. void putl( )
  18. int zg ;
  19. begin
  20.   zg = go rd
  21. : wr putc
  22. : rd zg ]]++ if wr
  23. bend
  24.  
  25. char getc( )
  26. begin
  27.   0xffe4 sys ac by ]
  28. bend
  29.  
  30. char key( )
  31. begin
  32. : next getc nif next
  33. bend
  34.  
  35. main()
  36. begin
  37. "/147/n
  38.          Prima Textausgabe/n/n
  39. Das sollten Sie einmal probieren./n
  40. Einfach den Bildschirm vollschreiben,/n
  41. zu Beginn und am Ende doppelte An-/n
  42. fuehrungszeichen setzen und die/n
  43. Returnzeichen, die der Compiler als/n
  44. Leerzeichen ansehen wuerde durch/n
  45. //n ersetzen./n/n
  46. Die Funktion putl kann weit mehr als/n
  47. einen ganzen Bildschirm ausgeben./n/n
  48. Die Funktion getc liest ein Zeichen/n
  49. ein, key macht dasselbe, wartet aber/n
  50. bis kein Nullbyte mehr kommt./n/n/n
  51. Weiter mit beliebiger Taste" putl key
  52. bend
  53.  
  54. /* Diesmal, da das Warten auf einen Tastendruck mit key realisiert wurde, koennen Sie auch mit Menuepunkt 6 starten. Weiter mit lektion6 */
  55.