Diskussion:USE (TSB)

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Kommando vs. Anweisung?[Quelltext bearbeiten]

Was soll der Unterschied Kommando vs. Anweisung sein? Haben wir das hier irgendwo definiert? Sonst finde ich es verwirrend, wenn implizit von einer gedanklichen Festlegung ausgegangen wird, die nicht jeder kennt. Ich tendiere dazu technisch alles als Anweisungen zu sehen (also Schlüsselworte, die weder Funktion noch Operator sind). Ob nun eine Anweisung im Direktmodus oder in einem Programm vorkommt, es bliebe technisch dennoch eine Anweisung (oder auch Kommando, aber dann würde ich auch nicht zwischen diesen beiden Wörtern hin und her springen). Diese Differenzierung würde ich jedenfalls nicht durch die Auswahl zweier Wörter, die eigentlich sprachlich das Gleiche bedeuten, machen ... --JohannKlasek (Diskussion) 20:09, 7. Feb. 2020 (CET)

Ich zitiere mal Joachim Hänsel (in Basiswissen C64 auf S. 52): "Die BASIC-Wörter, mit denen der Benutzer den Computer in bestimmte Betriebszustände versetzt, werden 'Kommandos' genannt. Hierzu gehören z.B. die Befehle zum Laden, Starten oder Löschen von BASIC-Programmen." Er führt dann die Befehle CONT, LIST, LOAD, NEW, RUN, SAVE und VERIFY auf (das Buch bezieht sich auf BASIC v2). Genauso bin ich bei der Kategorisierung der Simons'-Basic- und TSB-Befehle vorgegangen. Als Kommandos wurden alle diejenigen Befehle eingeordnet, die im Wesentlichen im Direktmodus einen Sinn machen bzw. als Werkzeuge für das Laden und bearbeiten von Programmen dienen. 64 intern differenziert nur nach Befehl und Funktion (jedenfalls in der alten Auflage, die ich habe: 2. Auflage, 1983). Das Commodore Sachbuch Bd. 1, "Alles über den Commodore 64 - Programmierhandbuch" nennt hier "Befehle" (was ich "Kommandos" genannt hatte) und "Anweisungen", differenziert also genauso wie J. Hänsel. Von daher... --GoDot (Diskussion) 22:17, 7. Feb. 2020 (CET)
Uhi, da haben wir aber die Grauzone mit LOAD, SAVE, (DLOAD, DSAVE, BLOAD, BSAVE, APPEND, COPY, RENAME, ... und was auch immer aus der Ecke), die auch in Programmen durchaus sinnvoll im Einsatz sind, obwohl sie vielleicht hauptsäch. So sauber ist die Unterteilung nicht. Ich bin nicht unbedingt ein Freund willkürliche Definitionen von Autoren, dann auch unreflektiert als gegeben oder Standard zu betrachten. Aber wie gesagt, wenn man die Begriffe verwendet, dann sollte man das auch entsprechend an passender Stelle (auf den Seiten Anweisung und Kommando) ausformulieren und erklären. Jedenfalls sind die Begriff Kommando und Anweisung eine Begriffsdomäne sowie die Domäne Anweisung, Funktion, Operator orthogonal zueinander. Wenn ein und der selbe Begriff in beiden Dimensionen vorkommt, aber Verschiedenes damit aussagt, ist halt eine gewisse Unklarheit programmiert. Mal sehen, ob wir das hier im Wiki klargestellt bekommen.
Danke für Bezüge oben! --JohannKlasek (Diskussion) 01:10, 8. Feb. 2020 (CET)
Noch ein Zitat (steht hier: https://robhagemans.github.io/pcbasic/doc/1.2/#statements): "Many reference works on GW-BASIC distinguish commands and statements; this distinction stems from the original Dartmouth design of the BASIC language, in which commands were not part of the language and could not be used in programs, but were rather used to control the interpreter itself. " Wichtig: "original Dartmouth design". --GoDot (Diskussion) 09:52, 9. Feb. 2020 (CET)
Genau, dort wird aber auch geschrieben (gleich im Anschluss):
However, in GW-BASIC this distinction is less useful and therefore this reference includes what is traditionally thought of as commands in the category of statements.
So sähe ich das auch bei sämtlichen CBM-BASIC-Varianten. Diese klare und saubere Trennung kann sich vielleicht das Dartmouñth-BASIC leisten, wo auch damals diese Trennung noch durch die betrieblichen Umstände (noch vor einer interaktiven Bedienung wie es bei Microcomputern üblich war) andere Voraussetzungen vorlagen. --JohannKlasek (Diskussion) 02:42, 10. Feb. 2020 (CET)

Dezimalzeichen[Quelltext bearbeiten]

Petrus, deine Ergänzungen bzgl. der Dezimalzeichen stimmen so nicht. Natürlich können in einem Formatierungsstring mehrere Formate ein deutsches Komma statt des amerikanischen Dezimalpunkts erhalten! Hier ein Beispiel (so ähnlich im "TSB Demo" auf der TSB-Disk):

2480 cls: colour 11,12,0: print at(0,1)"": centre"Print Using Demo"
2490 print at(2,4)"Table";
2500 print at(3,6)"X  Grad     Bogen    Sinus   Log(10)"
2505 colour,15:print at(6,7)"180*X/pi" at(15,7)"pi*X/180":colour,0
2510 f$="##: ###,##   #,####  -#,####  #,####":pi=3.14159265
2520 for i=1 to 10:print at(2,8+i)"";
2530 use f$,i,180*i/pi,pi*i/180,sin(i),log(i)/log(10)
2540 next: print at(2,9+i)"USE#-Demo: ";: colour,1
2550 open 1,3:use #1,"Output to Device ##",peek(154):close1:colour,0:print

Oder hast du was anderes gemeint? --GoDot (Diskussion) 17:28, 17. Sep. 2022 (CEST)

Ja, etwas anderes:
Statt use "##.## : ##.##",22.78,33.34 kann man nicht use "##,## : ##,##",22,78,33,34 benutzen. --Petrus (Diskussion) 18:58, 17. Sep. 2022 (CEST)
Hab den Text etwas umformuliert. Hoffentlich verständlich. --GoDot (Diskussion) 21:08, 17. Sep. 2022 (CEST)