26.04.2015 Aufrufe

QBasic Projekt - Klaus Zickner

QBasic Projekt - Klaus Zickner

QBasic Projekt - Klaus Zickner

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Projekt</strong> Basic<br />

Einführung in QBASIC - Programmieren mit QBASIC<br />

1. Grundlagen:<br />

QBASIC ist ein Werkzeug mit dem man programmieren kann.<br />

Icon „QBASIC“ mit der rechten Maustaste doppelt anklicken .... und es erscheint folgendes Bild am Bildschirm:<br />

.... das Programm QBASIC wurde geladen.<br />

Bitte jetzt den weiteren Anweisungen am Bildschirm folgen: drücken.<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

1


<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

2


2. Übungsaufgaben<br />

Testen und ausprobieren:<br />

Tastatur<br />

Cursorbewegungen<br />

Maus-Bewegungen<br />

QBASIC-BEFEHLE und Aufgaben<br />

1. Aufgabe<br />

Gib über die Tastatur ein:<br />

PRINT „GUTEN TAG, LIEBER LEHRER<br />

END<br />

Das Ergebnis sieht dann so aus<br />

Erklärung:<br />

Mit dem Befehl „PRINT“<br />

ist es möglich einen Text auf dem Bildschirm erscheinen zu lassen<br />

Der Befehl „END“<br />

beendet den Programmablauf. Es werden alle Dateien geschlossen. Der Befehl muss nicht unbedingt am<br />

Programmende stehen, da automatisch der Programmablauf beendet wird, wenn keine weiteren Befehle<br />

folgen.<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

3


Ausprobieren<br />

Du hast ein „Programm“ programmiert, welches immer wieder ausgeführt werden kann. Wähle aus dem<br />

Menü – oder F5<br />

Ergebnis:<br />

Das Programm wurde ausgeführt. Auf dem Bildschirm erscheint der im Programm festgelegte Satz „Guten<br />

Tag lieber Lehrer“<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

4


Speichern der Aufgabe<br />

Eine Hauptfunktion des Computers ist die Möglichkeit der Speicherung von Daten.<br />

„Daten“ ist alles, was Du über die Tastatur eingegeben hast. Damit der Satz PRINT „GUTEN TAG, LIE-<br />

BER LEHRER beim Ausschalten des Computers nicht verloren geht, muss er gespeichert werden. In der<br />

Fachsprache nennt man dies Daten sichern oder DATENSICHERUNG. Du hebst Dein Aufsatzheft ja<br />

auch auf und schmeißt es nicht weg!<br />

Die „Daten“ werden in DATEIEN gespeichert. DATEIEN werden auf Laufwerken in Verzeichnissen „abgelegt“.<br />

Laufwerke sind bezeichnet mit A und C. A ist das Diskettenlaufwerk, C ist die Festplatte. Verzeichnisse<br />

sind auf den Laufwerken angelegt.<br />

Achtung: Verzeichnisse und Dateien haben im Programm Qbasic Namen mit höchstens acht Buchstaben!<br />

Gehe bitte jetzt so vor:<br />

in der Menüleiste „Datei“ mit der Maus anklicken<br />

dann „Speichern unter“ anklicken.<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

5


und bei „Dateiname“ den Namen der Datei eingeben:<br />

mit bestätigen<br />

Regeln für Dateinamen<br />

- Dateinamen können höchstens acht Zeichen haben! (Nur in QBASIC!)<br />

- Dateinamen werden mit Kleinbuchstaben geschrieben<br />

- die ersten beiden Zeichen sind die Anfangsbuchstaben Deines Vor- und Familiennamens. Dann folgt<br />

ohne Leerzeichen der eigentliche Name mit dem Du erkennen kannst, was in der Datei „steckt“<br />

Hinweis: .BAS ist eine Dateikennzeichnung. Diese Kennzeichnung macht das Programm selbständig<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

6


Alle weiteren Speicherungen gehen dann etwas einfacher: - in der Menüleiste „Datei“ und dann „Speichern“<br />

anklicken.<br />

Neues Programm beginnen<br />

in der Menüleiste „Datei“ und dann „Neu“ anklicken.<br />

im Dialogfeld wird gefragt, ob die Datei gesichert werden soll<br />

dies mit beantworten<br />

Dateinamen eingeben<br />

Arbeit beenden<br />

in der Menüleiste „Datei" und dann „Beenden“ anklicken.<br />

...Neu anfangen<br />

QBASIC laden<br />

Programmtext eingeben<br />

in der Menüleiste „Datei“ mit der Maus anklicken<br />

dann „Speichern“ anklicken.<br />

und bei „Dateiname" den Namen der Datei eingeben:<br />

Achtung:<br />

Denke daran, dass Dateien mit verschiedenem Inhalt auch unterschiedliche Dateinamen bekommen<br />

müssen: also hmaufg01.BAS.. hmaufg02.BAS.. hmaufg03.BAS..!<br />

„OK" anklicken<br />

...oder Datei öffnen<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

7


2. Aufgabe<br />

Gib über die Tastatur ein:<br />

REM Dies ist das 2. Programm<br />

CLS<br />

PRINT „Gib bitte eine Zahl ein:<br />

INPUT A<br />

