1. Inicjalizacja zmiennych
Zanim użyjemy zmiennej w programie, powinniśmy nadać jej jakąś wartość początkową (zainicjalizować zmienną). Brak inicjalizacji zmiennej jest jednym z najczęstszych błędów, jakie popełniają programiści. Inicjalizację zmiennej możemy wykonać na kilka sposobów. Domyślnie wszystkie zmienne globalne (zadeklarowane w sekcji var programu głównego) mają zerową wartość początkową (tzn. w przypadku zmiennej typu byte jest to 0, w przyadku real wartość 0.0. w przypadku char znak o kodzie ASCII równym 0). Jeśli chcemy, aby zmienna miata wartość zerową wystarczy zadeklarować ją jako zmienną globalną. Jeśli chcemy nadać jej jakąś wartość różną od zera możemy postąpić na dwa sposoby: użyć instrukcji przypisania (:=) lub zadeklarować ją jako zmienną zainicjalizowaną. Oto przykład programu, który stosuje oba sposoby inicjaliza-
cji zmiennej.
program inicjalizacja: const
y:tntcgcr = -1: var
x:intcgcn
bcgin
x:=5:
writclnCWartość x ’.x): writclnCWartość y \y): y:=-4:
wrltcInfNowa wartość y ’.y): readln: cnd.
Instrukcja przypisania powoduje przypisanie zmiennej znajdującej się po jej lewej stronie wartości znajdującej się po jej prawej stronie. Ta wartość może być stalą, wartością wyrażenia, lub wartością innej zmiennej. Zmienną zainicjalizowaną deklarujemy w części programu rozpoczynającej się słowem kluczowym const (w tym wypadku może ona występować po części nar). Deklaracja tej zmiennej jest podobna do deklaracji stałej, z tym. że podajemy typ tej zmiennej. Że jest to rzeczywiście zmienna, a nie stała można przekonać się uruchamiając program. W czwartym od końca wierszu następuje zmiana jej wartości, co w przypadku stałej nie jest możliwe. Zamiast inicjalizować zmienna bezpośrednio w programie możemy poprosić użytkownika o podanie wartości jaką chce żeby zainicjalizować zmienną. Najprościej zrobić to przy pomocy procedury readln. Jeśli chcemy, aby użytkownik nadał zmiennej o nazwie a jakąś wartość w treści programu umieszczamy zapis: readln(a): Procedura ta zatrzyma program do czasu, aż użytkownik wprowadzi odpowiednią wartość i naciśnie klawisz Enter. a następnie przypisze lak uzyskaną wartość zmiennej a. Jeśli wywołamy tę procedurę bez żadnej zmiennej, to spowoduje ona tylko zatrzymanie programu do czasu naciśnięcia przez użytkownika wspomnianego wcześniej klawisza. Istnieje również możliwość zainicjalizowania przez tę procedurę dwóch
2