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ę]