PRINT A<br />

END<br />

Erklärung:<br />

Der Befehl REM<br />

gibt die Möglichkeit im Programm Texte aufzunehmen, welche bei der Programmabarbeitung nicht berücksichtigt<br />

werden. Diese Texte benutzt der Programmierer, um sein Programm verständlicher zu machen.<br />

Der Befehl CLS<br />

löscht den Bildschirm<br />

Der Befehl INPUT<br />

macht es möglich, während eines Programmablaufes Zahlen oder Text einzugeben. Gelangt das Programm<br />

beim Ablauf an den Befehl INPUT, wird es erst nach einer Eingabe über die Tastatur fortgesetzt.<br />

Der Befehl PRINT<br />

bewirkt etwas anderes wie der Befehl PRINT „! Du siehst sicher den Unterschied!<br />

Im Gegensatz zu PRINT „ gibt PRINT A immer die Zahl aus, welche nach INPUT A eingegeben wurde. A<br />

steht für die Zahl.<br />

3. Aufgabe<br />

Gib über die Tastatur ein:<br />

REM Blinklicht<br />

1 CLS<br />

PRINT „AN“<br />

PRINT „AUS“<br />

GOTO 1<br />

END<br />

Erklärung:<br />

Der Befehl GOTO<br />

bewirkt, dass der Programmablauf an der angegebenen Zeilennummer (1) fortgesetzt wird.<br />

Das Programm wird endlos fortgesetzt. Es kann mit der Taste angehalten werden. Die Taste<br />

setzt das Programm fort und die Tasten + brechen es ganz ab.<br />

4. Aufgabe<br />

Gib über die Tastatur ein:<br />

REM Blinklicht 1. Programm<br />

1 CLS<br />

OUT 888,1<br />

FOR Z=1 TO 6000: NEXT<br />

OUT 888,0<br />

FOR Z=1 TO 6000: NEXT<br />

GOTO 1<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

8


Erklärung:<br />

Der Befehl OUT 888,1<br />

sendet ein elektrisches Signal an das Interface<br />

Das Interface ist ein Gerät mit acht Schaltern. Jeder Schalter hat eine Adresse, vergleichbar mit einer<br />

Hausnummer. Mit diesen Schaltern können acht Leuchtdioden, die als Kontroll-Lämpchen dienen einund<br />

ausgeschaltet werden.<br />

Leuchtdioden von links nach rechts:<br />

1. Leuchtdiode OUT 888,1<br />

2. Leuchtdiode OUT 888,2<br />

3. Leuchtdiode OUT 888,4<br />

4. Leuchtdiode OUT 888,8<br />

5. Leuchtdiode OUT 888,16<br />

6. Leuchtdiode OUT 888,32<br />

7. Leuchtdiode OUT 888,64<br />

8. Leuchtdiode OUT 888,128<br />

Sicherlich ist Dir die Gesetzmäßigkeit dieser Zahlenreihe aufgefallen 1- 2 – 4 – 8 – 16 - 32 – 64 - 128<br />

Der Befehl OUT 888,0<br />

bewirkt, dass alle Leuchtdioden ausgeschaltet sind.<br />

Der Befehl FOR Z=1 TO 1000: NEXT<br />

bewirkt, dass der Rechner (Computer) zählt. Er zählt von 1 bis 6000 (FOR Z=1 TO 6000). Danach<br />

(NEXT) wird die nächste Anweisung ausgeführt: OUT 888,...<br />

Zusammenfassung<br />

REM Blinklicht 1. Programm Überschrift<br />

1 CLS Bildschirm löschen<br />

OUT 888,1<br />

Leuchtdiode 1 einschalten<br />

FOR Z=1 TO 6000: NEXT<br />

von 1 bis 6000 zählen und solange LED 1 anlassen<br />

OUT 888,0<br />

Leuchtdiode 1 ausschalten<br />

FOR Z=1 TO 6000: NEXT<br />

von 1 bis 6000 zählen und solange LED 1 auslassen<br />

GOTO 1<br />

zur Nummer 1 gehen und<br />

CLS<br />

Bildschirm löschen<br />

5. Aufgabe<br />

Verlängere das Programm der 4. Aufgabe so, dass nacheinander alle Leuchtdioden an- und wieder ausgeschaltet<br />

werden.<br />

Hinweis zur Arbeitserleichterung:<br />

Markieren: mit dem Mauszeiger auf den Anfang einer Zeile gehen - linke Maustaste drücken und festhalten<br />

- Maus von links nach rechts oder nach unten bewegen - Maustaste loslassen. Die hell unterlegte<br />

Fläche ist nun markiert. Markierte Textteile können ausgeschnitten, kopiert und gelöscht werden. Ausgeschnittene<br />

Textteile sind entfernt und können später an einer anderen Stelle eingefügt werden.<br />

Verwende für diese Arbeit aus der Menüleiste „Bearbeiten“ die Möglichkeiten „Ausschneiden" - „Kopieren"<br />

- „Einfügen" - „Löschen"<br />

Probiere auch die Tasten Einfügen / Entfernen / Escape - Ungültig machen<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

9


6. Aufgabe<br />

Verändere das Programm aus der 5. Aufgabe entsprechend:<br />

