Struktura programu
PROGRAM nazwa;
{część deklaracyjna}
BEGIN
{część wykonawcza}
END.
Część deklaracyjna – tu definiujemy stałe i deklarujemy zmienne
Część wykonawcza – część główna programu. Tu wstawiamy instrukcje.
Oto wyjściowy kod programu, który będzie używany przy rozpoczynaniu każdego
programu:
Opis:
Program baza; - nazwa programu (tu nazwą jest baza). Jeżeli nazwa będzie zawierać kilka
wyrazów należy je połączyć np. kreską dolną (np. program_dodawanie_liczb).
Uses CRT – nie będziemy się zagłębiać w słowo uses. Najprościej mówiąc jest to odwołanie
do biblioteki o nazwie CTR, która zawiera komendę clrscr; (widoczną na zrzucie), która czyści
ekran (uruchamiając program w TP zaobserwować można informacje o programie – aby
pozbyć się tych informacji używamy właśnie tej komendy).
Begin – początek części zasadniczej programu.
Clrscr; - czyszczenie ekranu.
Readkey; - powoduje zatrzymanie programu do czasu naciśnięcia dowolnego klawisza.
Gdyby zabrakło tej linii nie zaobserwowalibyśmy wyniku programu. Program wyszedłby
automatycznie do źródła.
End. – koniec programu. Bardzo ważna jest kropka. Na kolejnych lekcjach zaobserwujesz, że
end będzie używane nie tylko przy zakończeniu programu. Jednak tylko end dla końca
programu będzie zawierał kropkę.
INSTRUKCE WEJŚCIA / WYJŚCIA
Do podstawowych instrukcji w programowaniu ( nie tylko w TP) należą:
- komunikacja programu z użytkownikiem
- komunikacja użytkownika z programem
Chodzi tu w szczególności o wyświetlanie komunikatów na ekranie i możliwość wprowadzania danych
z klawiatury.
1) Instrukcja WRITE i WRITELN
Aby wyświetlić informację na ekranie używamy następującej składni:
Write(‘Jakiś napis’);
Z kolei:
Writeln(‘Jakiś napis’);
Wyświetli napis, a kursor przejdzie do następnej linii
Co zrobić, kiedy chcemy na ekranie wyświetlić nie napis, lecz wartość jakiejś zmiennej? To żaden
problem. Załóżmy, że zastosowaliśmy instrukcję przypisania dla zmiennej o nazwie liczba:
Liczba:=10;
Jak widzicie do zmiennej liczba przypisałem wartość 10. Aby wyświetlić na ekranie tą wartość
wystarczy napisać:
Write(liczba);
I to wszystko. Czyli postępujemy tak jak w przypadku napisu, z tą różnicą, że nie dajemy w nawiasie
apostrofów, a jedynie nazwę zmiennej.
Możemy także łączyć wyświetlanie tekstu i wartości zmiennej:
Write(‘Wartość zmiennej o nazwie liczba wynosi ’,liczba);
Jak widać, kolejne przejścia z napisu na zmienne poprzedzone są przecinkiem.
Przykładowy program:
Program write_i_writeln;
Uses CRT;
Var
Liczba :integer;
Begin
Clrscr;
Write(‘Wartość zmiennej o nazwie liczba wynosi ‘,liczba); //*
Readkey;
End.
Linijkę z gwiazdką moglibyśmy zastąpić w ten sposób:
Write(‘Wartość zmiennej o nazwie liczba wynosi ’ );
2) Instrukcje READ i READLN
Jeśli chcemy do dowolnej zmiennej przypisać wartość nie poprzez instrukcję przypisania lecz z
klawiatury, postępujemy tak:
Read(nazwa_zmiennej);
Readln(nazwa_zmiennej);
Powoduje przypisanie z klawiatury wartości do zmiennej i przejście do następnej linii.
Program read_i_readln;
Write(‘Podaj wartość ’); // wyświetlenie napisu
Readln(liczba); // program czeka, aż wpiszesz wartość z klawiatury
Write(‘Wartość zmiennej o nazwie liczba wynosi ’,liczba); //wyświetlenie napisu i wartości
Komentarze:
Te dwa ukośniki ( // ) oznaczają początek tak zwanego komentarza. Tekst, który znajduje się za
ukośnikami jest ignorowany przez program i służy tylko, jako informacja. Dobrze jest stosować w
programie komentarze, w szczególności w rozbudowanych programach opisując sobie, np. zmienne.
Sprawa wygląda troszeczkę inaczej, jeżeli chcemy wyświetlić wartość zmiennej typu REAL. Poniższa
instrukcja:
W przypadku, gdy:
var
Liczba : Real;
Spowoduje wyświetlenie się wartości mniej więcej w ten sposób:
Co w takim wypadku??
Zamiast linijki:
Wpisujemy:
Write(liczba:10:3);
10 – oznacza, że wynik zostanie wyświetlony w systemie dziesiętnym
3 – oznacza trzy miejsca po przecinku
PODSUMOWANIE:
W przypadku typów zmiennych char i string postępujemy dokładnie tak samo jak w powyższych
przykładach. Jedynie dodatkowe wartości przy wyświetlaniu zmiennych (np. write(liczba:10:2) )
stosujemy tylko w przypadku zmiennych typu REAL.
Typy danych
W Pascalu wyróżniamy następujące standardowe typy danych:
- REAL (określa liczby rzeczywiste)
- INTEGER (określa liczby całkowite)
- CHAR (znakowy typ danych – jeden znak)
- BOOLEAN (określa typ mogący przybierać dwie wartości: true-prawda i false-fałsz)
- STRING (ciąg znaków)
Typy całkowite
Typy rzeczywiste
Co oznacza zakres???
Używając w programie liczb stałych i zmiennych musimy określić ich typ, z góry musimy
wiedzieć, co to będą za liczby. Jeżeli program będzie dodawał dwie liczby musimy określić na
początku programu czy będą to liczby całkowite czy po przecinku (rzeczywiste). Następnie
określamy przedział, w jakim będą zawierać się te liczby. Jeżeli chodzi o liczby rzeczywiste, to
w większości przypadków wystarczy zastosować REAL.
Co oznacza liczba bajtów???
Jeżeli np. wartość zmiennej będzie wahać się w zakresie od 1 do 100 to najlepszym typem
będzie BYTE. Jeżeli jednak użyjemy INTEGER to nie będzie to błąd, jednak niepotrzebnie
zajmiemy miejsce w pamięci. Przy programie z dużą ilością zmiennych może mieć to wpływ
na szybkość działania programu.
Definicje stałych:
Definicje stałych poprzedzamy słowem CONST.
Definicja każdej stałej ma postać:
Nazwa_stałej = Wartość_stałej;
Np.:
X=10;
UWAGA!!!
Definiując stałe nie podajemy typu danych, kompilator sam rozpozna typ.
Definiując stałą musimy mieć świadomość, że jej wartość w programie nie może ulec
zmianie.
Deklaracje zmiennych:
Deklaracje zmiennych poprzedzamy słowem VAR.
Deklaracja zmiennych ma postać:
Nazwa_zmiennej : Typ_zmiennej;
X : integer; // zmienna o nazwie x typu całkowitego
Y : char; // zmienna o nazwie y typu znakowego
Tak zadeklarowane zmienne nie posiadają żadnych wartości. Wartości te mogą być
wprowadzone np. z klawiatury (o tym na dalszych lekcjach), bądź można je ustalić odgórnie
w dowolnej części programu. Do tego służy instrukcja przypisania.
Przykład
Przypisuję wartość 10 do zmiennej o nazwie x:
X:=10;
Instrukcja przypisania składa się z :=
Przypisując w dowolnym miejscu wartość do zmiennej musimy mieć świadomość tego, że
wartość ta może ulec zmianie.
Przykład:
Zauważ, że instrukcja przypisania występuje już w części zasadniczej programu (między Begin
i end). Przypisując wartości do zmiennych typu char i string, wartości umieszczamy w apostrofach.
Instrukcja warunkowa
Instrukcja warunkowa to element w języku programowania, wykonujący określone
czynności tylko wtedy, kiedy zostanie spełniony określony warunek.
Wyróżniamy dwie postaci instrukcji warunkowej:
· instrukcja warunkowa niepełna
· instrukcja warunkowa pełna
1. Instrukcja warunkowa niepełna
Instrukcja warunkowa niepełna wykonuje odpowiednie czynności tylko pod
odpowiednimi warunkami:
Postać instrukcji warunkowej niepełnej:
IF ( warunek ) THEN
<instrukcje>
End;
Instrukcje zostaną wykonane, kiedy warunek zostanie spełniony.
Przykład instrukcji warunkowej niespełnionej :
Po uruchomieniu:
1 -wersja
2 -wersja
W pierwszej wersji warunek został spełniony, więc wyświetlił się napis. W drugiej
wersji warunek nie został spełniony, a napis się nie wyświetlił. W drugim przypadku, kiedy
warunek nie zostaje spełniony, ten fragment programu, którego dotyczy instrukcja
warunkowa zostaje pominięta.
2. Instrukcja warunkowa pełna:
Instrukcja warunkowa pełna wykonuje odpowiednie czynności tylko pod odpowiednimi
warunkami, lecz jeżeli nie zostaną one spełnione, wykonują się inne instrukcje.
Postać instrukcji warunkowej pełnej:
<instrukcja1>
End
else
<instrukcja2>
Jeżeli warunek zostanie spełniony wykona się tylko instrukcja1. Jeżeli warunek nie zostanie
spełniony, wykona się tylko instrukcja2.
W instrukcji warunkowej pełnej, pierwsze słowo end, znajdujące się pod instrukcja1 nie
zawiera średnika. Jest to wyjątek i należy o nim pamiętać.
Przykład instrukcji warunkowej pełnej :
1 –wersja
2 –wersja
Instrukcja powtórzeniowa FOR służy do wykonania tych samych czynności wiele
razy.
Struktura:
FOR wartosc1 TO wartosc2 DO
<Instrukcje>
Wartość1 to wartość początkowa pętli, natomiast wartość2 to wartość końcowa
pętli.
FOR x:=1 TO 10 DO
Powyższa pętla wykona instrukcje znajdujące się pomiędzy Begin a end dziesięć
razy. Na początku wartość zmiennej x wynosi 1. Po każdym kolejnym powtórzeniu
wartość x zwiększa się o jeden. Pętla wykona tyle powtórzeń, aż wartość x dojdzie
do 10.
Przykładowy kod:
...
krzycho.men