:: Redakcyjne :: Klasyka & Emulacja :: Komputery & Internet :: Inne :: W sieci :: MS on-line ::



Komputery & Internet



      Kurs ¼dzicha #5


Dzisiaj poznasz zmienne i instrukcje skok≤w. Najpierw zajmiemy siΩ zmiennymi. Zmienna to jaka╢ karteczka, na kt≤rej jest co╢ napisane. Pewnie pamiΩtasz ze szko│y podstawowej r≤wnania z x-em. W│a╢nie za x bΩdziemy podstawiaµ r≤┐ne warto╢ci. Widaµ, ┐e podstawianie takie jest bezsensowne, ale z biegiem czasu zauwa┐ysz, ┐e jest to bardzo przydatne. No wiΩc jazda. Przed u┐yciem zmiennej, musimy j▒ zadeklarowaµ, czyli powiedzieµ kompilatorowi, ┐e chcemy u┐ywaµ zmiennej x. S▒ dwa rodzaje zmiennych. Pierwsze to s▒ zmienne tekstowe mog▒ce pomie╢ciµ do 25 znak≤w a drugie to zmienne liczbowe, kt≤re mog▒ zawieraµ warto╢ci z przedzia│u 0-65535 bez znaku i u│amk≤w. Oto przyk│ad :p

* Deklaruj zmienn▒ Liczbax
Zmienna %Liczbax

czy╢µ
* Nadaj zmiennej Liczbax warto╢µ 35
%Liczbax=35
Koniec

Najpierw deklarujemy zmienn▒, a potem nadajemy jej warto╢µ. Zmienne mo┐emy nazywaµ dowolnie, ale nie mog▒ zawieraµ spacji i innych podobnych znak≤w. Ka┐da zmienna musi mieµ pierwsz▒ literΩ nazwy zarezerwowan▒. To znaczy, ┐e zmienne tekstowe musz▒ siΩ zaczynaµ od znaku $ a zmienne liczbowe od znaku %. Dlaczego ? Bo ogl▒daj▒c taki program od razu wiemy, jakie warto╢ci przechowuje dana zmienna. Je╢li chcemy nadaµ warto╢µ zmiennej, to piszemy jej nazwΩ ( z znakiem identyfikuj▒cym rodzaj zmiennej ) znak = i warto╢µ jak▒ chcemy nadaµ zmiennej. Aby wy╢wietliµ zmienn▒ liczbow▒ u┐ywamy polecenia PISZ8 nazwa_zmiennej_liczbowej a zmienn▒ tekstow▒ wy╢wietlamy instrukcj▒ PISZ nazwa_zmiennej_tekstowej.

Teraz kolej na skoki. Aby u┐yµ instrukcji skoku, to musimy gdzie╢ postawiµ etykietΩ, do kt≤rej instrukcja skoczy. Etykieta to jakby drogowskaz, kt≤ry informuje instrukcjΩ skoku, ┐e ma tutaj skoczyµ. Etykieta zaczyna siΩ od znaku dwukropka i mo┐e zawieraµ 25 liter swojej nazwy. Etykieta nie mo┐e zawieraµ znaku spacji i innych g│upich znak≤w. Oto przyk│ad skok≤w :

* Skocz do etykiety dalej
Skok :dalej
* Tu jest etykieta Kon i instrukcja ko±cz▒ca ten program
:kon
Koniec

* etykieta dalej
:dalej
*Skok do instrukcji kon
Skok :kon

Jak widaµ instrukcja Skok nazwa_etykiety powoduje skok do danego fragmentu programu. Oto przebieg dzia│ania programu : Skok do etykiety Dalej. W etykiecie dalej jest rozkaz skoku do etykiety kon. W etykiecie kon jest instrukcja koniec ko±cz▒ca program. Widaµ, ┐e etykiety i skoki zmieniaj▒ przebieg programu. Jednak takie etykiety i skoki s▒ bezu┐yteczne. Brakuje instrukcji warunkowej czyli czego╢ takiego, co spowoduje, ┐e je╢li jaka╢ zmienna wynosi x to skoczy do etykiety ET1 a je╢li warto╢µ zmiennej wynosi y to program skoczy do innej etykiety. No wiΩc do dzie│a !!!

Aby por≤wnaµ zmienn▒ u┐ywamy instrukcji POROWNAJ warto╢µ1, warto╢µ2. Oczywi╢cie warto╢µ1 i warto╢µ2 to mog▒ byµ liczby, zmienne i rejestry ( o nich p≤╝niej ). Jednak czego╢ tu brakuje. Je╢li jest instrukcja por≤wnaj, to powinna byµ jeszcze jaka╢ inna, kt≤ra skacze do etykiety je╢li dane warto╢ci s▒ r≤wne. Do tego s│u┐y nieco zmodyfikowana instrukcja SKOK. Oto r≤┐ne warianty instrukcji skok :

SKOK - bezwarunkowy skok do etykiety
&SKOK - Je╢li obie warto╢ci s▒ r≤wne, to skocz do danej etykiety
<>SKOK - Je╢li obie warto╢ci s▒ r≤┐ne od siebie (np. 2 i 3) to skacz
<SKOK - Je╢li druga warto╢µ jest wiΩksza od pierwszej, to skacz
>SKOK - Je╢li druga warto╢µ jest mniejsza od pierwszej, to skacz
&<SKOK - Je╢li druga warto╢µ jest wiΩksza lub r≤wna od pierwszej, to skacz
&>SKOK - Je╢li druga warto╢µ jest mniejsza lub r≤wna od pierwszej, to skacz