REM Programm mit GOSUB und RETURN<br />

CLS<br />

PRINT „Beginn des Programms<br />

OUT 888,1<br />

PRINT „LED 1<br />

GOSUB 1<br />

OUT 888,2<br />

PRINT „LED 2<br />

GOSUB 1<br />

OUT 888,4<br />

PRINT „LED 3<br />

GOSUB 1<br />

OUT 888,8<br />

PRINT „LED 4<br />

GOSUB 1<br />

OUT 888,16<br />

PRINT „LED 5<br />

GOSUB 1<br />

OUT 888,32<br />

PRINT „LED 6<br />

GOSUB 1<br />

OUT 888,64<br />

PRINT „LED 7<br />

GOSUB 1<br />

OUT 888,128<br />

PRINT „LED 8<br />

GOSUB 1<br />

END<br />

1 REM 1. Unterprogramm<br />

PRINT „Alles OK, das Programm läuft korrekt<br />

FOR Z=1 TO 1000: NEXT<br />

RETURN<br />

Erklärung:<br />

Der Befehl GOSUB 1<br />

ruft ein Unterprogramm ab der angegebenen Zeile 1 auf und führt bei RETURN das Hauptprogramm<br />

weiter durch<br />

Öfters benötigte Anweisungen werden in einem Unterprogramm zusammengefasst. Die letzte Anweisung<br />

in diesem Unterprogramm ist RETURN<br />

GOTO ist eine Sprunganweisung ohne - GOSUB eine Sprunganweisung mit Rücksprung!<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

10


Anhang<br />

ASCII-Tabelle<br />

Zeichen für Umrahmungen:<br />

Zur Darstellung der Zeichen müssen die Taste und gleichzeitig die Nummer eingegeben werden,<br />

z.B. +218 = Ú<br />

Einstellungen in <strong>QBasic</strong> - Bildschirmanzeige<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

11


Beim normalen Text wird die Vordergrundfarbe (Textfarbe) auf Schwarz, die Hintergrundfarbe auf weiß<br />

gestellt.<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

12


Beispiel - QBASIC-Programme<br />

TEBASIC1.BAS<br />

REM 1. Aufgabe TEBASIC Kurs<br />

PRINT „Guten Tag, lieber Techniklehrer"<br />

END<br />

TEBASIC2.BAS<br />

REM 2. Aufgabe TEBASIC Kurs<br />

REM Dies ist das 2. Programm<br />

CLS<br />

PRINT „Gib bitte eine Zahl ein:“<br />

INPUT a<br />

PRINT a<br />

END<br />

TEBASIC3.BAS<br />

REM 3. Aufgabe TEBASIC Kurs<br />

CLS<br />

INPUT „Gib bitte eine Zahl ein: „, A<br />

CLS<br />

PRINT „Du hast folgende Zahl eingegeben:“; A<br />

END<br />

TEBASIC4.BAS<br />

REM 4. Aufgabe TEBASIC Kurs<br />

1 CLS<br />

PRINT „AN“<br />

PRINT „AUS“<br />

GOTO 1<br />

END<br />

TEBASIC5.BAS<br />

REM 5. Aufgabe TEBASIC Kurs<br />

REM Blinklicht 1. Programm<br />

1 CLS<br />

OUT 888, 1<br />

FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 0<br />

FOR Z = 1 TO 6000: NEXT<br />

GOTO 1<br />

TEBASIC6.BAS<br />

REM 6. Programm TEBASIC Kurs<br />

REM Blinklicht 2. Programm<br />

CLS<br />

OUT 888, 1<br />

PRINT „LED 1“<br />

FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 2<br />

PRINT „LED 2“<br />

OUT 888, 4<br />

PRINT „LED 3“<br />

FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 8<br />

PRINT „LED 4“<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

13


FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 16<br />

PRINT „LED 5“<br />

FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 32<br />

PRINT „LED 6“<br />

FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 64<br />

PRINT „LED 7“<br />

FOR Z = 1 TO 6000: NEXT<br />

OUT 888, 128<br />

PRINT „LED 8“<br />

FOR Z = 1 TO 6000: NEXT<br />

END<br />

TEBASIC7.BAS<br />

REM 7. Programm TEBASIC Kurs<br />

REM Programm mit GOSUB und RETURN<br />

CLS<br />

OUT 888, 1<br />

PRINT „LED 1“<br />

GOSUB 1<br />

OUT 888, 2<br />

PRINT „LED 2“<br />

GOSUB 1<br />

OUT 888, 4<br />

PRINT „LED 3“<br />

GOSUB 1<br />

OUT 888, 8<br />

PRINT „LED 4“<br />

GOSUB 1<br />

OUT 888, 16<br />

PRINT „LED 5“<br />

GOSUB 1<br />

OUT 888, 32<br />

PRINT „LED 6“<br />

GOSUB 1<br />

OUT 888, 64<br />

PRINT „LED 7“<br />

GOSUB 1<br />

OUT 888, 128<br />

PRINT „LED 8“<br />

GOSUB 1<br />

GOSUB 2<br />

END<br />

1 REM 1. Unterprogramm<br />

PRINT „Alles OK, das Programm läuft korrekt“<br />

