KURS TURBO PASCALA cz. 2

 

Witam ponownie w drugiej części kursu TP. Jak widać nadal jesteśmy, więc nie tracąc czasu na głupoty zgodnie z obietnicą przechodzimy dzisiaj do praktyki, ale teorii też nie zabraknie, bo musicie wiedzieć, o co tu we wszystkim chodzi.

 

Otwieramy nowy pusty plik. Nadajemy mu nazwę. Zapisujemy od razu go i przystępujemy do jego edycji. Zanim coś dalej napiszę kilka słów sprostowania w takich nawiasach {} pisze się komentarze, które kompilator podczas wykonywania programu,ominie i będzie traktował je jak woda.

 

Każdy program składa się z nagłówka, który wygląda tak:

 

PROGRAM nazwa_programu; {1}

 

{1} Zawsze piszemy na początku programu PROGRAM i tak już musi być. Nazwa programu to dowolny tekst, ale nie może zaczynać się od liczb i nie może mieć polskich liter.

 

Dalej jest część deklaracyjna, w której wczytujemy moduły i rezerwujemy pamięć na zmienne:

 

USES Crt; {2}

 

{2} W części deklaracyjnej wczytujemy interesujący nas moduł (w naszym przypadku Crt).

Użycie jest takie, jak widać, powyżej czyli USES nazwa_modułu;

 

Ale co to jest ten CRT spytacie? Otóż interesujący nas moduł w naszym  przypadku  CRT zawiera w sobie procedury obsługi ekranu, klawiatury i sterowania dźwiękiem z głośnika komputera. Mówiąc krótko, jeżeli nie wczytamy tego modułu nie będziemy w stanie wyświetlić na monitorze tekstu ani obsługiwać klawiatury. Mam nadzieję, że zrozumieliście. Oczywiście tych modułów jest o wiele więcej, ale inne na razie nie są nam potrzebne.

 

Na samym końcu znajduje się program właściwy, w którym to wpisujemy rdzeń naszego programu. Wygląda on tak

 

BEGIN {3}

   {Tutaj jakieś instrukcje}

END. {4}

 

{3} Program właściwy zaczyna się słowami BEGIN i nigdy nie ma po nim żadnego znaku.

{4} Natomiast koniec programu zaznaczamy słowem END i zawsze kończy się kropką.

 

Nie wiem czy zauważyliście, że niektóre słowa kończą się znakiem ; np. po CRT. Już wyjaśniam. Ten znak informuje kompilator, że dalej jak na wiersz się patrzy przez nas nie ma danych. Jeżeli zapomnisz go wstawić to wystąpi błąd np.:

 

USES Crt {Brak znaku ; więc wystąpi błąd, gdyż dalej w tym wierszu nie ma danych}

 

A co jak chce się wpisać więcej danych/zmiennych do jednej linijki. Używasz przecinka , patrz niżej.

USES Crt, Dos; {5}

 

{5} W tym momencie inicjujemy dwa modułu pierwszy Crt, drugi Dos i nic więcej, więc wpisujecie znak ;

 

UWAGA!!!

Tylko po znaku BEGIN nie wstawiamy ;

 

No to się napisaliśmy, a teraz złóżmy to wszystko w jedną całość.

 

PROGRAM pro_01;               Kod źródłowy TUTAJ

USES Crt;

BEGIN

END.

 

Tak w skrócie wygląda nasz pierwszy program. Teraz go skompilujmy CTRL+F9 i czekamy.

I co? Na chwilę czarny ekran i to wszystko. O to miało chodzić. Ale jakiś biedny ten program, więc go zmodyfikujmy. Omówimy teraz pierwszą procedurę, jaką się nauczymy i radzę się jej dobrze nauczyć, gdyż bez niej dalej ani rusz.

 

WRITE i WRITELN – Procedury te służą do wyświetlania komunikatów na ekranie naszego

monitora. Różnią się od siebie tym, że używając pierwszej migający kursor (taka mała kreska jak w dosie) pojawi się w tej samej linijce wyświetlanego tekstu, a w drugim przypadku kursor zachęty przeskoczy do następnej linijki. Teks, która ma zostać wyświetlony wpisujemy w nawiasy w tzw. uszy np.: WRITELN(‘Cześć’);

Po wpisaniu tej procedury, między BEGIN, a END na ekranie pojawi się napis: Cześć.

 

CLRSCR – Procedura wymazuje całą zawartość ekranu. Działa jak CLS w dosie..

       Zazwyczaj zawsze używa się go po BEGIN np.:

       .... {6}

       BEGIN

         CLRSCR;

       END

 

       {6} Kropeczki oznaczają, że ukazany powyżej fragment jest tylko wycinkiem  

        całego programu. Nie ma sensu tutaj pisać od początku nagłówka i części

        deklaracyjnej, gdyż wygląda ona tak samo jak w poprzednim przypadku. (Ale wy 

         to musicie napisać)

 

Ostatnia na dzisiaj procedura to READLN. Na razie musicie o niej wiedzieć tylko tyle, że służy między innymi do zatrzymywania wyświetlania zawartości ekranu, dopóki nie naciśniecie ENTER. Wiem, że trochę to skomplikowane, ale zaraz to zrozumiecie.

 

PROGRAM prog_02;

USES Crt;

BEGIN

 CLRSCR;

 WRITELN(‘I co? Zdążyłeś przeczytać’);                   Kod źródłowy TUTAJ

END.

 

Uruchomcie powyższy program i zobaczcie, co się stanie. Jeśli wszystko dobrze napisaliście to nie zdążycie nic zobaczyć, gdyż program od razu po wyświetleniu tekstu zamknie się. Jak temu zapobiec? Mamy przecież READLN.

 

PROGRAM prog_03;

USES Crt;

BEGIN

 CLRSCR;

 WRITELN(‘I co? Teraz zadowolony. Naciśnij ENTER, aby zamknąć program’);

 READLN;  {6}

END.                                      Kod źródłowy TUTAJ

 

I co? Teraz jesteśmy zadowoleni. Tekst będzie wyświetlany tak długo dopóki nie zostanie wciśnięty ENTER. Odpowiada za to {6}, która tylko czeka na wciśnięcie ENTERa, a ponieważ nie ma dalej żadnej procedury program się wyłącza.

 

To wszystko na teraz. Trochę tego dużo, ale inaczej w łatwy sposób tego nie da się wytłumaczyć. Do następnego odcinka macie trochę czasu, więc małe zadanie domowe.

 

Zad. Napisz program, który wyświetli wpierw twoje imię. Gdy naciśniesz, ENTER napisze twoje nazwisko. I znowu naciśniesz ENTER pojawi się twój wiek, po czym jak naciśnie się ENTER program się zakończy. Za miesiąc rozwiązanie zadania. Sprawdzicie czy macie tak samo.

 

No właśnie, a co za miesiąc. Otóż nauczymy się pozycjonować tekst oraz zmieniać jego kolor. Do tego czasu przyswójcie sobie dzisiejszą wiedzę..

 

Jeżeli masz jakiekolwiek pytania odnośnie Pascala, Kursu pisz na adres:

Co lepsze listy ukażą się pod koniec kursu wraz z odpowiedziami.

 

                                                                                              7 - MAŁY - 7   Maly-7@go2.pl