kurs turbo pascal 70-23MOOOF2YDXZMFGZVXTLGRLZXVCGULRTICLQEUQ.doc

(366 KB) Pobierz
KURS PASCALA

KURS PASCALA

WSTĘP

 

Od autora

        Chciałbym wszystkim przypomnieć, że język Turbo Pascal (okrojony Borland Pascal 7.0) jest bardzo popularnym językiem programowania, przeznaczonym dla szrokiego kręgu odbiorców, przede wszystkim dla nieprofesjonalistów. Język Turbo Pascal, wbrew pozorom, nie jest wcale taki trudny do opanowania, można się go stosunkowo szybko nauczyć. Najczęściej jest on preferowany w szkołach średnich (uczą się go nawet studenci), stosowany jako "przedsmak" do języków jeszcze bardziej skomplikowanych tj. C/C++ czy Assebler.

        Kurs ten został napisany w dużej mierze na podstawie książki Andrzeja Marciniaka pt. "Turbo Pascal 7.0 z elementami programowania", z książki zaczerpnięte zostały poszczególne definicje elementów języka.

LEKCJA 1

Słowa kluczowe i dyrektywy języka

        W wersji 7.0 języka Turbo Pascal słowem kluczowym nazywamy każdy z 49. następujacych wyrazów języka angielskiego:

 

and

file

nil

shr

array

for

not

string

asm

function

object

then

begin

goto

of

to

case

if

or

type

const

implementation

packed

unit

constructor

in

procedure

until

destructor

inherited

program

uses

div

inline

record

var

do

interface

repeat

while

downto

label

set

with

else

mod

shl

xor

end

 

 

 

 

Słowa kluczowe są integralną częścią języka TP i są zastrzeżone, tzn. nie mogą być zdefiniowane przez programistę.

        Oprócz słów kluczowych w wersji 7.0 Pascal-a występują dyrektywy języka. Dyrektywą jest każdy z 10. następujących wyrazów:

absolute

far

near

public

assembler

forward

private

virtual

external

interrupt

 

 

 

W odróżnieniu od słów kluczowych, dyrektywy języka nie są zastrzeżone - podane wyrazy mogą więc być identyfikatorami zdefinowanymi przez programistę, co jednak nie jest zalecane. Penym wyjątkiem są dyrektywy private i public, które w obiektach (ale tylko w nich) są słowami zastrzeżonymi.

LEKCJA 2

Jak wygląda program w Pascalu ?

        Podstawowych pojęć jakimi się operuje programując w TP jest wprawdzie niewiele i nie są one trudne do zrozumienia, ale niewiedząc "z czym je jeść" nie mamy co zabierać się do programowania - wszystkie te pojęcia składają się na szkielet programu. Oto lista tych pojęć:

Struktura programu
Deklaracja modułów
Etykiety
Stałe
Typy danych
Zmienne
Procedury i funkcje

 

        Program napisany w TP 7.0 składa się z nagłówka programu (PROGRAM), deklaracji modułów, bloku i znaku . (kropka). W nagłówku programu podaje się zwykle jego nazwę. Za pomocą deklaracji modułów określa się moduły standardowe i moduły użytkownika. Blok składa się z opisu danych i części wykonawczej, a kropka kończy tekst programu. Dopuszcza się możliwość opuszczenia nagłówka (jest on pomijany przez kompilator), deklaracji modułów i opisu danych, a wiersz programu nie może zawierać więcej niż 127 znaków. Oto szkielet programu paskalowego:

 

PROGRAM Nazwa_Programu; {Nagłóewk programu}
USES {Deklaracja modułów}
{Początek części opisowej}
LABEL
CONST
TYPE
VAR
PROCEDURE
FUNCTION
{Koniec części opisowej}
BEGIN
{Część wykonawcza programu}
END.

 

 

        Deklaracja modułów (USES) jest klauzurą pozwalającą nam zdefiniować dowolną ilość modłów w naszym programie, np.

   USES CRT,DOS;

Powyższa deklaracja definiuje dla naszego programu dwa standardowe moduły DOS i CRT.

 

        Etykiety (LABEL) deklarujemy zaraz po deklaracji modułów klauzurą USES, powodują one skok do określonej części programu - wywołujemy je słowem kluczowym GOTO, np.

 

LABEL skok_1,skok_2;

   ...

BEGIN

  GOTO skok_1;

     ...

     ...{Jakieś funkcje czy procedury.}

     ...

  skok_1: Writeln('Skok do etykiety skok_1');

  skok_2: Writeln('Skok do etykiety skok_2');

END.

 