FOR Z = 1 TO 6000: NEXT<br />

CLS<br />

RETURN<br />

2 REM 2. Unterprogramm<br />

PRINT „Das Programm ist beendet“<br />

FOR Z = 1 TO 6000: NEXT<br />

CLS<br />

RETURN<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

14


Steuerungsprogramme / Beispiele<br />

AMPEL1.BAS<br />

REM AMPEL1.BAS<br />

REM Ampel-Steuerung von Hülja? Hauptschulabschlussprüfung Fach Technik 1990?<br />

REM Überarbeitete Version /<strong>Klaus</strong> <strong>Zickner</strong> 01.93 co<br />

CLS<br />

PRINT „Bitte starten Sie dieses Programm! Vergessen Sie nicht“<br />

PRINT „den Zeit-Takt einzugeben. Danke!“<br />

INPUT S<br />

1 REM Ampelsteuerung<br />

CLS<br />

PRINT „***********“<br />

PRINT „* AUS *“<br />

PRINT „***********“<br />

OUT 888,0<br />

FOR T=1 TO S:NEXT<br />

OUT 888,4+32<br />

CLS<br />

PRINT „**************************“<br />

PRINT „* Ampel schaltet grün *“<br />

PRINT „**************************“<br />

FOR T=1 TO S:NEXT<br />

OUT 888,8+64<br />

CLS<br />

PRINT „************************“<br />

PRINT „* Ampel schaltet auf *“<br />

PRINT „* gelb *“<br />

PRINT „************************“<br />

FOR T=1 TO S:NEXT<br />

CLS<br />

PRINT „**************************“<br />

PRINT „* Ampel schaltet auf *“<br />

PRINT „* rot *“<br />

PRINT „**************************“<br />

OUT 888,16+128<br />

FOR T=1 TO S:NEXT<br />

OUT 888,8+64<br />

CLS<br />

PRINT „*****************************“<br />

PRINT „* Es geht wieder zurück *“<br />

PRINT „* aufs gelb *“<br />

PRINT „*****************************“<br />

FOR T=1 TO S:NEXT<br />

CLS<br />

PRINT „******************************“<br />

PRINT „* Ampel schaltet auf grün *“<br />

PRINT „******************************“<br />

OUT 888,4+32<br />

FOR T=1 TO S:NEXT<br />

CLS<br />

PRINT „********************************“<br />

PRINT „* Bei Ampel 1. leuchtet rot *“<br />

PRINT „* und bei Ampel 2. leuchtet *“<br />

PRINT „* es grün *“<br />

PRINT „********************************“<br />

OUT 888,16+32<br />

FOR T=1 TO S:NEXT<br />

CLS<br />

PRINT „**********************************“<br />

PRINT „* Bei beiden Ampeln leuchtet *“<br />

PRINT „* es gelb *“<br />

PRINT „**********************************“<br />

OUT 888,8+64<br />

FOR T=1 TO S:NEXT<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

15


CLS<br />

PRINT „***********************************“<br />

PRINT „* Bei Ampel 1. leuchtet es *“<br />

PRINT „* grün und bei Ampel 2. leuch-*“<br />

PRINT „* tet es rot *“<br />

PRINT „************************************“<br />

OUT 888,4+128<br />

FOR T=1 TO S:NEXT<br />

CLS<br />

PRINT „**********************************“<br />

PRINT „* Wegen Störung fallen die *“<br />

PRINT „* Ampeln auf der Strasse aus *“<br />

PRINT „***********************************“<br />

OUT 888,0<br />

FOR T=1 TO S:NEXT<br />

GOTO 1<br />

AMPEL2.BAS<br />

REM AMPEL2.BAS<br />

REM Ampel-Steuerung von Michael P. Stocker / Hauptschulabschlussprüfung<br />

REM Fach Technik 1989<br />

REM Überarbeitete Version /<strong>Klaus</strong> <strong>Zickner</strong> 01.93 co<br />

CLS<br />

PRINT „*********************************************************************“<br />

PRINT „* *“<br />

PRINT „* Geben Sie die Geschwindigkeit ein, mit der das Programm *“<br />

PRINT „* ablaufen soll. Maximal 5000 *“<br />

PRINT „* *“<br />

PRINT „*********************************************************************“<br />

INPUT S<br />

PRINT<br />

PRINT<br />

1 CLS<br />

PRINT „**********************************************“<br />

PRINT „* *“<br />

PRINT „* Ampel ist auf Grün geschaltet *“<br />

PRINT „* *“<br />

PRINT „**********************************************“<br />

OUT 888,4<br />

FOR T=1 TO S :NEXT<br />

CLS<br />

PRINT „**********************************************“<br />

PRINT „* *“<br />

PRINT „* Ampel hat auf gelb umgeschaltet *“<br />

PRINT „* *“<br />

PRINT „**********************************************“<br />

OUT 888,2<br />

FOR T=1 TO S :NEXT<br />

CLS<br />

PRINT „**********************************************“<br />

PRINT „* *“<br />

PRINT „* Ampel ist auf Rot gestellt *“<br />

PRINT „* *“<br />

PRINT „**********************************************“<br />

OUT 888,1<br />

