BASIC (PC) Ablauf

Mein Char kann BASIC programmieren, was ich auch mal konnte, tatsächlich ist das ganze sehr eingerostet. Deswegen stelle ich kurz hier meinen Textauszug hinein, und bitte darum, die BASIC-Befehle zu überprüfen, und wenn nötig, zu ergänzen. Hinweis: Der Teil des Romans handelt in den späten 80er Jahren, also KEIN Windows, KEIN VBasic, sondern BASIC wie es mit MS-DOS 5 beispielsweise ausgeliefert wurde. Danke für eure geschätzte Hilfe

10: Print „Hello“ 20: End Auf dem Monitor steht „Hello“. Ja, eine Zeile. Geht das auch mit zwei? Geht. Mit mehr? Geht. Kann das auch eine Eingabe verarbeiten? 20: if input=“ich“ then 30. else 40.

Ich habe mir lange überlegt, ob ich das Beispiel überhaupt stehen lassen soll. Und das ist noch nicht gesichert. Dennoch sollte es richtig sein. Danke sehr.

Oh, das ist schon lange her, also mit Vorbehalt:
Wenn Du Zeilen anspringen möchtest, brauchst Du ein “Goto”, nicht nur die Zeilennummern.
Nach den Zeilennummern kommt kein Doppelpunkt.

Danke dafür. Was ich nicht mehr weiss, ist, wie man den Input überhaupt löst. Vielleicht lass ich das auch weg. Reicht ja, wenn man es anschneidet.

Beim Atari 800 brauchtest du kein GOTO nach IF. THEN 30 genügte. Dafür gab es kein ELSE :slight_smile:

Ich kann nur Atari-Basic. Dort lautete die Input-Syntax:
INPUT X;
Das erzeugte nur ein Fragezeichen, hinter dem man etwas eingeben konnte. Oder …
INPUT "Bitte eine Zahl eingeben: ",X;

Das erzeugte den Text und die Eingabe wurde in X gespeichert.

Ich glaube eben zu wissen, dass sich die BASIC Versionen auf den verschiedenen OS teilweise erheblich unterscheiden. Danke dir, TomP. Vielleicht betreibe ich nachher mal “tiefgründige” Recherche, mit dem Tool, was dafür gar nicht geschaffen wurde.

Vielleicht kann dir diese Übersicht behilflich sein:

http://www.computer-oldies.de/basic.htm

1 „Gefällt mir“

