Rozdział 20 - Drukarka dla ZX81

Jeśli posiadasz drukarkę ZX81, to będziesz miał dla niej kilka instrukcji sterujących. Ten rozdział pokrywa polecenia języka BASIC, które są potrzebne do pracy z drukarką.

Pierwsze dwa, LPRINT oraz LLIST, działają tak samo jak PRINT i LIST, tylko zamiast telewizora wykorzystują drukarkę (Literka L ma pochodzenie historyczne. Gdy wynaleziono język BASIC, to typowo wykorzystywał on elektroniczną drukarkę zamiast telewizora, zatem PRINT - drukuj - naprawdę znaczyło drukować. Jeśli chciało się otrzymać informację wyjściową, to stosowana była bardzo szybka drukarka wierszowa - ang. line printer - podłączona do komputera, a polecenie LPRINT oznaczało Line printer PRINT - czyli wydruk na drukarce wierszowej).

Dla przykładu wypróbuj ten program

10 LPRINT "TEN PROGRAM:",,,,
20 LLIST
30 LPRINT ,,"DRUKUJE ZESTAW ZNAKOW.",,,
40 FOR N=0 TO 255
50 LPRINT CHR$ N;
60 NEXT N

Trzecie polecenie, COPY, dokonuje wydruku kopii ekranu telewizyjnego. Na przykład, przywołaj na ekran listing programu powyżej i wpisz:

COPY

Drukarkę zawsze możesz zatrzymać w czasie jej pracy naciskając klawisz BREAK (spację).

Jeśli wykonasz te polecenia bez dołączonej drukarki, to dane powinny po prostu zostać utracone i komputer przejdzie do wykonywania następnego polecenia. Jednakże czasami może się przyblokować, a gdy się to stanie, klawisz spacji przywróci go do stanu używalności.

 

 

Podsumowanie

Polecenia: LPRINT, LLIST, COPY

Uwaga: Żadne z tych poleceń nie należy do standardu języka BASIC, chociaż LPRINT jest używane przez niektóre inne komputery.

 

 

Ćwiczenia

  1. Wypróbuj to:

10 FOR N=31 TO 0 STEP -1
20 PRINT AT 31-N,N;CHR$ (CODE "0" +N);
30 NEXT N

Zobaczysz wzór z liter biegnących w dół po przekątnej z prawego górnego rogu aż do osiągnięcia spodu ekranu, gdy program zatrzymuje się z komunikatem błędu 5.

Teraz zmień "AT 31-N,N" w wierszu 20 na "TAB N". Program będzie miał dokładnie taki sam efekt jak poprzednio.

Teraz zmień PRINT w wierszu 20 na LPRINT. Tym razem nie będzie błędu 5, który nie powinien pojawiać się przy drukarce, a wzór będzie tworzony dalej przez dodatkowe dziesięć wierszy z cyframi.

Teraz zmień "TAB N" na "AT 21-N,N" wciąż używając LPRINT. Tym razem otrzymasz po prostu jeden wiersz cyfr. Powodem tej różnicy jest to, iż wyjście danych z LPRINT nie jest od razu drukowane, lecz umieszczane w buforze przechowującym obraz jednego wiersza, który komputer wydrukuje w odpowiedniej chwili. Drukowanie ma miejsce, gdy:

(i) bufor jest pełny,
(ii) po poleceniu LPRINT nie kończącym się przecinkiem lub średnikiem,
(iii) gdy przecinek lub element TAB wymaga nowego wiersza,
(iv) na końcu programu, jeśli zostało coś nie wydrukowane.

Punkt (iii) wyjaśnia, dlaczego nasz program z TAB działa w sposób w jaki działa. Jeśli chodzi o AT, numer wiersza jest ignorowany a pozycja LPRINT na drukarce (podobnie jak pozycja PRINT na ekranie) jest zmieniana zgodnie z numerem kolumny. Element AT nigdy nie spowoduje wysłania wiersza do drukarki (właściwie numer za AT nie jest zupełnie ignorowany; musi on być pomiędzy -21 a +21, inaczej powstanie błąd. Z tego powodu najbezpieczniej jest zawsze ustawić numer wiersza na 0. Zatem element "AT 21-N,N" w końcowej wersji naszego programu najlepiej zastąpić przez "AT 0,N", chociaż będzie to mniej obrazowe.)

 

 

  1. Utwórz wydruk wykresu SIN przez uruchomienie programu z rozdziału 18 i zastosowanie polecenia COPY.

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2018 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.