FOR T=1 TO S :NEXT<br />

CLS<br />

PRINT „**********************************************“<br />

PRINT „* *“<br />

PRINT „* Ampel leuchtet Rot-Gelb auf *“<br />

PRINT „* *“<br />

PRINT „**********************************************“<br />

OUT 888,1+2<br />

FOR T=1 TO S :NEXT<br />

GOTO 1<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

16


END<br />

AMPEL3.BAS<br />

REM AMPEL3.BAS<br />

REM Ampel-Steuerung von Ralf Hausch / Hauptschulabschlussprüfung Fach Technik 1988<br />

REM Überarbeitete Version /<strong>Klaus</strong> <strong>Zickner</strong> 01.93 co<br />

REM AMPELSCHALTUNG<br />

1 CLS<br />

LOCATE 10,14<br />

PRINT „AMPELSCHALTUNG VON 2 GEGENLÄUFIGEN AMPELN“<br />

LOCATE 11,14<br />

PRINT „ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!“<br />

LOCATE 12,14<br />

PRINT „WENN SIE ES SATT HABEN DIESES PROGRAMM ZU SEHEN,“<br />

PRINT „DRÜCKEN SIE BITTE DIE TASTEN“<br />

PRINT „+ !!“<br />

PRINT „AMPEL 1 UND 2 WERDEN ROT“<br />

OUT 888,1+32 : GOSUB 2<br />

PRINT „AMPEL 1 BLEIBT ROT 2 WIRD ROT UND GELB“<br />

OUT 888,32+64+1 : GOSUB 2<br />

PRINT „AMPEL 1 BLEIBT ROT 2 WIRD GRÜN“<br />

OUT 888,1+128 : GOSUB 3<br />

PRINT „AMPEL 1 BLEIBT ROT 2 WIRD GELB“<br />

OUT 888,64+1 : GOSUB 2<br />

PRINT „AMPEL 1 UND 2 WERDEN ROT“<br />

OUT 888,32+1 : GOSUB 2<br />

PRINT „AMPEL 2 BLEIBT ROT 1 WIRD ROT UND GELB“<br />

OUT 888,1+2+32 : GOSUB 2<br />

PRINT „AMPEL 2 BLEIBT ROT 1 WIRD GRÜN“<br />

OUT 888,4+32 : GOSUB 3<br />

85 PRINT „AMPEL 2 BLEIBT ROT 1 WIRD GELB“<br />

OUT 888,2+32 : GOSUB 2<br />

PRINT „AMPEL 1 UND 2 WERDEN ROT“<br />

OUT 888,1+32 : GOSUB 4<br />

GOTO 1<br />

2 FOR R=1 TO 6000 : NEXT<br />

RETURN<br />

3 FOR I=1 TO 11100 : NEXT<br />

RETURN<br />

4 FOR E=1 TO 1500 : NEXT<br />

RETURN<br />

AMPEL4.BS<br />

REM AMPEL4.BAS<br />

REM Ampel-Steuerung von Daniel Fassnacht<br />

REM Überarbeitete Version /<strong>Klaus</strong> <strong>Zickner</strong> 01.93 co<br />

CLS<br />

LOCATE 2,25:PRINT „************************“<br />

LOCATE 3,25:PRINT „********AMPEL********“<br />

LOCATE 4,25:PRINT „************************“<br />

6<br />

LOCATE 11,10:INPUT „GEBEN SIE DIE INTERWALLDAUER IN SEK. EIN“;IVD<br />

LOCATE 13,10:INPUT „GEBEN SIE EIN WIE OFT DER INTERWALL DURCHLAUFEN SOLL“;ID<br />

FOR I =1 TO 1000 :NEXT<br />

OUT 888,0 :GOSUB 1<br />

OUT 888,1+32 :GOSUB 1<br />

OUT 888,2+32 :GOSUB 1<br />

OUT 888,4+48 :GOSUB 1<br />

OUT 888,4+8 :GOSUB 1<br />

OUT 888,4+16 :GOSUB 1<br />

OUT 888,6+32 :GOSUB 1<br />

OUT 888,1+32 :GOSUB 1<br />

OUT 888,0 :GOSUB 1<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

17


LOCATE 18,15:INPUT „MÖCHTEN SIE NOCH EINMAL (J/N)“;JN$<br />

IF JN$=„J“OR JN$ =„j“ THEN GOTO 4<br />

IF JN$=„N“ OR JN$= „n“ THEN GOTO 3<br />

IF JN =CR THEN GOTO 3<br />

4 CLS :GOTO 2<br />

2 GOTO 6<br />

3 END<br />

1 FOR I =1 TO 5000 :NEXT<br />

RETURN<br />

BLINK1.BAS<br />

REM BLINK1.BAS<br />

REM Blinklicht Grundprogramm<br />

1<br />

PRINT „Blinklicht Grundprogramm - nacheinander werden alle LED´s“<br />

PRINT „eingeschalten“<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2+4<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2+4+8<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2+4+8+16<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2+4+8+16+32<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2+4+8+16+32+64<br />

FOR T = 1 TO 5000 : NEXT T<br />

OUT 888,1+2+4+8+16+32+64+128<br />

GOTO 1<br />

BLINK2.BAS<br />

