KURS QBASIC


 Ale wam dobrze. Macie teraz środek wakacji, na dworze świeci słońce, nie trzeba się niczym martwić. Ech. Chociaż, nie mogę tak narzekać, bo wtedy kiedy przyjdzie do was ten ActionMag (ok 25 lipca) ja będę wyjeżdżał na obóz do Włoch :].

Ale dość marzeń. Jak już wiecie Devi nie będzie mogła prowadzić tego kursu więc przejąłem go ja. Ponieważ już od dłuższego czasu nie było żadnego nowego odcinka, postanowiłem, że ten będzie powtórzeniem wszystkich dotychczasowych + kilka rzeczy których jeszcze nie było. Od następnej lekcji zaczniemy się uczyć bardziej zaawansowanych rzeczy.


Pierwszą instrukcją jaką poznaliśmy było 

<<<CLS>>>
Jest to instrukcja czyszcząca ekran. Powinna ona być jako pierwsza w programie.

<<<PRINT>>>
Ta instrukcja pozwoli nam obejrzeć efekty naszej pracy.
Przykład:

------------------------------------------------------------------------------
CLS 'Wyczyści ekran
PRINT 7 'wyświetli na ekranie liczbę 7
PRINT 7+3 'zsumuje liczbę 7 z 3 i wyświetli wynik działania czyli 10
PRINT "Pierwszy program" 'wyświetli na ekranie tekst zawarty w apostrofach
PRINT "Mój";1;"program" 'wyświetli następujący tekst: Mój 1 program 
PRINT "Mój 1 program" 'jak wyżej
text$="pierwszy program"
PRINT text$ 'wyświetli zawartość zmiennej text$
-----------------------------------------------------------------------------

<<<LPRINT>>>
Działa tak samo jak PRINT ale tekst przesyła nie na ekran tylko na drukarkę.


<<<INPUT>>>
Wpisuje do zmiennej liczbę lub ciąg znaków z klawiatury.
UWAGA!!! INPUT zawsze wypisuje znak zapytania (?). Aby tego uniknąć należy napisać po ciągu znaków przecinek 
np INPUT "Naciśnij enter", zmienna
-----------------------------------------------------------------------
CLS
INPUT "Podaj swój wiek"; wiek
PRINT "Masz"; wiek; "lat"
PRINT "Jakie jest Twoje imięś"
INPUT imie$
PRINT imie$
PRINT "Podaj imie, wiek i zawod";
INPUT imie$, wiek, zawod$
-----------------------------------------------------------------------

<<<LINE INPUT>>>
Działa tak samo jak INPUT ale używamy go gdy tekst zawiera przecinki.

<<<IF THEN>>>
składnia:

IF warunek THEN 
instrukcje1
[ELSE]
instrukcje2 
END IF

Jeśli warunek zostanie spełniony to instrukcje1 zostaną wykonane. A jeśli nie to wykonają się instrukcje2 (czyli te po ELSE). ELSE jest opcjonalne czyli nie musicie go stosować.
Przy korzystaniu z instrukcji IF możecie użyć operatorów AND(i) oraz OR(albo). 
np.

IF (wz>3500) OR (lS<4) THEN ...
znaczy: jeśli zmienna wz jest większa od 3500 ALBO zmienna ls jest mniejsza od 4 wtedy wykonaj następujące instrukcję...

IF (wz>3500) AND (lS<4) THEN ...
znaczy: jeśli zmienna wz jest większa od 3500 ORAZ zmienna ls jest mniejsza od 4 wtedy wykonaj następujące instrukcję...

%%%%%%PĘTLE%%%%%%%

<<<FOR NEXT>>>
składnia:

FOR zmienna=liczba1 TO liczba2 [STEP wartość]
Instrukcje
NEXT zmienna

Pętla ta będzie wykonywała instrukcje do momentu, w którym zmienna osiągnie wartość liczba 2.
np.
-----------------------------
CLS
FOR zmienna=1 TO 7
PRINT "WITAM !!!"
NEXT zmienna
-----------------------------

Po uruchomieniu tego programu na ekranie wydrukuje się 7 razy napis WITAJ!!!
Jak wiemy, po każdym okrążeniu pętla zwiększa się o 1. Ale możemy też zrobić aby zwiększała się np. co 5, a także zmniejszała się! Posłuży nam do tego klauzula STEP
np.

-----------------------------
CLS
FOR i=1 TO 10 STEP 2
PRINT "WITAM !!!"
NEXT i
-----------------------------