Teraz poka┐Ω przyk│adowy program z wykorzystaniem tych instrukcji :

Zmienna %Licz

%Licz=2
POROWNAJ %LICZ,2
&Skok :rowna
* Je╢li zmienna ma inna warto╢µ to wykonuj poni┐sze rozkazy lub skacz do innej etykiety
Skok :inna

:rowna
PISZ zmienna Licz wynosi 2
%LICZ=2
POROWNAJ %LICZ,3
<>SKOK :rozne
Skok :inna

:rozne
Pisz Zmienna licz nie jest rowna 3
skok :Kon

:inna
Pisz Kto zmienia│ warto╢µ zmiennej ?

:Kon
Koniec

Chyba siΩ domy╢lasz jaki bΩdzie przebieg programu ? Spr≤buj pozmieniaµ warto╢µ zmiennej i zobacz co siΩ stanie. Zmieniaj te┐ parametry w instrukcji POROWNAJ i instrukcje SKOK na inne jej rodzaje. Je╢li to zrobisz, to bΩdziesz m≤g│ pisaµ naprawdΩ zaawansowane programy, kt≤re bΩd▒ mog│y w zale┐no╢ci od r≤┐nych decyzji u┐ytkownika robiµ inne rzeczy ( np. systemy menu ). Teraz napiszmy prosty program (menu) wykorzystuj▒cy zmienne i instrukcje skok≤w, ale przed tym poznamy dok│adniej instrukcjΩ KLAWISZ. M≤wi│em, ┐e ta instrukcja wstrzymuje wykonywanie programu dop≤ki u┐ytkownik nie naci╢nie dowolnego klawisza. Ale, czasem chcemy wiedzieµ, czy u┐ytkownik nacisn▒│ klawisz Z czy G. Jak to rozpoznaµ ? Proste instrukcja KLAWISZ zwraca kod naci╢niΩtego klawisza do rejestru AL. Ale co to s▒ rejestry ? Rejestry s▒ podobne do zmiennych. Mo┐na im nadawaµ r≤┐ne warto╢ci i je por≤wnywaµ. Jedyna (wiΩksza) r≤┐nica miΩdzy rejestrem a zmienn▒, to ┐e rejestr≤w nie deklarujemy !!! Aha i jeszcze jedno, w trakcie wykonywania programu warto╢ci rejestr≤w siΩ zmieniaj▒, nawet je╢li tego nie pisali╢my. No wiΩc spr≤bujmy napisaµ prosty program z instrukcj▒ KLAWISZ i z systemem menu :


:Poczatek
Czy╢µ
Pisz Menu
Pisz
Pisz 1. Kurczak
Pisz
Pisz 2. Befsztyk
Pisz
Pisz 3. Kromka chleba
Pisz
Klawisz
Por≤wnaj AL,49
&Skok :OpcjaA
Por≤wnaj AL,50
&Skok :OpcjaB
Por≤wnaj AL,51
&Skok :OpcjaC
Czy╢µ
Pisz Nie jeste╢ g│odny ?
Koniec

:OpcjaA
Czy╢µ
Pisz Czy kurczak ci smakuje ?
Klawisz
Skok :Poczatek

:OpcjaB
Czy╢µ
Pisz Czy befsztyk nie jest za twardy ?
Klawisz
Skok :Poczatek

:OpcjaC
Czy╢µ
Pisz Czy najad│e╢ siΩ kromk▒ chleba ?
Klawisz
Skok :Poczatek

Ten program nadaje siΩ do restauracji. W zale┐no╢ci od naci╢niΩtego klawisza 1,2,3 program serwuje danie. Je╢li nacisn▒│e╢ inny klawisz, to program pyta siΩ czy nie jeste╢ g│odny i ko±czy swoj▒ pracΩ. W programie widaµ, ┐e rejestr wykorzystuje siΩ tak samo jak zmienn▒ w instrukcji por≤wnaj. Tylko dlaczego zamiast 1 jest 49 ? To s▒ s│ynne kody ASCII. Czyli 2 to 50, 3 to 51 itd. Instrukcja KLAWISZ do rejestru AL wpisuje kod ASCII naci╢niΩtego znaku. Je╢li masz tabelΩ kod≤w ASCII, to nie bΩdziesz mia│ z tym najmniejszych problem≤w. ProponujΩ, aby╢ ten ostatni program trochΩ pozmienia│ i zastanowi│ siΩ, co robi ka┐da linijka kodu. Mo┐esz zmieniµ tak ten program, ┐e bΩdzie np. 10 pozycji menu czy 5 r≤┐nych artyku│≤w spo┐ywczych ( program sklep ).


Kurs pochodzi z serwisu :http://www.zdzich.prv.pl

_________________________ 49 _________________________

:: Poprzednia strona :: WstΩp :: NastΩpna strona ::



     

Prenumerata

Adres e-mail:





Kontakt

redaktor naczelny
macland@topnet.pl

z-ca red. nacz.
bosss@box43.gnet.pl


Zalecana konfiguracja

- Windows
- IE 4.0 +
- 800 x 600
- High Color (16 bit)
















































































































































































































Copyright(C)'2001 Memories Service
Wszystkie prawa zastrze┐one!