Turbo Pascal 7.0
Wstęp Źródła Kurs Programy Linki

Lekcje:     1   2   3   4   5   6   7

Struktura programu

W programie pascalowym poszczególne jego elementy zapisuje się w wierszach. Nie ma tu znaczenia, czy są one napisane po sobie, czy w kolejnych liniach, jednak należy pamiętać o tym, że poszczególne komendy oddzielamy od siebie średnikiem (;). Należy też pamiętać, że długość wiersza nie może przekraczać 127 znaków. Program składa się z kilku bloków.


Nagłówek

Umieszczanie nagłowka w programie nie jest obowiązkiem, można go bez przeszkód pominąć. Nagłówek wpisujemy po słowiek kluczowym program i kończymy średnikiem. Nagłowek nie może też zawierać polskich znaków (i innych znaków ASCII nie będących literą ani cyfrą ani znakiem "_")

Przykład:

program MojProgram;
program Kurs_Turbo_Pascala;
Nieprawidłowy jest zapis:

program MójProgram;
program Kurs Turbo Pascala;

Deklaracja modułów

W programie możesz (lecz nie musisz) używać zewnętrznych modułów. Moduł to skompilowany w Pascalu kod, który sam nie jest programem - nic nie wykonuje, a jednak zawarte są w nim jakieś procedury, funkcje, zmienne lub/i stałe. Jeśli zadeklarujesz, że używasz jakiegoś modułu, to zostanie on dołączony do Twojego programu, a Ty będziesz mógł korzystać z wszystkich jego udogodnień. Chęć użycia modułu deklarujemy przy pomocy słowa kluczowego uses (jeśli deklarujemy więcej modułów to oddzielamy ich nazwy przecinkami). Kończymy średnikiem. Przykład:

uses crt;
uses crt,dos,graph;
uses mojmodul;
W ostatnim przypadku program dołączy Twój moduł o nazwie "MOJMODUL.TPU". Taki moduł musi być w katalogu bieżącym lub UNITS.


Definicje stałych, zmiennych oraz typów

Zrozumienie istoty trzech wyżej wymienionych pojęć stanowi zrozumienie znacznej części języka Pascal. Zmienna to fragment pamięci, któremu nadaliśmy nazwę (poprzez zadeklarowanie jej) oraz ustaliliśmy jej typ. Takiej zmiennej możemy teraz nadać jakąś wartość, wypisać róznymi sposobami jej wartość na ekranie, itp. Zmienne deklarujemy używając następującego wzoru:
var nazwapierwszejzmiennej : typpierwszejzmiennej;
    nazwadrugiejzmiennej : typdrugiejzmiennej;
    ...
    nazwaostatniejzmiennej : typostatniejzmiennej;
Stałe różnią się tym od zmiennych, że nie można im przypisać żadnej wartości. Wyjątkiem są tu stałe, którym w ich definicji nie przypisaliśmy żadnej wartości - wtedy wartość stałej określimy przez przypisanie jej w programie (jednak później nie będziemy mogli tego zmienić). Wzór według którego należy opisywać stałe:
const npierwszejst = wyrazenie;
        {nadajemy wartość}
      ndrugiejst : typdrugiejst = wyrazenie;
        {wartość konkretnego typu}
      ndrugiejst : typdrugiejst;
        {określamy tylko typ}
      ...
      nostatniejst : typostatniejst;
        {jedna z trzech pow. możliwości}
Typy - opiszę dokładniej później. Każda zmienna i stała musi mieć jakiś typ, którego potem nie można zmienić - może być np. liczbą, lub ciągiem znaków.


Właściwy program

Ten blok jest umieszczony na końcu kodu. Jego strukturę można z grubsza opisać tym schematem:
begin {słowo kluczowe}
  pierwsza_instrukcja_lub_procedura_lub_funkcja;
  druga_instrukcja_lub_procedura_lub_funkcja;
  ...
  ostatnia_instrukcja_lub_procedura_lub_funkcja
end.
Na końcu programu stawiamy kropkę. Istotne są te dwa słowa kluczowe: begin oraz end - gdyż to właśnie między nimi możemy umieszczać instrukcje. Podobnie między nimi możemy umieścić jeszcze raz begin i end, co będzie nieuniknione przy pętlach, ale o tym później.


Procedury i funkcje

Procedura to po prostu podprogram mający swój identyfikator (nazwę). Tak więc procedurę o nazwie "napiszabc", która napisze na ekranie "abc" możemy wywołać pisząc w głównym programie "napiszabc". Oczywiście taka procedura nie istnieje, o ile sobie jej sam nie napiszesz. Procedura może mieć też jakieś argumenty, które podajemy w wywołaniu procedury w nawiasie (ew. po przecinkach). Argumenty procedury mogą być zarówno stałymi jak i zmiennymi, mogą też mieć dowolny typ. Ogólny sposób pisania procedur można opisać następującym schematem:
procedure nazwaprocedury(argumenty);
begin {słowo kluczowe}
  pierwsza_instrukcja_lub_procedura_lub_funkcja;
  druga_instrukcja_lub_procedura_lub_funkcja;
  ...
  ostatnia_instrukcja_lub_procedura_lub_funkcja
end.
Jeśli procedura nie ma argumentów, to pierwsza linia powyższego schematu wygląda tak:
procedure nazwaprocedury;
W pierwszej linii możemy też użyć słowa kluczowego forward, a pominąć następne. Oznacza to "zapowiedź" umieszczenia procedury w dalszej części programu, co należy później uczynić. Jest to przydatne, gdy procedury wykonują siebie nawzajem - procedura może bowiem wywołać inną tylko w wypadku, jeżeli procedura "docelowa" jest przed nią w kodzie (ale namieszałem - zobaczysz w praktyce!). Jeśli zamiana kolejności procedur nie daje pożądanego efektu, zalecam użycie słowa forward. W praktyce wygląda to tak:
procedure nazwaprocedury(ew.argumenty); forward;
Funkcje róznią się od procedur faktem, że posiadają daną wartość (podobnie jak zmienne czy stałe), która jest wyliczana przy wywołaniu procedury. Schemat funkcji różniłby się od schematu procedury jedynie pierwszą linią:
function nazwafunkcji(ew.argumenty) : typwyniku;

Lekcje:     1   2   3   4   5   6   7

Wstęp Źródła Kurs Programy Linki
Powrót