Wstęp
Język Pascal to nadal bardzo popularny język programowania. Szczególnie często wykorzystywany jest jako pierwszy język programowania w wielu szkołach. Dzięki jasnej i prostej składni, można się go nauczyć naprawdę szybko, a dzięki bardzo czytelnej budowie jest także idealny do nauki różnych algorytmów i struktur danych.
Pascal to jednak nie tylko język "do nauki". Z jego pomocą można tworzyć profesjonalne, rozbudowane aplikacje. Szczególnie implementacja Object Pascal dostępna w środowisku Delphi jest bardzo rozbudowana. Świadczyć o tym może fakt, że w Delphi stworzonych zostało wiele popularnych aplikacji jak chociażby Skype. Ja w tym środowisku stworzyłem programy EdHTML, CoreEditor, czy też cały szereg aplikacji dla firm.
Środowisko pracy
Pascal to tylko język programowania. Aby stworzyć fizyczny program potrzebujemy kilku dodatkowych narzędzi, mianowicie:
- Edytora tekstu - za pośrednictwem którego napiszemy nasz program oraz
- Kompilatora - czyli programu, który przetłumaczy nasz program na język maszynowy, czyli taki, który jest w stanie wykonać procesor.
Istnieje wiele różnych kompilatorów do Pascala. Kiedyś, bardzo popularny był Turbo Pascal. W chwili obecnej, na szczególną uwagę zasługuje darmowy kompilator FPC (Free Pascal Compiler). Możemy go pobrać z serwisu http:/www.freepascal.org. Dostępny jest na niemal wszystkie systemy operacyjne - Dos, Windows, Linux, Mac OS. W niniejszym kursie posługiwać się będę właśnie tym kompilatorem.
Edytor z jakiego skorzystamy może być dowolny. Ważne, aby zapisywał pliki w czystym ASCII. Może to być zatem Notatnik w systemie Windows, czy też np. Vim (w Linuxie, czy MacOS).
Istnieje wiele tzw. zintegrowanych środowisk programistycznych. Środowiska takie - to zintegrowane w jednym: edytory tekstu i kompilator. Dodatkowo posiadają wbudowane tzw. debuggery pozwalające na analizę programów oraz wykrywanie w nich błędów. Bardzo często posiadają jeszcze inne dodatkowe narzędzia. Wraz z FPC dla Dos/Windows otrzymujemy również takie środowisko.
Tworząc programy dla języka Pascal, powinniśmy je zapisywać w plikach z rozszerzeniem .pas.
Pierwszy program
Stwórzmy zatem nasz pierwszy program w Pascalu. W tym celu otwieramy dowolny edytor i wprowadzamy do niego kod:
program PierwszyProgram;
begin
Writeln('Witaj Świecie!');
end.
Zapisujemy ten dokument w pliku o nazwie prog1.pas. Musimy go teraz skompilować, czyli zamienić z języka Pascal na kod maszynowy. Proces ten wygląda różnie - zależenie od wykorzystywanego przez nas kompilatora/środowiska. Jeśli korzystamy z kompilatora FPC powinniśmy wykonać komendę systemową:
fpc prog1.pas
Po wykonaniu tej instrukcji w tym samym katalogu co nasz kod źródłowy programu stworzony zostanie plik o nazwie prog1.exe (w środowisku Dos/Windows) lub prog1 (Linux/Mac OS). Są to pliki wykonywalne, zrozumiałe już dla procesora. Możemy ten program uruchomić wydając komendę:
prog1
W efekcie ujrzymy na ekranie napis: "Witaj Świecie". Oznacza to, że nasz program "zadziałał".
Kiedy nakazujemy kompilatorowi kompilację programu, pierwszym jego etapem jest sprawdzenie, czy w naszym programie nie znajdują się jakieś błędy. Gdyby takowe się znalazły - kompilacja jest przerywana, a nam wyświetlony zostanie odpowiedni komunikat.
Jeśli korzystamy ze zintegrowanego środowiska FPC nie musimy wychodzić z edytora aby skompilować program. Możemy tego dokonać wprost z edytora. Wystarczy z menu COMPILE wybrać COMPILE lub użyć F9. Aby uruchomić skompilowany program wybieramy RUN lub korzystamy z kombinacji CTRL+F9.
Budowa programu
Programy napisane w Pascalu, tak jak w wieszości innych języków programowania, posiadają swoją własną określoną budowę. Każdy poprawny program powinien składać się z nagłówka, deklaracji modułów oraz bloku głównego. W nagłówku określamy nazwę programu. Nazwa ta nie jest jednak nigdzie wyświetlana, jest widoczna tylko w kodzie źródłowym. Przykładowy nagłówek może wyglądać np. tak:
program Nazwa_programu;
W nazwie programu można używać liter, cyfr i znaku podkreślenia. Nie wolno natomiast zacząć nazwy od cyfry, ani używać w niej nawiasów, kropek itp. Występuje ona po słowie PROGRAM. Podczas pisania programów zaleca się wstawianie nagłówka, jednak nie jest on konieczny. Występuje opcjonalnie.
Kolejnym elementem programu jest deklaracja modułów. "Mówi" ona kompilatorowi, jakie moduły mają zostać dołączone do programu. Dołączane moduły udostępniają nam dodatkowe procedury i funkcje (polecenia, które będziemy później mogli użyć). Istnieje wiele modułów. Można również tworzyć własne. Dokładnie zostaną one omówione w kolejnych artykułach. Przykładowa deklaracja modułów może wyglądać następująco:
uses Crt,Dos;
Wszystkie moduły deklarowane są po słowie kluczowym USES i są oddzielone między sobą przecinkiem. Deklaracja modułów występuje (tak jak nagłówek) opcjonalnie. Skromną część procedur i funkcji udostępnia nam moduł SYSTEM, który dołączany jest do naszego programu automatycznie.
Po deklaracji modułów występuje blok główny programu. Mieści się on pomiędzy słowami BEGIN (początek) i END. (koniec). Blok ten jest obowiązkowy. Poprawnie napisany program (szablon) wyglądać może więc tak:
program Moj_pierwszy_program;
uses Crt,Dos;
begin
...treść programu...
end.
Wielkość liter w programach napisanych w języku Turbo Pascal nie gra roli (w przeciwieństwie do programów napisanych np. w C/C++). Można więc używać i małych, i wielkich liter. Każda napisana poprawnie instrukcja powinna być zakończona średnikiem. Zapominanie wstawienia średnika jest najczęstszym błędem popełnianym przez początkujących, uniemożliwiającym poprawną kompilację.
Napiszmy więc prosty program wyświetlający na ekranie napis. Do wyświetlenia tekstu użyjemy procedury WRITELN. Ponieważ znajduje się ona w module SYSTEM nie musimy deklarować żadnych innych unitów (modułów).
program Napis;
begin
Writeln('Binboy at Sphere');
end.
Procedura Writeln oczekuje argumentu, który ma zostać przez nią wyświetlony. Może to być tekst (jak w przykładzie) i wówczas umieszczamy go w apostrofach, a może to być również liczba. Procedurze Writeln możemy przekazać również kilka argumentów i wszystkie one zostaną wyświetlane. Kolejne argumenty (do każdej funkcji/procedury) oddzielamy od siebie przecinkiem i obejmujemy wszystkie razem w nawiasy. Oto przykład:
program Napis;
begin
Writeln('Mam',10+5,' lat');
end.
Powyższy program wyświetli komunikat: "Mam 15 lat".
Sposób pisania
Jeśli już będziemy pisać dłuższe, rozbudowane programy powinniśmy pamiętać o komentarzach. Komentarze są to teksty (objaśnienia), których kompilator nie bierze pod uwagę podczas kompilacji. Są ignorowane. Widoczne zatem będą tylko przez programistę i służą mu jako objaśnienia fragmentów kodu. Komentarze wstawia się między nawiasami klamrowymi "{" i "}" lub między dwuznakami "(" i ")". Spójrzmy na przykład:
program Napis;
begin
Writeln('Mam',10+5,' lat'); {procedura Writeln wyświetla napisy}
end.
Kolejnym ważnym elementem są wcięcia. Pisanie "brzydkie" polega na pisaniu programu wyrównując wszystkie linie do lewej. Kiedy w programie występuje wiele pętli i warunków, przez co jest wiele słów BEGIN i END, można się łatwo pogubić, który END jest do którego BEGIN. Dlatego powinniśmy robić tzw. wcięcia (spacjami lub tabulatorem), np. każdy blok (instrukcje między BEGIN i END) przesunąć w prawo o kilka spacji.
Zakończenie
Z tej lekcji dowiedzieliśmy się:
- kod źródłowy zapisujemy w plikach z rozszerzeniem .pas,
- programy piszemy w dowolnym edytorze ASCII,
- po napisaniu programu kompilujemy go, czyli tłumaczymy na język zrozumiały dla komputera,
- kompilacją zajmuje się kompilator - specjalny program,
- przykładem takiego kompilatora jest Free Pascal Compiler,
- każdy program ma określoną budowę,
- program rozpoczyna się od nagłówka PROGRAM i posiada blok BEGIN ... END.
- poznaliśmy instrukcję Writeln do wyświetlania napisów.
Możemy zatem przejść do Lekcji 2 - Elementy podstawowe Pascala.
