: Opisz język programowania ( Turbo Pascal )
Pascal jest jednym z najpopularniejszych języków programowania komputerów. Powstał on w 1971 roku, kiedy to Niklaus Wirth opublikował pierwszy artykuł o nim. Upowszechnienie Pascala nastąpiło po roku 1974, w którym Wirth, opierając się na poprawionym artykule, wydał wraz z Kathleem Jensen pierwszy podręcznik tego języka. W zamierzeniu Wirtha język Pascal miał służyć przede wszystkim do nauki programowania strukturalnego, czyli określania dużych elementów poprzez elementy niższego rzędu, aż do końcowych elementów programowych realizujących określone funkcje. Wraz z rozwojem techniki mikrokomputerów pojawiły się liczne wersje języka Pascal. Światowy prymat należy jednak do tzw. Turbo Pascala, wprowadzonego na rynek w 1983 roku przez amerykańską firmę Borland International Inc. Stałe wzbogacanie i doskonalenie języka Turbo Pascal przez Borland doprowadziło do powstania pod koniec 1992 roku wersji 7.0 która pojawiła się na rynku w postaci dwóch pakietów: Borland Pascal 7.0 i Turbo Pascal 7.0 . Zintegrowane systemy programowania i sam język Turbo Pascal cechują:
okienkowość systemów programowania
wielozbiorowy edytor, generujący zbiory tekstowe w kodzie ASCII
możliwość sterowania za pomącą myszki
środki śledzenia wykonywania programów oraz lokalizacji i usuwania ich błędów
programowanie strukturalne
możliwość pisania fragmentów programów w asemblerze i traktowania funkcji jak procedur
programowanie grafiki
możliwość usuwania zbędnych fragmentów tekstów
przeglądanie modułów, obiektów i identyfikatorów
wyróżnianie identyfikatorów, słów kluczowych, łańcuchów, komentarzy
Program napisany w Turbo Pascalu składa się z nagłówka, bloku i znaku.(kropka). Nagłówek składa się ze słowa program, po którym podaje się nazwę programu. Blok składa się z opisu danych i części wykonawczej ograniczony słowami begin i end, a kropka kończy tekst programu.
Alfabet języka Turbo Pascal zawiera małe i duże litery alfabetu łacińskiego, kreskę podkreślenia, cyfry arabskie, 23 znaki specjalne oraz 32 znaki sterujące. Elementy alfabetu łacińskiego nazywa się symbolami podstawowymi. Pełen zestaw symboli podstawowych jest następujący:
litery: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z _ cyfry: 1 2 3 4 5 6 7 8 9 0
znaki specjalne: odstęp + - * / = ^ < > ( )[ ] { } . , : ; ' # @
znaki sterujące: znaki o kodach ASCII od 0 do 31
Małe i duże litery nie są rozróżniane. Powoduje to, że zapisy na przykład TURBOPASCAL , TurBoPaScaL , turbopascal itp. są uznawane za identyczne.
W TPascalu wyróżniamy także słowa kluczowe. Słowem kluczowym nazywamy każdy 49 z następujących słów języka angielskiego: and, array, asm, begin, case, const, constructor, destructor, div, do, downto, else, end, file, for, function, goto, if, implemenation, in, inline, inherited, interface, label, mod, nil, not, object, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor.
Typy, stałe i zmienne
Stałe i zmienne służą w programie do reprezentowania danych. Stała (literał) jest nazwą pewnej wartości, która w całym programie nie ulega zmianie. Na przykład zapis
const e = 75;
oznacza, że zdefiniowano stałą e, która ma w programie wartość 75. Zmienne w przeciwieństwie do stałych mogą reprezentować różne wartości. Zbiór wartości, jakie może przyjąć zmienna nazywa się jej typem.
W języku Turbo Pascal istnieje wiele typów predefiniowanych, tj. typów zdefiniowanych w tym języku, których użycie wymaga podania odpowiedniego identyfikatora np. :
liczby całkowite (typy ShortInt, Integer, LongInt, Byte, Word)
liczby rzeczywiste (typy Real, Single, Double, Extended, Comp)
wartości logiczne (typy Boolean, ByteBool, WordBool, LongBool)
zbiór znakowy (typ char)
zbiór wskaźnikowy (typ Pointer)
W programie taki typ zapisuje się w następujący sposób:
var x : integer
zapis deklaruje zmienną x jako zmienną typu Integer.
Instrukcje
W części wykonawczej bloku, którą ograniczają słowa begin i end, znajdują się instrukcje opisujące czynności wykonywane w programie. Poszczególne instrukcje programu oddziela się średnikami. Jedną z podstawowych instrukcji języka Turbo Pascal jest instrukcja przypisania, która nadaje zmiennej określoną wartość. Na przykład zapis
x:=10;
powoduje, że zmiennej x zostaje nadana wartość 10. Znaki := są symbolem przypisania. W instrukcjach przypisania mogą występować wyrażenia. Wyrażenie jest to sensowna kombinacja operatorów i argumentów. Przykładami
operatorów są:
1. + ( operator dodawania ) np x:=a+643;
2. - ( operator odejmowania ) np x:=f-1;
3. * ( operator mnożenia ) np x:=a*9;
4. / ( operator dzielenia ) np x:=q/2;
5. = ( operator porównań ) np x:=p=9654;
W programie mogą wystąpić instrukcje, które uzależniają wykonanie pewnych czynności od spełnienia określonego warunku. Tego typu instrukcje nazywamy instrukcjami warunkowymi. Przykładem może być instrukcja :
if r<2 then
z:=r+a - 10;
która uzależnia nadanie zmiennej z wartości wyrażenia występującego z prawej strony symbolu przypisania od spełnienia przez zmienną x warunku, że jej aktualna wartość jest mniejsza od 2.
Jeśli w zależności od spełnienia pewnego warunku należy wykonać kilka instrukcji, to instrukcje te można połączyć w jedną instrukcję za pomocą tzw instrukcji złożonej. Instrukcja złożona rozpoczyna się od słowa begin i kończy się słowem end. Np:
if x<2 then
begin
z:=x+a-12;
y:=3*q;
x:=4*x+5
end;
Po słowie Then użyto instrukcję złożoną, w której występują trzy inne instrukcje. Po ostatniej instrukcji można było opuścić średnik, gdyż następnym słowem jest end, które kończy instrukcję złożoną.
Procedury, funkcje, moduły.
Procedury i funkcje umożliwiają podzielenie części wykonawczej programu na fragmenty zapisane w wyodrębniony sposób w części opisowej bloku. Różnica pomiędzy procedurą a funkcją polega na tym, że zadaniem procedury jest zwykle obliczenie jednej lub kilku wartości, a zadaniem funkcji jest obliczenie jednej wartości. Spowodowanie wykonania funkcji lub procedury w części wykonawczej bloku następuje za pomocą odwołania. Opis procedury lub funkcji, który podaje się w części opisowej, rozpoczyna się od nagłówka, po czym występuje blok zakończony średnikiem. Nagłówek procedury różni się od nagłówka funkcji. W pierwszym przypadku rozpoczyna się od słowa procedure, a w drugim od słowa function.
Przykład procedury:
procedure liczenie ( a,b :real; var s,r :real );
begin
s:=a+b; r:=a-b; end;
Za pomocą funkcji to samo zadanie wyglądało by to następująco:
function suma ( a,b:real ) :real; begin
suma:=a+b end;
function roznica ( a,b:real ): real; begin
roznica:=a-b; end;
Procedury i funkcje można połączyć w większe jednostki programowe zwane modułami. Moduły są pamiętane w oddzielnych zbiorach dyskowych, a ich użycie w określonym programie wymaga tylko ich deklaracji. Dla zadeklarowania jednego modułu służy konstrukcja:
uses pascal;
gdzie pascal jest jego nazwą . Jeśli deklarujemy kilka modułów, to ich nazwy oddzielamy przecinkami np
uses pascal3, pascal2, pascal6;
Twórcy języka programowania Turbo Pascal 7.0 pogrupowali wiele standartowych procedur i funkcji w oddzielne moduły. Poza modułem nazwie System, w którym znajdują się m.in. procedury umożliwiające wprowadzenie danych do programu i wyprowadzenie wyników, użycie każdego innego modułu wymaga odpowiedniej deklaracji w programie.
Przykład programu i jego analiza
program kalkulator;
uses crt;
var a,b,c,d,e,f : real; { określenie zmiennych jako liczby rzeczywiste }
begin
clrscr; { czyści ekran jak DOS'owska komenda cls }
write('podaj wartość pierwszej liczby: ');
readln(a); { wczytanie pierwszej liczby }
write('podaj wartość drugiej liczby: ');
readln(b); { wczytanie drugiej liczby }
writeln; { odstęp jednej linii }
c:=a+b; { dodawanie liczb }
d:=a-b; { odejmowanie }
e:=a*d; { mnożenie }
f:=a/d; { dzielenie }
write('suma liczb : '); writeln(c);
write('różnica liczb : '); writeln(d);
write('iloczyn liczb : '); writeln(e);
write('iloraz liczb : '); writeln(f);
readkey; { program czeka na naciśnięcie dowolnego klawisza }
end. { kończy cały program }
W programie została wykorzystana instrukcja przypisania a także kilka nowych komend tj. Writeln, readln, readkey. Pierwsze polecenie pozwala pisać i wczytywać do programu dowolne teksty, drugie zatrzymuje program i czeka na wprowadzenie danej wartości, zaś trzecie oczekuje naciśnięcia dowolnego klawisza, aby zakończyć działanie programu.
Gdy załadujemy program wpisując za a = 4 i b=2 to na ekranie komputera ukaże się:
podaj wartość pierwszej liczby: 4
podaj wartość drugiej liczby: 2
suma liczb : 6
różnica liczb: 2
iloczyn liczb: 8
iloraz liczb: 2
rys. Okno programu Turbo Pascal
6