REM BLINK2.BAS<br />

REM Blinklicht - Grundprogramm mit Eingabe eines Zeit-Intervalls<br />

1<br />

CLS<br />

PRINT „Blinklicht Grundprogramm - mit Eingabe eines Zeit-Intervalls“<br />

PRINT „Zeit-Intervall eingeben:“ INPUT S<br />

OUT 888,1<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2+4<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2+4+8<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2+4+8+16<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2+4+8+16+32<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2+4+8+16+32+64<br />

FOR T = 1 TO S : NEXT T<br />

OUT 888,1+2+4+8+16+32+64+128<br />

GOTO 1<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

18


BOHRER1.BAS<br />

REM BOHRER1.BAS<br />

REM Platinenbohrer - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93<br />

REM Voraussetzungen: Trafoanschluss 18 Volt / 1,5 Ampere Gleichstrom<br />

1<br />

CLS<br />

PRINT „Platinenbohrer - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93“<br />

PRINT „Voraussetzungen: Trafoanschluss 18 Volt / 1,5 Ampere Gleichstrom“<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Horizontal-Wagen nach LINKS“<br />

FOR N = 1 TO 20<br />

OUT 888, 5 + 32: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 6 + 32: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 10 + 32: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 9 + 32: FOR T = 1 TO 200: NEXT T<br />

NEXT N<br />

OUT 888, 0<br />

CLS<br />

PRINT „Horizontal-Wagen nach RECHTS“<br />

FOR N = 1 TO 20<br />

OUT 888, 5 + 32: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 9 + 32: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 10 + 32: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 6 + 32: FOR T = 1 TO 200: NEXT T<br />

NEXT N<br />

OUT 888, 0<br />

CLS<br />

PRINT „Vertikal-Wagen nach LINKS“<br />

FOR N = 1 TO 20<br />

OUT 888, 5 + 16: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 9 + 16: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 10 + 16: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 6 + 16: FOR T = 1 TO 200: NEXT T<br />

NEXT N<br />

OUT 888, 0<br />

CLS<br />

PRINT „Vertikal-Wagen nach RECHTS“<br />

FOR N = 1 TO 20<br />

OUT 888, 5 + 16: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 6 + 16: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 10 + 16: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 9 + 16: FOR T = 1 TO 200: NEXT T<br />

NEXT N<br />

OUT 888, 0<br />

CLS<br />

PRINT „Bohrmaschine AUF“<br />

FOR N = 1 TO 20<br />

OUT 888, 5 + 64: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 9 + 64: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 10 + 64: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 6 + 64: FOR T = 1 TO 200: NEXT T<br />

NEXT N<br />

OUT 888, 0<br />

CLS<br />

PRINT „Bohrmaschine AB“<br />

FOR N = 1 TO 20<br />

OUT 888, 5 + 64: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 6 + 64: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 10 + 64: FOR T = 1 TO 200: NEXT T<br />

OUT 888, 9 + 64: FOR T = 1 TO 200: NEXT T<br />

NEXT N<br />

PRINT „ENDE“<br />

OUT 888, 0<br />

END<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

19


GREIFER1.BAS<br />

REM GREIFER1.BAS<br />

REM Greifer Grundprogramm<br />

PRINT „Greifer - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93“<br />

PRINT „Voraussetzungen: Interface 5 Volt / Trafo-Ventile 6 Volt / Luft 2,8 bar“<br />

PRINT „Alle Grundfunktionen des Greifers werden ausgeführt!“<br />

PRINT „ANFANG“<br />

OUT 888,1<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,0<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,2<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,2+1<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,2+1+4<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,2+4<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,4<br />

FOR T=1 TO 50000:NEXT T<br />

OUT 888,4+1<br />

FOR T=1 TO 50000:NEXT T<br />

PRINT „ENDE“<br />

GREIFER2.BAS<br />

REM GREIFER2.BAS<br />

REM Greifer - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93<br />

REM Voraussetzungen: Interface 5 Volt / Trafo-Ventile 6 Volt / Luft 2,8 bar<br />

1<br />

CLS<br />

PRINT „Greifer - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93“<br />

PRINT „Voraussetzungen: Interface 5 Volt / Trafo-Ventile 6 Volt / Luft 2,8 bar“<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Grundstellung“<br />

OUT 888, 255<br />

FOR T = 1 TO 50000: NEXT T<br />

OUT 888, 1 + 2 + 4<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Schwenken“<br />

OUT 888, 1 + 2<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Senken“<br />

OUT 888, 2<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Greifen und Schwenken“<br />

OUT 888, 4<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Loslassen“<br />

OUT 888, 2 + 4<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Grundstellung“<br />

OUT 888, 1 + 2 + 4<br />

FOR T = 1 TO 50000: NEXT T<br />

GOTO ANFANG<br />

END<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

20


GREIFER3.BAS<br />

REM GREIFER3.BAS<br />

REM DANIEL FASSNACHT ZIEGELBACHSTR.33 7332 EISLINGEN FILS<br />

REM Hauptschulabschlussprüfung Fach Technik 1991?<br />

REM Form überarbeitet 01.93/ <strong>Klaus</strong> <strong>Zickner</strong> co<br />

