Mikroprocesorowa Ośla Łączka-pełny kurs.pdf

(125879 KB) Pobierz
Ośla łączka
M i k r o p r o c e s o r o w a
O ś l a ł ą c z k a
Wstęp
W październikowym numerze EdW zacznie się kolejny bardzo waż−
ny cykl w historii naszego czasopisma. Na życzenie ogromnej liczby
Czytelników przedstawiona będzie kolejna wyprawa na oślą łączkę,
tym razem poświęcona programowaniu mikroprocesorów – ściślej
mikrokontrolerów jednoukładowych.
Jeśli uważasz, że jakiekolwiek programowanie jest dla Ciebie za
trudne, to przeczytaj przynajmniej niniejszy wstęp. Jeśli za miesiąc
zdecydujesz się przeczytać pierwszy odcinek tej wyprawy, masz zna−
komitą okazję zmarnować parę godzin i utwierdzić się w swoim do−
tychczasowym przekonaniu, że to nie dla Ciebie. Ale niestety, grozi
Ci coś znacznie gorszego: może się okazać, że się totalnie mylisz.
Ostrzegam! To może być groźne! Istnieje duże ryzyko, że zarazisz
się paskudnym bakcylem, którym już zainfekowało się wielu star−
szych i młodszych Czytelników naszego czasopisma, i to bez nadziei
na wyleczenie.
Zdecyduj więc sam, czy chcesz czytać dalsze akapity tego wstępu,
a potem kolejne odcinki cyklu.
Ostrzegałem!
pomagałem Austriakom w przygotowaniach do pewnego kongresu.
Zostałem zagadnięty przez pewną delegatkę z Polski, która zapytała
mnie, gdzie tak dobrze nauczyłem się... polskiego.
Nie muszę chyba dodawać, że nie znając niemieckiego, wzięła
mnie za rodowitego Austriaka.
Tak. Bardzo często rzeczywistość jest zupełnie inna od naszych
wyobrażeń. Ktoś bardzo kiepsko sobie radzi z obcym językiem, le−
dwo porozumiewa się co najwyżej w zakresie najprostszych spraw
życia codziennego, a jego gramatyka jako żywo przypomina słynne
„Kali kochać Bwana Kubwa”. Ale my nie znając języka ni w ząb, nie
możemy tego odkryć i zweryfikować swego zachwytu dla jego
„umiejętności”.
Teraz przykład z przeciwnego bieguna. Gdy na ulicy jakiś obco−
krajowiec pyta o drogę i tylko jemu się wydaje, że mówi po polsku,
zapewne skwapliwie staramy się go zrozumieć i mu pomóc. Cieszy−
my się, że przynajmniej próbuje on mówić w obcym dla siebie, w na−
szym języku. Nie zwracamy uwagi na szczegóły, na gramatykę i cie−
szymy się, jeśli udało się osiągnąć główny cel – wymienić informacje
i rozwiązać jego problem.
Sobie stawiamy poprzeczkę bardzo wysoko, a elementarne umie−
jętności innych uważamy za wielkie osiągnięcie...
Czy Ty aby nie przyłapujesz się czasem na takim myśleniu?
Dokładnie takie same zjawisko dotyczy sztuki programowania.
Sami kładziemy sobie pod nogi kłody nie do przeskoczenia. Nie wia−
domo dlaczego wydaje nam się, że programista musi wiedzieć wszy−
stko o programowaniu. A wobec tego my, szare żuczki, nie mamy tu
żadnych szans...
A może przeszkodą jest inna przyczyna, w Twoim przekonaniu jak
najbardziej uzasadniona. Czy słyszałeś o różnych językach progra−
mowania, jak na przykład język maszynowy, asembler, Java, BASIC,
Visual Basic, Pascal, język C, C+, Visual C++, Delphi, JavaScript,
Perl, itd. Porażony taką mnogością myślisz sobie: gdzie mi do tego
wszystkiego... Co gorsza, próbowałeś − przejrzałeś kilka książek i ab−
solutnie nic z nich nie zrozumiałeś.
I to może być kolejna niepotrzebna bariera, którą sam sobie sta−
wiasz w głębi duszy.
Różnice między językami polskim, chińskim, węgierskim, hindi,
arabskim są rzeczywiście bardzo duże. Znajomość jednego tylko tro−
chę pomaga w poznaniu drugiego. I tego rodzaju wyobrażenie niepo−
trzebnie sobie utrwalamy, myśląc o językach programowania.
I tu mam dla Ciebie znakomitą wiadomość: z językami programo−
wania jest zupełnie inaczej, niż z językami używanymi przez ludzi.
Różnice między językami programowania należałoby raczej porów−
nać do dialektów. Dialekt mazurski, śląski, góralski czy kresowy
Bariery
Wbrew pozorom, podstaw programowania można nauczyć się do−
słownie w ciągu jednego dnia. Barierą wcale nie jest stopień trudno−
ści zagadnienia. O wiele więcej przeszkadza bariera psychologiczna.
Może i Ty myślisz, że programowanie to zadanie dla wtajemniczo−
nych i żeby je opanować, trzeba być wyjątkowo zdolnym i mieć
ogromną wiedzę. A przecież Ty jesteś tylko zwykłym człowiekiem...
A może już kiedyś próbowałeś i nic z tego nie wyszło...
Rzeczywiście, najwiekszym utrudnieniem jest kwestia: od czego
zacząć. Programowanie bowiem nie jest wcale trudne, ale jest to za−
gadnienie bardzo obszerne. Nowe, nieznane pojęcia, wiele języków
programowania, jakieś tajemnicze skróty i szyfry, dziwne nazwy
i specyficzny sposób budowania programów od lat skutecznie odstra−
szają wielu chętnych.
Tu zdradzę Ci pewną tajemnicę, której zresztą wcale sam nie od−
kryłem. Oświecił mnie dawno temu znany podróżnik i poliglota, Zyg−
munt Broniarek, który w książce, o ile dobrze pamiętam, Jak zostać
poliglotą przeanalizował pewne interesujące zjawisko.
Gdy nie znamy jakieś obcego języka, a usłyszymy osobę, która go
używa, wydaje nam się, iż ten ktoś doskonale sobie radzi, że znako−
micie opanował język. Często przy okazji czujemy się gorsi, bo my
tego języka ani w ząb...
Latem 1981 roku sam czegoś takiego doświadczyłem, gdy po kil−
ku latach szkolnej nauki niemieckiego, przebywając w Wiedniu,
36
E l e k t r o n i k a d l a W s z y s t k i c h
Wrzesień 2002
1196664102.015.png
Ośla łączka
mają specyficzne cechy, akcent, charakterystyczne wyrażenia, nie−
które zwroty niezrozumiałe dla postronnych, niemniej wszystkie są
odmianami języka polskiego. I właśnie tak trzeba podchodzić do języ−
ków programowania. Poznanie choćby jednego z nich daje dobre wy−
obrażenie o programowaniu w innych. Podstawowe zasady są takie sa−
me, różne są tylko sposoby zapisu i możliwości. A wykorzystywane
dziś powszechnie tak zwane programowanie obiektowe okazuje się
dodatkowym ułatwieniem, bo zadziwiająco wiele składników i cech
jest w różnych językach wręcz identycznych, o czym ku swemu wiel−
kiemu zdziwieniu zapewne za jakiś czas się przekonasz. Zapytasz wte−
dy, dlaczego tak proste sprawy opisuje się za pomocą tak odstraszają−
cych słów i pojęć? Być może nie będziesz mógł wyjść z podziwu, kto
i dlaczego wprowadził tak dziwną, odstraszającą terminologię.
Przypuszczam, że także i u Ciebie bariera psychologiczna odgry−
wa znaczną rolę. Jednocześnie jestem przekonany, że w ramach ni−
niejszego cyklu uwolnisz się od takich kompleksów. Dosłownie po−
prowadzę Cię za rękę. Nie obiecuję, że po kursie staniesz się zawo−
dowym programistą, ale na pewno stworzysz wiele programów, które
dadzą Ci niepomiernie dużo satysfakcji.
Jak zacząć?
Zapewniam Cię, że naprawdę nie trzeba mieć ogromnej wiedzy, by
programować. Ale też nie warto od razu porywać się z motyką na
słońce i realizować trudne zadania – programowanie wymaga prze−
stawienia się na nieco inny sposób myślenia, wnioskowania, analizy.
Warto zacząć od zadań łatwych, których wykonanie też sprawi nie−
wyobrażalnie wiele radości. I nie wszystko musi być od razu doszli−
fowane i zapięte na ostatni guzik. Sami programiści przyznają, że lep−
szy jest mało elegancki program, który działa, niż program napisany
z zachowaniem reguł sztuki programistycznej, który nie chce działać.
Zapewne narażę się tu sporej części klanu programistów, bo za−
chęcam Cię na początek do powierzchownego zapoznania się z pro−
gramowaniem, bez zrozumienia wielu istotnych spraw. Jestem jednak
przekonany, że takie początki Ci nie zaszkodzą i nie zdążysz nabrać
złych nawyków. Ośmielony kolejnymi sukcesami będziesz pogłębiać
swą wiedzę i umiejętności, a jeśli zechcesz, szybko staniesz się pro−
gramistą z prawdziwego zdarzenia.
Z doświadczenia wiem, że nauka „na sucho” nie byłaby dobrym
pomysłem. Aby wszystko poszło gładko , musisz mieć dostęp do
komputera PC .
Zakładam przy tym, że znasz podstawy posługiwania się kompu−
terem PC. Jeśli nie, szybko zapoznaj się z obsługą komputera; to na−
prawdę jest proste. Oczywiście przy realizacji ćwiczeń opisywanych
w kolejnych odcinkach zawsze możesz poprosić kogoś o pomoc. Je−
śli czegoś nie zrozumiesz, najpierw zapytaj znajomych, a jeśli nie
uzyskasz odpowiedzi, napisz do mnie.
Nie ma rady – programowania nie nauczysz się „na piechotę”. Je−
śli nie posiadasz komputera w domu, zorganizuj sobie dostęp do
choćby nawet podstarzałego PC−ta czy to w szkole, czy w pracy, czy
u kolegi. Co bardzo ważne, naprawdę nie musi to być nowoczesny,
kosztowny komputer, a wszystkie pomoce potrzebne w trakcie kursu
są dosłownie w zasięgu ręki, zarówno programy, jak i niezbędny
sprzęt. Do ćwiczeń będziemy wykorzystywać płytkę testową, która
stanie się podstawą całego cyklu fantastycznych ćwiczeń. Na foto−
grafii tytułowej masz dwie takie płytki z różnymi wyświetlaczami.
Na początek, dla zachęty pokażę Ci, jak to wygląda po nabraniu
wprawy. Program, którego listing jest zamieszczony na rysunku 1 ,
zamienia płytkę testową w miernik refleksu , pokazujący czas reakcji
na sygnał świetlny lub dźwiękowy z dokładnością 0,01s.
Tylko nie mów mi, że Ty nic z tego nie rozumiesz.
Wiem! Na razie nie musisz nic rozumieć. Czy naprawdę zupełnie
nie wierzysz we własne siły?
Napisanie takiego programu rzeczywiście wymaga pewnej wie−
dzy, wprawy i czasu. Będziemy się tego uczyć stopniowo. Z czasem
Rys. 1
nauczysz się pisać takie i dużo dłuższe programy. Genialną zaletą
proponowanego rozwiązania jest możliwość błyskawicznego
wprowadzania zmian i poprawek. Tą ogromną zaletą jest brak
jakiegokolwiek programatora – by zaprogramować mikroprocesor,
wystarczy pięciożyłowy przewód, dołączony z jednej strony do portu
drukarkowego komputera, z drugiej do płytki testowej. Program dla
mikroprocesora pisze się na komputerze PC, z dużą pomocą pakietu
BASCOM. Samo zaprogramowanie procesora w płytce testowej trwa
około sekundy. Potem, bez odłączania wspomnianego kabla, można
sprawdzić w praktyce działanie programu. Jeśli cokolwiek nie gra,
trzeba wprowadzić poprawki w komputerze i w ciągu następnych kil−
ku sekund załadować do mikroprocesora poprawiony program.
Opracowałem też prościutki moduł, który pozwoli Ci zrealizować
mnóstwo własnych pomysłów – moduł pokazany jest na fotografii 1 .
A do zaprogramowania samego mikroprocesora nie jest potrzebny ża−
37
E l e k t r o n i k a d l a W s z y s t k i c h
Wrzesień 2002
1196664102.016.png 1196664102.017.png
Ośla łączka
den skomplikowany pro−
gramator. Wystarczy
sześciożyłowy kabelek
z podstawką na końcu,
dołączony do portu dru−
karkowego komputera
PC. Co ważne, zasilanie
pobierane jest też z kom−
putera PC. Taki prościut−
ki programator zoba−
czysz na fotografii 2 .
Pokazuję Ci,
jak może wyglą−
dać Twoja przy−
szłość i mam
nadzieję, narobi−
łem Ci smaku na
taki sposób pracy.
Jeśli się nie prze−
straszysz, już nie−
długo samodziel−
nie będziesz reali−
zować takie i jeszcze trudniejsze programy. Potrzebną wiedzę stop−
niowo zdobędziesz w trakcie kursu.
Analizując potrzeby i możliwości, doszedłem jednak do wniosku,
że nie możemy zacząć od mikroprocesora i jego programowania. To
mógłby być skok w przepaść. Najpierw, w pierwszej części kursu musisz
choć troszkę opanować znany i popularny od wielu lat język programo−
wania – BASIC. Właśnie za jego pomocą najłatwiej będzie Ci poznać
podstawowe pojęcia,
charakterystyczne dla
wszystkich języków
programowania. Co bar−
dzo ważne, BASCOM,
którego będziemy uży−
wać do programowania,
jest dialektem języka
BASIC, ukierunkowa−
nym na programowanie
tak zwanych proceso−
rów jednoukładowych.
Na rysunkach 2 i 3
znajdziesz dwa zrzuty
ekranowe z ćwiczeń.
Dopiero po opano−
waniu podstaw języka
BASIC, przekażę Ci
w ogólnym zarysie
podstawowe informa−
cje o budowie mikro−
procesorów, które bę−
dziesz programować.
Dlatego druga część
cyklu poświęcona bę−
dzie omówieniu budo−
wy procesorów,
a przynajmniej naj−
ważniejszych wiado−
mości o budowie na−
szego głównego boha−
tera – patrz rysunek 4 .
I dopiero na tej bazie,
z wystarczającą pewnością
siebie, w trzeciej części
kursu zabierzesz się za pro−
gramowanie mikroproceso−
rów z wykorzystaniem pro−
gramu BASCOM, ściślej
BASCOM AVR. Zacznie−
my od najprostszych pro−
gramów – przykład masz
na rysunku 5 .
A gdy z czasem
opanujesz progra−
mowanie proceso−
rów w stopniu,
który uznasz za
wystarczający, mo−
żesz rozszerzyć za−
kres zaintereso−
wań i zająć się programowaniem komputerów PC za pomocą progra−
mu Visual Basic albo lepiej DELPHI. Ale to zupełnie inna historia.
A teraz mam do Ciebie serdeczną prośbę! Zastanów się, kto
z Twoich znajomych mógłby okazać zainteresowanie tematem pro−
gramowania mikroprocesorów. Podsuń takim osobom ten artykuł.
Daj im szansę, by zaczęli kurs od następnego numeru EdW.
Fot. 1
Fot. 2
Rys. 3
Rys. 4
Rys. 2
Rys. 5
Piotr Górecki
38
E l e k t r o n i k a d l a W s z y s t k i c h
Wrzesień 2002
1196664102.018.png 1196664102.001.png 1196664102.002.png 1196664102.003.png
1
M1
Ośla łączka
Mikroprocesorowa Ośla łączka
Podstawy programowania − QBASIC
W ubiegłym miesiącu pokazałem Ci w ogól−
nym zarysie, jak może wyglądać Twoja przy−
szłość i mam nadzieję, narobiłem smaku na
programowanie mikroprocesorów. Już niedłu−
go samodzielnie będziesz realizować bardzo
interesujące projekty. Jak już wspominałem,
nie możemy zacząć od procesora i jego progra−
mowania. To mógłby być skok w przepaść.
Najpierw bezwarunkowo musisz choć troszkę
opanować znany i popularny od wielu lat język
programowania, zwany BASIC. Właśnie za je−
go pomocą najłatwiej będzie Ci poznać podsta−
wowe pojęcia, charakterystyczne dla wszyst−
kich języków programowania.
Zaczynamy od „zwykłego” języka BASIC,
znanego od wielu lat.
Skąd go wziąć?
To akurat jest beznadziejnie proste!
Na płycie instalacyjnej Windows (wersje 98,
Millenium) znajdziesz tak zwany Quick BA−
SIC , w skrócie QBASIC. Poszukaj na tej płycie
katalogu \tools\oldmsdos\ , a w nim dwóch pli−
ków:
QBASIC.exe i QBASIC.hlp . Jeśli masz „in−
stale” starszych wersji Windows, może doko−
piesz się do dodatkowych materiałów i przy−
kładów.
Ponieważ QBASIC to program pracujący
pod DOS−em, nie jest tu potrzebna żadna insta−
lacja − przekopiuj po prostu oba wymienione
pliki do komputera. Ja dla wygody wrzuciłem je
do katalogu: C:\QB
Od razu wyjaśniam, że QBASIC.EXE to tak
zwany interpreter języka BASIC. Programy,
które napiszesz, będą mieć rozszerzenie .bas .
Nie będą to znane Ci wykonywalne pliki .exe ,
więc nie mogą pracować samodzielnie – do ich
wykonania potrzebny jest właśnie interpreter −
QBASIC.EXE.
Żeby od razu pokazać Ci, że QBASIC rze−
czywiście interpretuje i wykonuje Twoje polece−
nia, napisz swój pierwszy program za pomocą
jakiegokolwiek prostego edyto−
ra tekstu, jakim jest na przykład
windowsowy Notatnik (Note−
pad). Bardzo proszę, nie wyko−
rzystuj Worda, ani nawet Word−
pada. W tym wypadku napraw−
dę najlepszy jest Notatnik.
Odetchnij głęboko, uruchom
Notatnik i napisz swój pierwszy
program. Treść programu masz
na rysunku 1 . Wpisz go i
zapisz w katalogu C:\QB plik
Pierwszy.bas , upewniając się,
że otrzyma on rozszerzenie
.bas , a nie .txt . W tym celu pod−
czas zapisywania wybierz w
dolnym oknie Wszystkie pliki
(*.*) zamiast Domumenty te−
kstowe , jak pokazuje rysunek 1.
Sprawdź, czy w katalogu
C:\QB pojawił się potrzebny
plik. Jeśli zawartość folderu wygląda tak, jak na
rysunku 2 , uruchom program QBASIC.EXE.
W trakcie uruchamiania programu może otwo−
rzyć się małe okno do wpisania parametrów. Zi−
gnoruj je naciskając Enter . Po otwarciu niebie−
skiego okna naciśnij klawisz Esc . QBASIC jest
gotowy do pracy Okno programu pokazane jest
na rysunku 3a . Wczytaj swój pierwszy pro−
gram, wybierając w górnym pasku File , następ−
nie Open , a potem kliknij raz program Pierw−
szy.bas , jak w oknie pokazanym na rysunku 3b
i wreszcie kliknij OK lub Enter .
Masz swój program otwarty i gotowy do wyko−
nania. Ekran będzie wyglądał, jak na rysunku 4 (u
Ciebie na ekranie krój czcionki może być nieco
inny; ja uruchomiłem QBASIC−a w oknie, żeby
łatwiej było robić zrzuty z ekranu).
Możesz już uruchomić swój program wybie−
rając z menu Run , potem Start . Szybciej urucho−
misz go naciskając klawisz F5 . Po naciśnięciu
F5 na czarnym ekranie zostanie wypisany tekst.
U mnie ekran wyglądał, jak na rysunku 5 .
Gratuluję!
Zapisz i zapamiętaj dzisiejszą datę.
Właśnie stałeś się programistą.
No, może jeszcze mało doświadczo−
nym, ale jednak programistą.
Twoje życie podzieliłeś właśnie na
dwie części: jedną do dziś, którą prze−
żyłeś w nieświadomości i drugą od tej
chwili, gdy zaczynasz czerpać radość z
programowania.
Twój pierwszy program został wy−
konany. Instrukcja PRINT wydrukowa−
ła na ekranie tekst zawarty w cudzysło−
wach. REM to instrukcja komentarza.
Komentarze są całkowicie pomijane
przez program – to tylko teksty obja−
śniające, które pomagają człowiekowi.
Zamiast polecenia REM częściej wyko−
rzystujemy znak apostrofu (‘), czyli
„górny przecinek” (umieszczony na
klawiszu wraz z cudzysłowem obok klawisza
Enter). Znak apostrofu ma takie same działanie,
jak dyrektywa REM. Dodatkowo apostrof może
być umieszczony w linii zawierającej inne pole−
cenia programu. Wszystko, co jest za tym zna−
kiem, zostanie przez program ignorowane. W
ten sposób w każdej linii programu możesz
umieścić komentarz do tej linii.
A dodawanie komentarzy do programu jest
niezmiernie dobrym zwyczajem . Pamięć ludzka
jest bardzo zawodna. Przekonasz się już nieba−
wem, jak bardzo komentarze ułatwiają analizę
swojego własnego programu, i to nawet już na
drugi dzień po jego napisaniu! Dlatego nie za−
pominaj o znaku apostrofu i dyrektywie REM.
Umieszczaj w programie jak najwięcej ko−
mentarzy!
R y s . 2
R y s . 3 a
R y s . 3 b
R y s . 1
R y s . 4
37
E l e k t r o n i k a d l a W s z y s t k i c h
Październik 2002
1196664102.004.png 1196664102.005.png 1196664102.006.png
Ośla łączka
M1
2
Na marginesie wspomnę, że język BASIC
jest naprawdę łatwy do opanowania dla osób,
które choć trochę znają angielskie słowa. Prze−
cież PRINT to po angielsku drukuj, a REM to
skrót od remark – uwaga, komentarz. Tak samo
jest z innymi poleceniami.
będziemy się wgłębiać w przyczyny. W razie
problemów po prostu nie używaj polskich liter:
ą, ć, ę, ł, ń, ó, ś, ż, ź .
Pierwsze koty za płoty. Idziemy dalej.
Stwórzmy teraz wspólnie nietypowy, ale jak
najbardziej funkcjonalny kalkulator. Od tej
chwili nie będziemy już używać Notatnika. Wy−
korzystamy edytor będący integralną częścią
QBASIC−a. Edytor ten dodatkowo zasygnalizu−
je nam, a nawet poprawi, pospolitsze błędy.
Stwórz nowy program w QBASIC−u, wybiera−
jąc z menu polecenia: File, New . Napisz pro−
gram, jak na rysunku 8a , zapisz go i uruchom.
Kalkulator działa, ale nie wygląda to zbyt ładnie
– efekt pokazuje rysunek 8b . Zmodyfikuj pro−
gram według rysunku 9 , wstawiając przecinki,
które uporządkują tekst.
„szufladki” od zawartości „szufladki”. Począt−
kujący często mają z tym kłopoty, a przecież
jest to oczywiste.
Rozróżniamy różne rodzaje „szufladek” –
zmiennych. Możemy przyjąć w uproszczeniu,
iż w QBASIC−u mamy dwa rodzaje zmiennych:
− liczbowe,
− tekstowe.
Nazwy zmiennych tekstowych muszą mieć
na końcu znak dolara − $. Zawartość zmiennych
liczbowych możemy wykorzystać do obliczeń,
natomiast zawartość zmiennych tekstowych –
nie, nawet gdy jest tam liczba. Ewentualne
zmienne tekstowe mogłyby nosić nazwy, np.
tekst$ , komentarz$ czy napis1$ .
My w naszym kalkulatorze wykorzystamy
zmienne liczbowe o nazwach a, liczbaB do
przechowywania liczb, które poddamy opera−
cjom matematycznym. Natomiast wyniki bę−
dziemy przechowywać w zmiennych liczbo−
wych o nazwach: suma , roznica .
Wykorzystamy też niezmiernie pożyteczne
polecenie INPUT.
Napisz teraz program dokładnie według ry−
sunku 10 . Dla zwiększenia czytelności zmieni−
łem w edytorze QBASIC−a kolory tekstu ( Fore−
ground na Black ) i tła ( Background na BrWhite)
za pomocą polecenia Options, Display .
R y s . 5
Zwróć uwagę na wynik działania programu
Pierwszy.bas . Zapewne i u Ciebie „posypały
się” polskie litery ( ą, ć, ę, ł, ń, ó, ś, ż, ź ), ale nie
rozpaczaj. Naciśnij dowolny klawisz. Powróci−
łeś do QBASIC−a. Teraz w niebieskim oknie
wstaw zamiast „krzaczków” prawidłowe litery,
jak na rysunku 6 i zapisz program pod trochę
dziwną nazwą Pierwsz1.bas . Nie Pierw−
szy1.bas , tylko właśnie Pierwsz1.bas − dla wła−
snej wygody pracując z DOS−owymi programa−
mi stosuj nazwy zawierające nie więcej niż 8
znaków. Jeśli jesteś wyjątkowo leniwy, mam
dla Ciebie dobrą wiadomość – wszystkie przy−
kładowe programy znajdziesz na naszej stronie
internetowej (www.edw.com.pl). Ich nazwy są
takie, jak na rysunkach w artykule.
R y s . 8 a
R y s . 8 b
R y s . 1 0
R y s . 9
R y s . 6
Przekonasz się, że każdy przecinek między wy−
rażeniami do wydrukowania działa jak tabulator
i ustawia kolejne elementy na ekranie w odstę−
pie 14 znaków, natomiast średnik powoduje wy−
świetlenie bez odstępu. Wpisując potrzebne
liczby w programie, możesz przeprowadzać
obliczenia. QBASIC potrafi przeprowadzać na−
wet skomplikowane operacje matematyczne.
Wspaniale!
Hm, tylko co to za kalkulator, w którym licz−
by trzeba wpisywać już na etapie projektowa−
nia. Wypadałoby ulepszyć program. Uważaj te−
raz, bo ulepszając go, wprowadzamy nowe, nie−
zmiernie ważne pojęcie.
Pojęcie zmiennej
Zmienną możesz traktować jak miejsce na jakieś
dane, na przykład na liczbę lub tekst. To jakby
szufladka, do której można coś włożyć. Takich
„szufladek” może być w programie wiele. Tak
naprawdę będzie to miejsce w pamięci kompute−
ra. Żeby wszystko poszło dobrze, każda „szu−
fladka” musi mieć nazwę. Nazwy „szufladek”−
zmiennych mogą być dowolne, nawet
bardzo długie, ale muszą zaczynać się
od litery. Nie wolno jednak w nazwach
zmiennych stosować typowo polskich
liter oraz niektórych znaków. W najpro−
stszym przypadku nazwa zmiennej mo−
że być jednoliterowa. Warto jednak od razu na−
zywać zmienne stosownie do roli, jaką będą od−
grywać. Wtedy już nazwy zmiennych ułatwią
późniejszą analizę programu.
Od początku musisz rozróżniać nazwę
zmiennej od zawartości zmiennej , czyli nazwę
Polecenie INPUT pozwala wprowadzać dane.
Po uruchomieniu, za pomocą F5 , program za−
chęci Cię, żebyś wprowadził pierwszą liczbę.
Wprowadź liczbę i naciśnij Enter . Potem
podobnie wprowadź drugą liczbę i znów naci−
śnij Enter . Rysunek 11 pokazuje ekran po
wprowadzeniu liczb 21, 17.
R y s . 7
A teraz jeszcze raz uruchom program za po−
mocą F5 . Teraz polskie litery powinny być pra−
widłowe. Zwróć jednak uwagę, że efekt działa−
nia tak zmienionego programu zostanie wypisa−
ny pod starym i ekran będzie wyglądał jak na
rysunku 7 . Naciśnij dowolny klawisz, by po−
wrócić do niebieskiego okna programu. Gdy
trzeci raz naciśniesz F5, na ekranie pojawi się
trzecia „porcja”. Zostanie dopisana pod dwiema
poprzednimi. Czy wyniku kolejnego urucho−
mienia nie zobaczyłbyś w ogóle? Możesz to
sprawdzić. Aby to mimo wszystko zmienić, na
początku programu zarządź zawsze generalne
porządki, czyli czyszczenie ekranu, komendą
CLS ( cl ear s creen):
R y s . 1 1
Zmodyfikuj teraz program według rysunku 12
i zapisz pod nazwą TRZECI1.BAS . Po
pierwsze, zamiast oddzielnych instrukcji
PRINT...INPUT, wykorzystujesz tu tylko IN−
PUT, wypisując potrzebny tekst informacyjny
niejako przy okazji. Po drugie, przepisujesz za−
wartość zmiennej liczbaB do zmiennej b , a wy−
nik obliczeń sumy i różnicy umieszczasz naj−
pierw w zmiennych suma i roznica i dopiero
potem zawartość tych zmiennych wyświetlasz
na ekranie.
I tu doszliśmy do kolejnej bardzo ważnej
sprawy: w szkole nauczyliśmy się, iż znak =
wskazuje, że wyrażenia z obu jego stron są
równe. Inaczej jest w programowaniu. Tu znak
= oznacza przypisanie . Zasada jest bardzo
prosta.
Instrukcję CLS możesz i powinieneś umie−
szczać na początku każdego programu pisanego
dla QBASIC−a.
Być może po zapisaniu i ponownym otwo−
rzeniu pliku Pierwsz1.bas z polskimi literami
znów stanie się coś złego. Tak często bywa, nie
38
E l e k t r o n i k a d l a W s z y s t k i c h
Październik 2002
1196664102.007.png 1196664102.008.png 1196664102.009.png 1196664102.010.png 1196664102.011.png 1196664102.012.png 1196664102.013.png 1196664102.014.png
Zgłoś jeśli naruszono regulamin