Hallo tarieledhwen,
Irgendwann in den Achtzigern habe ich mal angefangen, in BASIC zu programmieren, zuerst einTiny-BASIC und dann AMIGA-Basic, was bekanntlich von Microsoft(!) stammt. Für damalige Verhältnisse war das ein fortschrittliches B.
Basic ließ es manchmal zu, vor dem INPUT-Befehl noch eine Zeichenkette in Anführungszeichen zu setzen. Grundsätzlich aber konnte der INPUT-Befehl nur eine Zahl oder eine Zeichenkette einer Variablen (bei Zahlen einer einfachen (12.3) und bei Zeichenketten einer String-Variablen , also beispielsweise „Emil ist doof“, zuweisen. Da INPUT den Programmablauf anhällt, war und ist ein [ENTER] zur Fortsetzung nötig.
Sprünge im Programm konnten mit GOTO und Zeilennummer oder GOSUB und Zeilennummern realisiert werden, wobei dann mit RETURN zur Zeile nach GOSUB zurückgesprungen wurde (Unterprogramme, Unterroutinen). Diese Unterprogramme konnten während eines Programms mehrfach angesprungen werden.
Wenn Du noch mehr Fragen hast, lass mich das wissen.
Herzliche Grüße
Berti
P.S.: Heutzutage bin ich immer noch bei BASIC, PUREBASIC. Dahat sich in den letzten Jahrzehnten einiges geändert

Mit MS-DOS 5 ( 5.0–6.22) wurde der Dialekt QBasic ausgeliefert (sagt zumindest Wikipedia https://de.wikipedia.org/wiki/QBasic ).
Tutorial mit Listing, das print, if (ohne else), goto enthält: http://www.qbasic.net/en/qbasic-tutorials/beginner/qbasic-beginner-2.htm#at_pco=smlre-1.0&at_si=595f35836af78296&at_ab=per-2&at_pos=1&at_tot=4

Ich danke euch allen für die rege Unterstützung. Das ist sehr hilfreich, gerade der Link zum qbasic.net Da habe ich eigentlich alles, was ich brauche. Eigentlich schade, dass ich aufhörte, mit Basic Programmierung. Mich hätte mal die Grenze interessiert. Beispiel Browser auf Basic geschrieben… vermutlich nicht unmöglich. Meine Figur soll das nur lernen. Die Frage ist die Relevanz. Auf eine Seite soll es betonen, dass sie das schon sehr früh konnte, und auf der anderen soll der Leser nicht zu lange mit Basics “genervt” werden.

Jede Programmiersprache dient ja nur dem Zweck das Schreiben von Assemblercode zu umgehen. Letztendlich kann also jede Programmiersprache alles abdecken, es hängt nur vom Compiler ab, ob der passenden Assemblercode erzeugt um beispielsweise einen Browser zu erzeugen. Wenn man betrachtet, wie lange QBasic ausgeliefert wurde, und dass viele Eigenschaften von alten IE-Versionen direkt vom BS zur Verfügung gestellt wurden (und z.T. immer noch werden) könnte das vielleicht funktionieren.

Es hängt immer am Kontext, wie ein “Überflieger” definiert wird. In einer Lehrer-Schüler-Situation ist das Vorausgreifen des Schülers sicher passend. Ich habe meinen Überflieger, einen Achtzehnjährigen so definiert (1st draft, ohne Anspruch auf Perfektion):

„Damit kein anderer Decker meine Veränderungen entdeckt, laufen die Kameras ganz normal weiter. Aber ich hab einen Virus eingeschleust, der das Bild einer bestimmten Kamera solange einfriert, dass wir vorbeischleichen können. Ich hab einen Algorithmus dazu entwickelt, damit ich anhand meines Timers weiß, wann der Virus bei der jeweiligen Kamera ist.“ Er strahlte sie voller Stolz an.
…]
Sam seufzte. „Das war erstaunlich durchdacht. Wie der Algorithmus, den du für das Re-dings benutzt hast, um die Teufelsratten im Labor letzten Monat von Dämmerschlaf auf Rebellion zu schalten.“ Zum Glück hatte er vorhin Algorithmus gesagt. Wer merkte sich so ein Zeug?

„Rekalibrierung.“ Tony formulierte das Wort sorgfältig und hielt ihr den Chip hin.

1 „Gefällt mir“

Ich stelle meinen Ausschnitt nun auch online, damit du den Zusammenhang meiner Frage siehst. Danach bin ich für konstruktive Kritik offen, und freue mich darauf, eure Meinung zu hören (Seite 60 von derzeit 245)

Der Fehler, welcher wohl verantwortlich ist, dass die Welt danach nicht mehr so ist, wie sie davor war. Ich will das verhindern, vielleicht gelingt mir dies, wenn ich nur ein Programm schreiben könnte. Ich lese den Ordner aufmerksam durch, und was da drinnen steht, interessiert mich. All die vielen Befehle. Man kann dem Ding sagen, was es machen soll. Ich glaube, es wäre noch mehr möglich, als in dem Ordner steht. Viel mehr. Bei einem Freund von mir, genauer bei Sebastian, ja, derjenige welche, der nicht laufen kann, da steht noch ein modernerer Computer, der hat sogar farbige Anzeige. Bei ihm sehe ich dieses Basic. Sein Vater animiert mich, mein eigenes Programm zu schreiben. Ich versuche ja, dass ich das hinkriege. Irgendwie fange ich an.
10 Print „Hello“
20 End
Auf dem Monitor steht „Hello“.
Ja, eine Zeile. Geht das auch mit zwei? Geht. Mit mehr? Geht. Kann das auch eine Eingabe verarbeiten?
10 Print „Hello, bitte Name eingeben, und mit Enter fortfahren“
20 Input a
40 Print „Freut mich“ a;
50 end

Am Schluss der Seite steht noch ein Kommentar von mir:

  • Ich will sie nicht mit dem ganzen Programmiererkram von Basic langweilen, abgesehen davon ist sicher nicht alles richtig, was ich hier schreibe. Egal. Bedenken sie, ein etwa 9 Jahre altes Kind, in den 80ern hatte normalerweise kein Computer daheim, und von Programmieren wussten noch weniger Kindern.

Für mich funktioniert es, aber ich verstehe auch, was da passiert. Für jemanden der nicht weiß, das Input a bedeutet, dass die Eingabe des Benutzers in die Variable a gespeichert wird und in der nächsten Zeile ausgegeben wird, sind das nichts sagende Zeilen. Genauso wie bei mir und meinem Mann, wenn er mir freudestrahlend seine neuesten Aktienerrungenschaften mit lustigen Aktienverlaufsgraphen unter die Nase hält und ich über ein verständnisloses “Aha” nicht hinauskomme.

Ich könnte mir vorstellen, dass (mir erscheint der Text Memoiren angehaucht) eine kleine Anekdote den Zweck auch erfüllen könnte:

Der Fehler, welcher wohl verantwortlich ist, dass die Welt danach nicht mehr so ist, wie sie davor war. Ich will das verhindern, vielleicht gelingt mir dies, wenn ich nur ein Programm schreiben könnte. Ich lese den Ordner aufmerksam durch, und was da drinnen steht, interessiert mich. All die vielen Befehle. Man kann dem Ding sagen, was es machen soll. Ich glaube, es wäre noch mehr möglich, als in dem Ordner steht. Viel mehr. Bei einem Freund von mir, genauer bei Sebastian, ja, derjenige welche, der nicht laufen kann, da steht noch ein modernerer Computer, der hat sogar farbige Anzeige. Bei ihm sehe ich dieses Basic. Sein Vater animiert mich, mein eigenes Programm zu schreiben und als er das nächste Mal den Computer anmachte stand ich aufgeregt hinter ihm.
Der Cursor blinkte, bevor das System “Hello, bitte Name eingeben, und mit Enter fortfahren” auf den Monitor schrieb.
Sebastians Vater stutzte sichtlich, aber folgte der Anweisung.
Kurz darauf erschien auf dem Monitor “Freut mich Reinhard Schmidt”
Sebastians Vater wandte sich mit seltsamen Blick über seine Schulter.

NinaW, sehr guter Einwand, und ein hervorragender Vorschlag. Darf ich den so übernehmen (unter Änderung der Namen) :

Klar.

Für mich würde danach noch ein Fragen-Schwall aus dem Mund des Kindes in Richtung Erwachsenen passen. Ob es gut ist, was er sich dabei gedacht hat, und gleich noch ein dutzend weitere Fragen, bei denen sich der geneigte Leser gern mit drei Fragezeichen über dem Kopf zurücklehnen darf.

leb ohne Sorgen, dass wird sowieso geschehen. Es wäre auch unpassend, wenn nicht, sie stellt ja sonst schon immer alles in Frage.

Ich bedanke mich bei dir. Ich stelle dich als Koautorin an :slight_smile: (Lohn: Eh… äh… öh…)

Immer gerne, aber nicht als Koautorin, das klingt nach Pflichten ;).