Przeanalizujmy to po kolei. Najpierw jest czyszczony ekran. Póśniej do zmiennej ' i ' wpisywana jest wartość 1. Następnie pojawia się napis WITAM!!! i przeniesiemy się znowu do 2 linii gdzie zmienna jest powiększona o 2 i sprawdzana czy nie osiągnęła już wartości 10. Dalej znowu WITAM!!! i tak aż i=10. Czyli ta pętla zostanie okrążona 5 razy. Tak samo działa to z odliczaniem do tyłu:

-----------------------------
CLS
FOR i=1 TO 10 STEP -1 'można oczywiście wstawić zamiast -1 np. -4
PRINT "WITAM !!!"
NEXT i
----------------------------- 

<<<DO>>>
składnia:

DO 
instrukcje
LOOP UNTIL warunek

Ta pętla będzie wykonywała się tyle razy, aż jej warunek zostanie spełniony. 
np.

-------------------------------------------------------
CLS
DO
PRINT "Heniu pisze kurs QB!!!"
INPUT "Jeszcze raz (t/n)"; odp$
LOOP UNTIL (odp$ = "T" OR odp$ = "t")
END
-------------------------------------------------------
Program ten będzie pisał powyższy tekst dopóki nie naciśniemy klawisza T lub t. Należy pamiętać, że instrukcje wewnątrz pętli wykonają się chociaż 1 raz.

<<<DO WHILE>>>
składnia:

DO WHILE warunek 
instrukcje
LOOP

Ta pętla działa IDENTYCZNIE jak poprzednia ale może zostać w ogóle nie wykonana jeśli warunek będzie spełniony już przed pętlą. W takim wypadku wykonywanie programu przeskoczy za LOOP.

%%%%%%%%%%%MUZYKA%%%%%%%%%%%%

<<<BEEP>>>
Cóż można powiedzieć o tej bardzo skomplikowanej instrukcji :). Po prostu słyszymy jeden dświęk.

<<<SOUND>>>
składnia: 
SOUND częstotliwość, czasTrwania 

Wygrywa dzwięk o jakiejś częstotliwości w podanym czasie (1 sekunda =18.2). Częstotliwości pochodzi z zakresu od 32 do 32767 z tym, że częstotliwości większe niż 20000 są nie słyszalne dla człowieka. Ale możecie się pobawić w budzenie nimi swojego psa ;) Po ważniejsze rzeczy odsyłam do 4 cz. kursu.

---------------------------------------
CLS
SOUND 110, 18 
SOUND 210, 36
---------------------------------------

%%%%%%%%%%%%%%/GRAFIKA%%%%%%%%%%%%%

Ekran w trybie graficznym ma rozdzielczość 640 x 480 pikseli (trzeba pamiętać, że pierwszy pixel jest w lewym górnym rogu i ma współrzędne 0,0 a ostatni w lewym dolnym czyli w 639,479. 

<<<SCREEN>>>
składnia: SCREEN tryb

Inicjuje tryb graficzny. I tu znalazłem błąd Devi. Pomyliła ona tryb 12 z trybem 2 który nie daje rozdzielczości 640x480 (2 daje 640x200) My więc będziemy używać 12 dającego ww. rozdzielczość i 16 kolorów.

<<<PSET>>>
składnia: PSET (x,y)

Instrukcja ta włącza pixel (czyli po prostu rysuje na ekranie punkt) w miejscu x,y.

<<<PRESET>>>
składnia: PRESET(x,y)
A ta odwrotnie - wyłącza piksel. 

------------------------------------------------
SCREEN 12 'wlaczamy tryb graficzny
PSET (80, 90) 'zapalamy piksel o danych wspolrzednych
INPUT "", k 'czekamy na naciśnięcie enter
PRESET (80, 90) 'gasi pixel
END
-----------------------------------------------

<<<LINE>>>
składnia: LINE (x1, y1) - (x2, y2)

Rysuje linie od punktu x1,y1 do x2,y2. Gdy napiszemy na końcu 2 przecinki i literkę B to zamiast linii narysuje się prostokąt.

<<<CIRCLE>>>
składnia: CIRCLE (x,y),promień

Rysuje okrąg o środku w punkcie x,y i podanym promieniu.

------------------------------------------------
SCREEN 12
PSET(15,100)
LINE(1,1)-(479,639)
LINE(50,52)-(200,220),,B
CIRCLE(320,240),50
END
------------------------------------------------

Uff. Na dzisiaj to tyle. Od przyszłego odcinku zaczniemy nasze piękne rysunki oprawiać w kolory. 
UWAGA!!! Już niedługo wystartuje konkurs na najlepszy program w QB. Nagrody nie są jeszcze znane ale jeśli jakieś będą to na pewno was o tym powiadomimy. Do zobaczenia!

HENIU

[na górę]