3 CLS<br />

OUT 888,0<br />

LOCATE 4,28 : PRINT „****************“<br />

LOCATE 5,28 : PRINT „**ROBOTER**“<br />

LOCATE 6,28 : PRINT „****************“<br />

LOCATE 8,20 : INPUT „WIE OFT SOLL ER SICH BEWEGEN“;B<br />

FOR I = 1 TO B<br />

OUT 888,1 : CLS : LOCATE 10,33 : PRINT „**SENKT**“ : GOSUB 1<br />

OUT 888,1+2 : CLS : LOCATE 10,33 : PRINT „**GREIFT**“ : GOSUB 1<br />

OUT 888,2 : CLS : LOCATE 10,33 : PRINT „**HEBT**“ : GOSUB 1<br />

OUT 888,2+4 : CLS : LOCATE 10,33 : PRINT „**SCHWENKT**“ : GOSUB 1<br />

OUT 888,2 : CLS : LOCATE 10,33 : PRINT „**SCHWENKT ZURÜCK**“: GOSUB 1<br />

OUT 888,4+2 : CLS : LOCATE 10,33 : PRINT „**SCHWENKT**“ : GOSUB 1<br />

OUT 888,1+4+2 : CLS : LOCATE 10,33 : PRINT „**SENKT**“ : GOSUB 1<br />

OUT 888,1+4 : CLS : LOCATE 10,33 : PRINT „**LÄSST LOS**“ : GOSUB 1<br />

OUT 888,4 : CLS : LOCATE 10,33 : PRINT „**GEHT HOCH**“ : GOSUB 1<br />

OUT 888,0 : CLS : LOCATE 10,33 : PRINT „**GEHT ZUM ANFANG**“: GOSUB 1<br />

NEXT I<br />

GOSUB 2<br />

1 FOR Z = 1 TO 7000 : NEXT Z<br />

RETURN<br />

2 CLS<br />

5 LOCATE 11,30 : INPUT „ NOCH EINMAL (J/N)“;AB$<br />

IF AB$ =„J“THEN GOTO 3<br />

IF AB$ =„N“THEN 4<br />

IF AB$ = „“ THEN 5<br />

4 CLS : FILES : NEW<br />

GREIFER4.BAS<br />

REM GREIFER4.BAS<br />

REM Greifersteuerung von Paul Lampert/Hauptschulabschlussprüfung 1989?<br />

REM Überarbeitete Version für QBASIC /<strong>Klaus</strong> <strong>Zickner</strong> 01.93<br />

REM ***********************************************<br />

REM *** G R E I F E R - S T E U E R U N G ***<br />

REM ***********************************************<br />

4 CLS : COLOR 7, 0, 0<br />

COLOR 15: LOCATE 8, 25: PRINT „Programm Greifersteuerung“<br />

COLOR 4: LOCATE 9, 23: PRINT „Copyright (c) by Paul Lambert“<br />

COLOR 15<br />

LOCATE 12, 15<br />

PRINT „Bevor Sie das Programm starten muss einiges beachtet“<br />

PRINT TAB(15); „werden :“<br />

COLOR 7<br />

PRINT TAB(21); „Sie müssen den DATA TRANSFER SCHALTER auf -B-“<br />

PRINT TAB(21); „stellen. Der Transformator für den Greifer ein-“<br />

PRINT TAB(21); „schalten.“<br />

COLOR 15<br />

PRINT TAB(21); „ACHTUNG :“<br />

COLOR 7<br />

PRINT TAB(21); „Der Greiferarm darf bei seinen Bewegungen nicht“<br />

PRINT TAB(21); „behindert werden.“<br />

COLOR 15<br />

1 LOCATE 22, 25: PRINT „Wenn fertig, eine Taste drücken“<br />

A$ = INKEY$: IF A$ = „„ THEN 1<br />

CLS<br />

LOCATE 10, 20: INPUT „Wie oft soll der Vorgang wiederholt werden :“, V<br />

LOCATE 12, 20: INPUT „Intervalle zwischen den Bewegungen in (sec.):“, Z<br />

2 LOCATE 16, 30: PRINT „Wenn fertig, eine Taste drücken“<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

21


A$ = INKEY$: IF A$ = „“ THEN 2<br />

FOR A = 1 TO V<br />

OUT 888, 0: GOSUB 3<br />

OUT 888, 1: GOSUB 3<br />

OUT 888, 1 + 2: GOSUB 3<br />

OUT 888, 2: GOSUB 3<br />

OUT 888, 2 + 4: GOSUB 3<br />

OUT 888, 2: GOSUB 3<br />

OUT 888, 2 + 4: GOSUB 3<br />

OUT 888, 1 + 2 + 4: GOSUB 3<br />

OUT 888, 1 + 4: GOSUB 3<br />

OUT 888, 4: GOSUB 3<br />

OUT 888, 0: GOSUB 3<br />

NEXT A<br />

CLS<br />

6 COLOR 15: LOCATE 12, 25: INPUT „Möchten Sie noch einmal (J/N)“; JN$<br />

IF JN$ = „J“ OR JN$ = „j“ THEN 4<br />

IF JN$ = „N“ OR JN$ = „n“ THEN 5<br />