Mir persönlich wären das zu viele Details. Code-Listings im Roman? Dafür müsste es schon sehr speziell sein.
Auf Anhieb kommt mir nur ein Buch in den Sinn, bei dem ich das wirklich interessant fand. Das ist aber eher ein “Sachbuch”, auch wenn man das gut als Thriller lesen kann. Zumindest, wenn man rudimentäre Erfahrung mit unixoiden Betriebssystemen hat: Kuckucksei von Clifford Stoll.

Die Frage ist also: Wer soll durch den Text erreicht werden?

Gerade bei technischen Themne tue ich mir sehr schwer damit. Als Leser und als Autor. Ich störe mich daran, wenn Sachen hingebogen werden, die eigentlch nicht mögich sind.
Im Bereich der Filme ist der Begriff “MovieOS” etabliert. Da gibt es Leute, die sich darum kümmern, dass bestimmte technische Dinge grafisch hübsch dargestellt werden. Am bekanntesten ist wohl der “Ladebalken” wenn Geld überwiesen wird. Oder die Ortung von Dingen auf einem aufgehübschten Stadtplan. Oder das “herausfiltern” von Geräuschen einer Aufnahme. Die CSI-Serien haben da ja einiges gezeigt. Inklusive Handy- und IP-Ortung in Echtzeit.

Deshalb würde ich mir mit den Textbeispielen von @NinaW schwer tun, wenn dort “mal eben” ein Virus verwendet wird. Das ist aber mein persönliches Ding, wenn es um Computertechnik geht. Klar gibt es noch die künstlerische Freiheit, aber sie sollte sich - in meinen Augen - an der Realität orientieren.
Das ist ja aber ein Trend, den es bereits eine ganze Weile gibt. Ich frage mich, woran das liegt, dass das gerade bei Technik immer gemacht wird. Bei Medizin würde kaum ein Autor auf die Idee kommen, eine Verletzung durch Handauflegen zu heilen. Technik hingegen, ist die moderne Magie, da ist so etwas möglich.
Vielleicht liegt das an dieser bekannten Technik/Magie-Verknüpfung. Oder daran, dass Technik für die Vielzahl der Menschen eh undurchsichtig ist, jeder aber schon einmal beim Arzt war.

@sebastianM Sehe ich tatsächlich ähnlich.

Realität bezieht sich jedoch auch immer auf den Kanon der Welt, in die eine Geschichte eingebettet ist und meine spielt in einem Cyberpunk/SiFi/Fantasy Universum (Shadowrun), in der Heilung durch Handauflegen in übrigen auch funktioniert ;).

War auch nur ein kleiner Auszug einer längeren Handlung.
Mir ging es eher darum, dass man ein Skript - Kiddie nicht zwingend durch das Schreiben von Code darstellen muss, sondern eine solche Person sich auch durch ein völlig unverständliches Selbstverständnis definieren kann.

@NinaW Da ist der Kontext natürlich ein anderer, da gebe ich dir recht. Shadowrun mag ich und habe vor gefühlten 20 Jahren (ok, die sind nicht gefühlt sondern real) das auch mal als P&P am Tisch gespielt.

Ich gebe dir völlig recht. :slight_smile: