PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL


PODSTAWOWE WIADOMOSCI O JĘZYKU TURBO PASCAL

0x01 graphic

Podstawowe wiadomości o języku Turbo Pascal

Pierwszy opis języka Pascal opublikował w 1971 r. Niklaus Wirth. Pomyślany on był jako język służący do nauki programowania. Pascal stosowany początkowo do celów edukacyjnych stał się profesjonalnym narzędziem informatycznym. Od tego czasu pojawiło sie wiele wersji tego języka, znacznie odbiegających od pierwowzoru, łamiących nawet strukturalizm języka. Międzynarodowa Organizacja Normalizacyjna ISO przedstawiła w 1980 roku celem ujednolicenia propozycję standardu Pascala. Produkt firmy Borland International Inc. - Turbo Pascal odbiega od niego znacznie.

Każdy program źródłowy składa się z:

Symbole podstawowe.

Litery

A B C D E F G H I J K L M N O P Q R S T U V W 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 y z _

Cyfry

1 2 3 4 5 6 7 8 9 0

Znaki specjalne

+ - * / = ^ < > ( ) [ ] { } . , : ; ` # $ @spacja

Znaki sterujące

Kody ASCII od 0 do 31

Symbole dwuznakowe

:= operator przypisania  
<> <= >= operatory relacji  
.. zakres  
(. .) nawiasy kwadratowe  
(* *) nawiasy klamrowe

Jednostki leksykalne.

Słowa kluczowe

Są to spójne ciągi liter tworzące zarezerwowane słowa angielskie o ustalonym znaczeniu. Poniżej ich lista (52 pozycje);

and

array

asm

begin

case

const

constructor

destructor

div

do

downto

else

end

file

for

function

goto

if

implementation

in

inherited

inline

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

 

Deklaratory

Są to spójne ciągi liter o ustalonym znaczeniu, które nie są jak słowa kluczowe słowami zarezerwowanymi:

absolute

assembler

external

far

forward

interrupt

near

private

public

virtual

Identyfikatory

Są to ciagi liter i znaków rozpoczynające się od litery, nie będące słowem kluczowym. Znak podkreślenia _ uznawany jest za literę. Liczba znaków identyfikatora może być dowolna, ale tylko pierwsze 63 są rozróżniane. Nie są rozróżniane duże i małe litery. Identyfikatory służą do oznaczania programów, stałych, typów, zmiennych, pól w rekordach, procedur, funkcji, parametrów formalnych.

Liczby

Nazywane są także literałami arytmetycznymi i dzielą się na:

Liczby całkowite.

Reprezentowane są one jako ciąg cyfr dziesiętnych lub szesnastkowych poprzedzonych ewentualnie znakiem +, -. Ciąg cyfr szesnastkowych powinien być poprzedzony znakiem $. W systemie szesnastkowym wykorzystywane są dodatkowo znaki A, B, C, D, E, F.

Liczby całkowite mogą zajmować w pamięci:

 

1 bajt

krótkie

zakres [-128..127]

 

2 bajty

normalne

zakres [-32 768..32 767]

 

4 bajty

długie

zakres [-2 147 483 648..2 147 483 647]

Liczby całkowite z zakresu:

 

[0..255]

to liczby bajtowe

1 bajt

 

[0..65 535]

to liczby słowowe

2 bajty

Liczby rzeczywiste

Składają się one z mantysy, litery E i cechy. Mantysa jest liczbą dziesiętną, a cecha całkowitą. Mogą one zawierać wyłącznie cyfry dziesiętne. Dopuszczalne jest opuszczenie części ułamkowej wraz z kropką albo samej części ułamkowej albo litery E i cechy.

Zakresem liczb rzeczywistych jest przedział [2.9E-39..1.7E38]. Liczby rzeczywiste zajmują 6 bajtów a ich mantysa ma maksymalnie 11-12 cyfr znaczących. W zestawach z koprocesorem dostępne sa ponadto następujące literały rzeczywiste: 
 

 

pojedyńcza długość

[1.5E-45..3.4E48]

4 bajty

mantysa 7-8 cyfr

 

podwójna długość

[5.0E-324..11.7E308]

8 bajtów

mantysa 15-16 cyfr

 

rozszerzone

[1.9E-4951..1.1E4932]

10 bajtów

mantysa 19-20 cyfr

 

typu Comp

[-263+1..263-1]

8 bajtów

mantysa 19-20 cyfr

Łańcuchy

Zwane są one inaczej literałami łańcuchowymi i służą do reprezentowania ciągu znaków:

Literały logiczne

Mają one postać napisu true lub false.

Komentarze

Są to napisy rozpoczynające sie od { i kończące się }. Jeżeli po { wystąpi $ to mamy do czynienia z dyrektywą kompilatora.

Struktura programu

Program napisany w Turbo Pascalu składa się z:

Nagłówek programu

Nagłówek programu składa się ze słowa kluczowego program, po którym występuje nazwa programu (identyfikator) oraz ewentualnie ujęta w nawiasy okrągłe lista identyfikatorów (kolejne elementy tej listy oddzielamy przecinkami). Liście tej nie jest nadawana żadna interpretacja, jest więc ona najczęściej pomijana. Może zostać także pominięta cała nazwa programu. Nie jest to jednak wskazane z metodologicznego punktu widzenia. Nazaw programu stanowi formę komentarza i opisuje jego działanie.

Blok

Blok programu w języku Turbo Pascal składa się z:

Kolejność ta jest dowolna, dopuszczalne jest także przeplatanie się poszczególnych elementów.

Struktura programu napisanego w Turbo Pascalu jest więc następująca:

program Nazwa_Programu (lista_identyfikatorów);

deklaracja modułów

część opisowa

begin

  ciąg instrukcji

end.

Najprostszy program napisany w Pascalu, pozbawiony opcjonalnej części opisowej, z pustym ciągiem instrukcji, ma więc następującą budowę: 
 

program Nic_Nie_Robię;   { naglowek mozna bylo pominac}  
begin  
end.

Deklaracje modułów

Moduły służą do grupowania procedur i funkcji w biblioteki. W systemie Turbo Pascal użytkownik ma możliwość korzystania z kilku modułów standardowych, w których zgromadzone są podstawowe funkcje i procedury języka. Moduł standardowy System jest dołączany automatycznie przez kompilator. W celu wykorzystania innych modułów należy ten fakt najpierw zadeklarować. Służy do tego konstrukcja:

uses

  lista_nazw_modułów

Nazwy kolejnych modułów na liście oddzielane są przecinkami.

Deklaracje etykiet

W Turbo Pascalu instrukcja programu może być poprzedzona etykietą. Mechanizm ten służy do przekazywania sterowania do tej instrukcji za pomocą instrukcji skoku bezwarunkowego goto. Opinia na temat używania skoku w programach twórcy Pascala N. Wirtha jest zdecydowanie jednoznaczna:

Wystąpienie instrukcji skoku w programie pascalowym często świadczy o tym, że programista nie nauczył sie myśleć w Pascalu.

Etykieta składa się z:

W treści programu bezpośrednio po etykiecie występuje dwukropek : oddzielający daną etykietę od innej etykiety lub instrukcji. Deklaracje etykiet mają postać:

label

  lista_etykiet

Nazwy kolejnych etykiet na liście oddzielane są przecinkami. Przykład etykiety i "zaetykietowanej" instrukcji zamieszczony jest poniżej: 
 

label  
  Etykieta;  
  ...  
  Etykieta : a:=a+1;  
  ...

Definicje nazw literałów (stałych)

Język Turbo Pascal umożliwia zastąpienie literałów przez odpowiednie przypisane im identyfikatory. Jest to w zasadzie zabieg kosmetyczny, mający na celu zwiększenie czytelności programu. Definicja stałych dokonywana jest za pomocą konstrukcji:

const  
  sekwencja_definicji_stalych  
gdzie definicja stalych ma jedna z postaci:  
  identyfikator = wyrazenie_stale;  
  identyfikator = oznaczenie_typu = stala_typowa;

Przykłady dwóch postaci definicji stałych umieszczone są poniżej: 
 

const  
  Jezyk   = 'Turbo Pascal 7.0';  { stala tekstowa }  
  e       = 2.718228118285;      { stala rzeczywista }  
  Minus   = Char   = '-';        { zmienny literal znalowy }  
  Oceny   : array [2..5] of Char   = ('2',''3',''4','5');  
  Stopnie : array [2..5] of Char   = '2345';

Trzy ostatnie literały określane są mianem literałów zmiennych. Niektóre nazwy literałów są predefiniowane, jak np. Pi = 3.1415…

Definicje typów

Absolutnie każda zmienna wykorzystywana przez nas w programie musi zostać zadeklarowana. Deklaracja oznacza określenie jej nazwy (identyfikatora) i wartości, które może ona przyjmować. Typ zmiennej możemy najprościej określić jako zbiór jej wartości. Typy wykorzystywane w Turbo Pascalu dzielą się na:

Składnia definicji typu, opisującej typ i jednocześnie przyporządkowującej mu odpowiedni identyfikator jest następująca:

type

  sekwencja_definicji_typów

gdzie każda z definicji typu ma postać

  identyfikator_typu   - opis _typu;

"Typologia" Turbo Pascala wyróżnia następujące typy:

 

 

 

wyliczeniowy

 

 

 

okrojony

 

 

porzadkowy

calkowity

 

prosty

 

logiczny

 

 

 

znakowy

 

 

rzeczywisty

 

 

łancuchowy

 

 

typ

 

tablicowy

 

 

strukturalny

rekordowy

 

 

zbiorowy

 

 

 

plikowy

 

 

 

 

 

 

obiektowy

 

 

 

wskaźnikowy

 

 

 

Typ prosty składa się z z uporządkowanego oraz skończonego, przeliczalnego, zbioru wartości.

Dla typu porządkowego jednoznacznie określane są wartości porzedzające i następujące po danej wielkości. W języku Turbo Pascal istnieje szereg predefiniowanych typów prostych:

Typ wyliczeniowy i okrojony definiowane są przez użytkownika.

Typ łańcuchowy, którego elementami mogą być dowolne znaki, służy do reprezentowania tekstów.

Typy strukturalne definiuje się przez podanie:

Przykłady definicji typów mogą być następujące: 
 

type  
  Tablica   = array [1..100] of Integer;  { typ tablicowy }  
  Miesiac   = 1..12;                      { typ okrojony }  
  Plec      = (M, K);                     { typ wyliczeniowy }  
  Duze      = 'A'..'Z';                   { inny typ okrojony }

Deklaracje zmiennych

Deklaracje zmiennych składają się ze słowa kluczowego var, po którym następuje wykaz deklaracji.

var  
  sekwencja_deklaracji_zmiennych  
gdzie kazda deklaracja ma postać:  
  lista_identyfikatorow  : opis_typu;

Lista identyfikatorów to oddzielona przecinkami lista nazw zmiennych, a opis typu zawiera określenie typu zmiennej.

Istotnym elementem jest zakres zmiennej, to jest obszar, dla którego jest ona zadeklarowana i w którym może być wykorzystywana. Jest nim zawsze blok, w którym została ona zadeklarowana, począwszy od miejsca, w którym zadeklarowany został jej identyfikator. W przypadku o strukturze zagnieżdżonych bloków mamy do czynienia ze zjawiskiemprzesłaniania. Ilustruje to poniższy rysunek:

Blok1  
var  
  Cos : Byte;  
 

Blok2  
var  
··Cos : Byte;

Zmienna Cos zadeklarowana w Bloku2 to zupełnie inna zmienna niż Cos z Bloku1. Ilustrację deklaracji zmiennych stanowią poniższe przykłady. 


 

var  
  Wyniki  : Tablica;  { typ musi byc zdefiniowany }  
  a, b, c : Real;     { typ Real jest predefiniowany }

Definicje i deklaracje procedur i funkcji

Nie wnikając w szczegóły tzw. programowania proceduralnego, które poznamy już niedługo, możemy powiedzieć, że definicje te będą określały zakres czynności, które będą wykonane po wywołaniu procedury bądź funkcji. Podprogramy umożliwiają wprowadzenie w programie "porządnych" skoków. W przypadku funkcji dodatkowo jest określany także typ wyniku.

Sztuka „pisania” programu

Już po pierwszych próbkach pisania w Pascalu widać, że w tym szaleństwie jest metoda. Przyjęte zostały pewne reguły gry, zwiększające czytelność.

Na wydruku komputerowym (listingu) dwa pierwsze chwyty nie funkcjonują. Tym istotniejsze staje się rozsądne i logicznewcinanie oraz struktura kolumnowa. Umówmy sie, że tak właśnie pisać będziemy nawet najprostszy program. Po co utrudniać to, co i tak jest samo z siebie dosyć skomplikowane. Próbki tzw. stylu wolnego zwanego też radosnym zostaną przedstawione nieco później, tak, by nie wyrabiać w Was negatywnych nawyków.

Moje refleksje po kilkuletnim nauczaniu Pascala są raczej smutne. Jeżeli po długich zmaganiach udaje się w końcu uruchomić program, to jest on napisany w zdecydowanie nieczytelny sposób. Najczęstsze grzechy to:



Wyszukiwarka

Podobne podstrony:
Baza?nych osobowych w języku Turbo Pascal
Typy zmiennych w języku Turbo Pascal
Tworzenie gier 2D i 3D w jezyku Turbo Pascal 2
Tworzenie gier 2D i 3D w jezyku Turbo Pascal 2d3dtp
Tworzenie gier 2D i 3D w jezyku Turbo Pascal
Tworzenie gier 2D i 3D w jezyku Turbo Pascal 2d3dtp
Podstawy Programowania W Języku Pascal
Turbo Pascal podstawy
podstawowe wiadomosci (1)
Podstawowe wiadomosci o programie SciLab wykresy
akademia cisco ccna semestr 2 podstawowe wiadomosci o routerach i routingu
Podstawowe zwroty w języku hiszpańskim, Hiszpański
Materialy szkoleniowe podstawowe wiadomosci o zagroze
genetyka podstawowe wiadomości, Nauka, biologia, genetyka
Budowa i opis menu edytora Turbo Pascal 7
Obsługa plików w turbo pascalu
Islam podstawowe wiadomości i słowniczek

więcej podobnych podstron