Powyższy przykład obrazuje skok do etykiety skok_1. Podczas tej operacji omijane są wszelkie procedury i funkcje znajdujące się w wykropkowanych miejscach.

 

        Stałe (CONST) deklarujemy po deklaracji etykiet (LABEL), gdy zadeklarujemy jakąś stałą to w dalszej części programu nie możemy przypisać jej już innej wartości niż wartość początkowa. Zmiennym nie musimy przypisywać konkretnego typu danych, lecz w niektórych, bardziej złnożoych programach jest to wskazane, np.

 

CONST MaxWysokosc = 100;

       MaxPredkosc = 10;

lub

 

CONST MaxWysokosc : Typ = Wartosc;

       MaxPredkosc : Typ = Wartosc;

 

W drugim przykładzie Typ oznacza dowolny typ danych, wtedy wartość stałej przypisujemy zgodnie z typem.


        Typy (TYPE) deklarujemy po deklaracji stałych (CONST). Każdą zmienną w programie należy zadeklarować tzn. określić jej nazwę oraz wartości, które może ona przyjmować. Zbiór wartości zmiennej nazywa się typem zmiennej. Typy dzielimy na standardowe (predefiniowane, nie wymagające opisu) i niestandardowe (wprowadzane ręcznie przez programistę). O typach będzie jeszcze mowa w następnych lekcjach, więc podam tu tylko przykłady, np.

 

TYPE Dzien = (pon, wt, sr, czw, pt, sob, nie);

     Numer = Integer;


        Zmienne (VAR) deklarujemy po deklaracji typów (TYPE). Jak już wspomniałem, wszystkie zmienne używane w programie powinny być zadeklarowane. Deklaracje zmiennych składają się ze słowa kluczowego VAR, po którym następuje wykaz deklaracji. Każdą zadeklarowaną zmienną (wartość zmiennej) możemy w głebi programu dowolnie definiować (przypisywać jej inne wartości), np.

 

VAR Wynik = Byte;

...

BEGIN

   Wynik:=0; {Wartość początkowa}

   ...

   Wynik:=10; {Wartość przypisana później}

END.

        Procedurę (PROCEDURE) lub funkcję (FUNCTION) deklarujemy po deklaracji zmiennych (VAR). Są to wyodrębnione części programu, stanowiące pewną całość, posiadające jednoznaczną nazwę i ustalony sposób wymiany informacji z pozostałymi częściami programu. Procedury i funkcje są stosowane do wykonania czynności, które mogą być wykorzystane w różnych programach lub do wykonania czynności wielokrotnie powtarzanych przez dany program. Różnica pomiędzy procedurą a funkcją polega na sposobie przekazywania wartości. Zadaniem procedury jest wykonanie pewnej sekwencji czynności, polegających zwykle na obliczaniu jedej lub wielu wartości. Natomiast zadaniem funkcji jest obliczenie jedej wartości (typu prostego lub wskaźnikowego). Odmienne są też sposoby wywołania procedur i funkcji, np.

 

Definicja procedury:

 

PROCEDURE Nazwa_Procedury(lista_parametrów);

...Część_opisowa

BEGIN

...Ciąg_instrukcji

END;

 

W definicji procedury listę parametrów możemy pominąć.

 

Definicja funkcji:

 

FUNCTION Nazwa_Funkcji(lista_parametrów): Typ_wyniku;

...Część_opisowa

BEGIN

...Ciąg_instrukcji

END;

 

W obu przypadkach lista parametrów zawiera deklarację parametrów, przy czym poszczególne deklaracje oddziela się średnikami. W przypadku funkcji w ciągu instrukcji musi wystąpić co najmniej jedna instrukcja przypisania w postaci:

 

Nazwa_Funkcji:=Wyrażenie

powodująca przypisanie wartości pod nazwę funkcji, przy czym co najmniej jedna z tych instrukcji musi być wykonana po wywołaniu funkcji. Typ wyniku funkcji jest określony za pomocą identyfikatora typu.

 LEKCJA 3

 

Typy danych i ich krótki opis

        Co to jest mniej więcej "typ" pisałem w poprzednim dziale, a w niniejszym opiszę dość dokładnie poszczególne typy wraz ze sposobami ich definicji w programie.

Podział typów danych:

 

 Typy proste

 Typy porządkowe

 Typ wyliczeniowy
 Typy całkowite
 Typy logiczne
 Typ znakowy
 Typy okrojone

 Typy rzeczywiste

 Typy łańcuchowe
 Typy strukturalne

 Typy tablicowe
 Typ rekordowy
 Typ zbiorowy
 ...

Zgłoś jeśli naruszono regulamin