IF JN = CR THEN 6<br />

5 CLS<br />

COLOR 31<br />

LOCATE 10, 30: PRINT „****************“<br />

LOCATE 11, 30: PRINT „*** E N D E ***“<br />

LOCATE 12, 30: PRINT „****************“<br />

CLS : FILES<br />

END<br />

3 FOR I = 1 TO Z * 2000: NEXT I<br />

RETURN<br />

MAGAZIN1.BAS<br />

REM MAGAZIN1.BAS<br />

REM PC Programm für SM-Transportautomat/ co <strong>Klaus</strong> <strong>Zickner</strong> /01.93<br />

REM Voraussetzungen: Interface 5 Volt / Trafo-Ventile 6 Volt / Luft 2,8 bar<br />

1 CLS<br />

PRINT „Magazin - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93“<br />

PRINT „Voraussetzungen: Interface 5 Volt / Trafo-Ventile 6 Volt / Luft 2,8 bar“<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Vorschub“<br />

OUT 888, 0<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Rückschub“<br />

OUT 888, 1<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

GOTO 1<br />

END<br />

MAGAZIN2.BAS<br />

REM MAGAZIN2.BAS<br />

REM PC Programm für SM-Transportautomat/ co <strong>Klaus</strong> <strong>Zickner</strong> /01.93<br />

REM Voraussetzungen: Interface 5 Volt / Trafo-Ventile 6 Volt / Luft 2,8 bar<br />

REM Mit Abfrage der Taktzeit/Bildschirm-Farbgestaltung/Sound<br />

1<br />

SCREEN 0<br />

COLOR 15, 1, 4<br />

LOCATE 5, 15<br />

PRINT „Geben Sie die Taktzeit in Sekunden ein:“<br />

LOCATE 5, 55<br />

INPUT t<br />

w = 1000 * t<br />

REM Steuerprogramm - Pneumatikzylinder<br />

2 CLS<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

22


LOCATE 5, 15<br />

PRINT „In Betrieb /Takt Nr.:“<br />

OUT 888, 1<br />

n = n + 1<br />

LOCATE 5, 35<br />

PRINT n<br />

FOR z = 1 TO 2000: NEXT z<br />

OUT 888, 0<br />

FOR z = 1 TO w: NEXT z<br />

REM Abfrage des Füllstandes<br />

REM IF joy(0) = 0 THEN GOTO 1<br />

REM Nachfüllen<br />

CLS<br />

LOCATE 7, 15<br />

PRINT „Bitte nachfüllen!“<br />

LOCATE 8, 15<br />

PRINT „Danach die Leertaste drücken!“<br />

3 a$ = INKEY$<br />

SOUND 440, 1<br />

IF a$ = „“ THEN 2<br />

GOTO 3<br />

STYROPOR.BAS<br />

REM STYROPOR.BAS<br />

REM Styroporschneider - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93<br />

REM Voraussetzungen: Interface 5 Volt / Trafo 6 Volt<br />

1<br />

CLS<br />

OUT 888, 0<br />

PRINT „Styroporschneider - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93“<br />

PRINT „Das Programm schneidet ein kleines Rechteck“<br />

PRINT „Voraussetzungen: Interface 5 Volt / Trafo 6 Volt“<br />

PRINT „Maschine in Ausgangsposition bringen. Dabei darauf achten,“<br />

PRINT „dass die END Markierungen nicht überfahren werden!“<br />

PRINT „In der Probephase Trafo-Schalter zum EIN/AUS schalten benutzen“<br />

PRINT „<br />

PRINT „Ausgangsposition TRAFO JETZT EINSCHALTEN“<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Wagen bewegt sich nach LINKS“<br />

OUT 888, 8<br />

FOR T = 1 TO 100000: NEXT T<br />

CLS<br />

PRINT „Heizdraht bewegt sich nach OBEN“<br />

OUT 888, 2<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Wagen bewegt sich nach RECHTS“<br />

OUT 888, 4<br />

FOR T = 1 TO 100000: NEXT T<br />

CLS<br />

PRINT „Heizdraht bewegt sich nach UNTEN“<br />

OUT 888, 1<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Anfang“<br />

GOTO 1<br />

END<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

23


TURTLE1.BAS<br />

REM TURTLE1.BAS<br />

REM Turtle - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93<br />

1<br />

CLS<br />

OUT 888, 0<br />

PRINT „Turtle - Grundsteuerprogramm /co <strong>Klaus</strong> <strong>Zickner</strong> /01.93“<br />

PRINT „Voraussetzungen: Interface 5 Volt / Trafo 4,5 Volt“<br />

PRINT „Interface jetzt EINSCHALTEN“<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Kreisfahrt LINKS“<br />

OUT 888, 2 + 8<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Stop“<br />

OUT 888, 0<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Kreisfahrt RECHTS“<br />

OUT 888, 1 + 4<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

PRINT „Stop“<br />

OUT 888, 0<br />

FOR T = 1 TO 50000: NEXT T<br />

CLS<br />

GOTO 1<br />

END<br />

<strong>QBasic</strong><strong>Projekt</strong>.DOC / <strong>Klaus</strong> <strong>Zickner</strong> / 05.11.2005<br />

24

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!