pas1

background image

PASCAL

PASCAL

Dr Anna Kwiatkowska

Dr Anna Kwiatkowska

background image

Podstawowe pojęcia

Podstawowe pojęcia

Programowanie strukturalne –

Programowanie strukturalne –

rozwiązywanie problemów metodą

rozwiązywanie problemów metodą

„top-down” (od szczegółu do ogółu)

„top-down” (od szczegółu do ogółu)

Program strukturalny

Program strukturalny

a)konstruowany bez instrukcji skoku

a)konstruowany bez instrukcji skoku

b)instrukcje wykonują się

b)instrukcje wykonują się

sekwencyjnie

sekwencyjnie

background image

Język PASCAL

Język PASCAL

Specjalny język do nauki programowania

Specjalny język do nauki programowania

strukturalnego

strukturalnego

Pakiet programowy zawierający

Pakiet programowy zawierający

interakcyjny system programowania

interakcyjny system programowania

zawierający:

zawierający:

a)

a)

kompilator języka TURBO PASCAL

kompilator języka TURBO PASCAL

b)

b)

złączony z nim ekranowy edytor tekstu

złączony z nim ekranowy edytor tekstu

c)

c)

program lokalizowania i usuwania

program lokalizowania i usuwania

usterek (debugger)

usterek (debugger)

background image

Alfabet języka PASCAL

Alfabet języka PASCAL

Alfabet języka:

Alfabet języka:

a)

a)

litery małe i duże alfabetu

litery małe i duże alfabetu

angielskiego oraz znak _

angielskiego oraz znak _

b)

b)

cyfry od 0 do 9

cyfry od 0 do 9

c)

c)

znaki specjalne (pozostałe znaki

znaki specjalne (pozostałe znaki

dostępne z klawiatury)

dostępne z klawiatury)

d)

d)

znaki sterujące (tablica ASCII)

znaki sterujące (tablica ASCII)

background image

Słowa kluczowe języka PASCAL

Słowa kluczowe języka PASCAL

Słowa kluczowe:

Słowa kluczowe:

absolute

absolute

and

and

array

array

begin

begin

case

case

const

const

costructor

costructor

destructor

destructor

div

div

do

do

downto

downto

else

else

end

end

external

external

file

file

for

for

forward

forward

function

function

goto

goto

if

if

implementation

implementation

in

in

inline

inline

interface

interface

interrupt

interrupt

label

label

mod

mod

nil

nil

background image

Słowa kluczowe języka PASCAL

Słowa kluczowe języka PASCAL

Słowa kluczowe (c.d.)

Słowa kluczowe (c.d.)

not

not

object

object

of

of

or

or

packed

packed

procedure

procedure

program

program

record

record

repeat

repeat

set

set

shl

shl

shr

shr

string

string

then

then

to

to

type

type

unit

unit

until

until

uses

uses

var

var

virtual

virtual

while

while

with

with

xor

xor

background image

Literały

Literały

W języku PASCAL występują następujące stałe:

W języku PASCAL występują następujące stałe:

1.

1.

liczbowe

liczbowe

a)

a)

całkowite -

całkowite -

ciąg cyfr ze znakiem lub bez

ciąg cyfr ze znakiem lub bez

(np. –123)

(np. –123)

b)

b)

rzeczywiste

rzeczywiste

i.

i.

w postaci

w postaci

z kropką dziesiętną

z kropką dziesiętną

(część całkowita

(część całkowita

zawsze musi wystąpić, np. –0.5)

zawsze musi wystąpić, np. –0.5)

ii.

ii.

w postaci

w postaci

wykładniczej

wykładniczej

mEc

mEc

(

(

wartosc = m 10

wartosc = m 10

c

c

)

)

,

,

gdzie

gdzie

m –

m –

mantysa (liczba rzeczywista w postaci z

mantysa (liczba rzeczywista w postaci z

kropką dziesiętną, zawsze musi wystąpić) oraz

kropką dziesiętną, zawsze musi wystąpić) oraz

c

c

cecha liczby ( liczba całkowita)(np. 1E-1, 0e2)

cecha liczby ( liczba całkowita)(np. 1E-1, 0e2)

c)

c)

szesnastkowe – poprzedzone znakiem

szesnastkowe – poprzedzone znakiem

$

$

najwyżej

najwyżej

osiem cyfr szesnastkowych

osiem cyfr szesnastkowych

background image

Literały

Literały

2.

2.

znakowe – pojedyncze znaki ujęte w apostrofy

znakowe – pojedyncze znaki ujęte w apostrofy

(

(

‘‘

‘‘

) lub poprzedzony znakiem

) lub poprzedzony znakiem

# kod ASCII

# kod ASCII

3.

3.

tekstowe (łańcuchy) – ujęte w apostrofy ciągi

tekstowe (łańcuchy) – ujęte w apostrofy ciągi

maksymalnie 255 znaków

maksymalnie 255 znaków

4.

4.

logiczne – dwie wartości

logiczne – dwie wartości

TRUE

TRUE

oraz

oraz

FALSE

FALSE

5.

5.

komentarz – ciągi znaków ujęte w nawiasy

komentarz – ciągi znaków ujęte w nawiasy

klamrowe

klamrowe

{}

{}

lub

lub

(* *)

(* *)

( są ignorowane przez

( są ignorowane przez

PASCAL)

PASCAL)

background image

Nazwa

Nazwa

W TURBO PASCALU poprawna nazwa

W TURBO PASCALU poprawna nazwa

dowolnego obiektu to

dowolnego obiektu to

ciąg liter i cyfr

ciąg liter i cyfr

zaczynający się od litery zakończony

zaczynający się od litery zakończony

spacją

spacją

(znak _ jest uważany za literę)

(znak _ jest uważany za literę)

background image

Priorytety działań

Priorytety działań

Ustalone są następujące priorytety dla działań

Ustalone są następujące priorytety dla działań

(począwszy od największego)

(począwszy od największego)

1.

1.

operacje w nawiasach

operacje w nawiasach

2.

2.

operatory zmiany znaku i logiczne NOT

operatory zmiany znaku i logiczne NOT

3.

3.

*, /, div, mod, AND

*, /, div, mod, AND

4.

4.

+, -, OR

+, -, OR

5.

5.

=,<>,<,>,<=,>=

=,<>,<,>,<=,>=

Jeżeli na danym poziomie występują operatory o

Jeżeli na danym poziomie występują operatory o

takim samym priorytecie, to są wykonywane w

takim samym priorytecie, to są wykonywane w

kolejności od lewej do prawej

kolejności od lewej do prawej

background image

Podstawowe funkcje

Podstawowe funkcje

arytmetyczne

arytmetyczne

SQRT(x)

SQRT(x)

x

x

SQR(x)

SQR(x)

x

x

2

2

ABS(x)

ABS(x)

|x|

|x|

LN(X)

LN(X)

ln x

ln x

EXP(X)

EXP(X)

e

e

x

x

SIN(x)

SIN(x)

sin x

sin x

COS(x)

COS(x)

cos x

cos x

background image

Klasyfikacja typów danych

Klasyfikacja typów danych

w y lic z e n io w y

o k r o jo n y

c a łk o w ity

lo g ic z n y

z n a k o w y

p o r z ą d k o w y

r z e c z y w is ty

p r o s ty

ła ń c u c h o w y

ta b lic o w y

r e k o r d o w y

z b io r o w y

p lik o w y

s tr u k tu r a ln y

o b ie k to w y

w s k a ź n ik o w y

p r o c e d u r a ln y

ty p y d a n y c h w P A S C A L u

background image

Typ wyliczeniowy

Typ wyliczeniowy

Stosuje się dla zbiorów o

Stosuje się dla zbiorów o

niewielkiej

niewielkiej

liczbie

liczbie

elementów

elementów

Definicja:

Definicja:

TYPE

TYPE

nazwa_typu=(lista_elementów)

nazwa_typu=(lista_elementów)

np.

np.

TYPE

TYPE

pora=(wiosna, lato, jesien, zima);

pora=(wiosna, lato, jesien, zima);

Ten sam element nie może

Ten sam element nie może

występować w

występować w

dwóch typach

dwóch typach

wyliczeniowych

wyliczeniowych

W obrębie jednego typu elementy

W obrębie jednego typu elementy

muszą

muszą

być różne

być różne

background image

Typ okrojony

Typ okrojony

służy do ograniczania zakresów

służy do ograniczania zakresów

wartości dowolnego typu

wartości dowolnego typu

porządkowego

porządkowego

definicja:

definicja:

TYPE

TYPE

nazwa_typu=ogr_dolne..ogr_gorne;

nazwa_typu=ogr_dolne..ogr_gorne;

np.

np.

TYPE

TYPE

duza=‘A’..’Z’;

duza=‘A’..’Z’;

ogr_dolne i ogr_gorne może być opisane

ogr_dolne i ogr_gorne może być opisane

wyrażeniem, ale nie może zaczynać się od

wyrażeniem, ale nie może zaczynać się od

nawiasu

nawiasu

i wartość wyrażenia musi być

i wartość wyrażenia musi być

typu

typu

przeliczeniowego

przeliczeniowego

background image

Typy całkowite

Typy całkowite

nazwa

nazwa

zakres

zakres

zajętość

zajętość

pamięci

pamięci

SHORTINT

SHORTINT

-128..127

-128..127

1 bajt

1 bajt

BYTE

BYTE

+0..255

+0..255

1 bajt

1 bajt

INTEGER

INTEGER

-32768..32767

-32768..32767

2 bajty

2 bajty

WORD

WORD

+0..65535

+0..65535

2 bajty

2 bajty

LONGINT

LONGINT

-21474833648..2147483647

-21474833648..2147483647

4 bajty

4 bajty

background image

Pozostałe typy porządkowe

Pozostałe typy porządkowe

typ logiczny

typ logiczny

BOOLEAN

BOOLEAN

, wartości

, wartości

TRUE

TRUE

oraz

oraz

FALSE

FALSE

typ znakowy

typ znakowy

CHAR

CHAR

elementami są

elementami są

znaki ASCII

znaki ASCII

background image

Typy rzeczywiste

Typy rzeczywiste

standardowy

standardowy

REAL

REAL

:

:

najmniejsza liczba dodatnia 2.9 e-39

najmniejsza liczba dodatnia 2.9 e-39

największa wartość 1.7 e38

największa wartość 1.7 e38

zajętość pamięci 6 bajtów

zajętość pamięci 6 bajtów

mantysa 11 lub 12 cyfr znaczących

mantysa 11 lub 12 cyfr znaczących

background image

Typy rzeczywiste (c.d.)

Typy rzeczywiste (c.d.)

jeśli włączona jest opcja korzystania z

jeśli włączona jest opcja korzystania z

koprocesora, lub jego emulacja wtedy

koprocesora, lub jego emulacja wtedy

dostępne są dodatkowe typy rzeczywiste

dostępne są dodatkowe typy rzeczywiste

nazwa

nazwa

zajętość

zajętość

pamięci

pamięci

najmniejsza

najmniejsza

wartość

wartość

dodatnia

dodatnia

największa

największa

wartość

wartość

mantysa

mantysa

(ilość cyfr

(ilość cyfr

znaczących)

znaczących)

SINGLE

SINGLE

4 bajty

4 bajty

1.5 e-45

1.5 e-45

3.4 e38

3.4 e38

7 lub 8

7 lub 8

DOUBLE

DOUBLE

8 bajtów

8 bajtów

5.0 e-324

5.0 e-324

1.7 e308

1.7 e308

15 lub 16

15 lub 16

EXTENDED

EXTENDED

10 bajtów

10 bajtów

3.4 e-4932

3.4 e-4932

1.1 e4932

1.1 e4932

19 lub 20

19 lub 20

background image

Typ łańcuchowy

Typ łańcuchowy

służy do reprezentowania tekstów

służy do reprezentowania tekstów

deklaracja

deklaracja

TYPE

TYPE

nazwa=

nazwa=

STRING

STRING

[

[

rozmiar

rozmiar

];

];

gdzie

gdzie

rozmiar

rozmiar

to liczba typu BYTE

to liczba typu BYTE

brak wartości

brak wartości

rozmiar

rozmiar

powoduje

powoduje

domyślne przyjęcie

domyślne przyjęcie

rozmiar

rozmiar

=255

=255

background image

Struktura programu

Struktura programu

PROGRAM nazwa;

PROGRAM nazwa;

część opisowa (deklaracje)

część opisowa (deklaracje)

BEGIN

BEGIN

część wykonawcza (instrukcje)

część wykonawcza (instrukcje)

END.

END.

background image

Deklaracje

Deklaracje

USES

USES

wykaz modułów - deklaracja

wykaz modułów - deklaracja

modułów (bibliotek funkcji i procedur) np.

modułów (bibliotek funkcji i procedur) np.

USES CRT;

USES CRT;

CONST

CONST

– definicje stałych programu, np.

– definicje stałych programu, np.

CONST tekst=‘TURBO’;

CONST tekst=‘TURBO’;

TYPE

TYPE

– deklaracja typów użytkownika

– deklaracja typów użytkownika

VAR

VAR

– deklaracja zmiennych

– deklaracja zmiennych

występujących w programie

występujących w programie

FUNCTION

FUNCTION

,

,

PROCEDURE

PROCEDURE

– deklaracja

– deklaracja

funkcji i procedur

funkcji i procedur

background image

Instrukcje

Instrukcje

in s t r u k c ja p r z y p is a n ia

in s t r u k c ja p u s t a

w y w o ła n ie p r o c e d u r y

o p e r a c je w e / w y

p r o s t e

in s t r u k c ja z ło ż o n a

p o s t a ć s k r ó c o n a

p o s t a ć p e łn a

in s t r u k c ja w a r u n k o w a

in s t r u k c ja 'd o p ó k i'

in s tr u k c ja 'p o w t a r z a j'

in s tr u k c ja 'fo r '

in s t r u k c je it e r a c y jn e

s t r u k t u r a ln e

in s tr u k c je

background image

Wprowadzanie danych

Wprowadzanie danych

READ

READ

(

(

lista_we

lista_we

); - powoduje wprowadzenie

); - powoduje wprowadzenie

znaków z klawiatury i przypisanie danych do

znaków z klawiatury i przypisanie danych do

zmiennych wymienionych jako

zmiennych wymienionych jako

lista_we

lista_we

READLN

READLN

(

(

lista_we

lista_we

); - dodatkowo przechodzi do

); - dodatkowo przechodzi do

następnego wiersza, bez

następnego wiersza, bez

lista_we

lista_we

oczekuje na

oczekuje na

wciśnięcie klawisza <ENTER>

wciśnięcie klawisza <ENTER>

lista_we

lista_we

to wykaz zmiennych oddzielonych

to wykaz zmiennych oddzielonych

przecinkami, których wartości należy wprowadzić

przecinkami, których wartości należy wprowadzić

background image

Wyprowadzanie wyników

Wyprowadzanie wyników

WRITE

WRITE

(

(

lista_wy

lista_wy

); - wyprowadza na ekran

); - wyprowadza na ekran

po kolei elementy z

po kolei elementy z

lista_wy

lista_wy

WRITELN

WRITELN

(

(

lista_wy

lista_wy

); - dodatkowo przesuwa

); - dodatkowo przesuwa

kursor do nowego wiersza

kursor do nowego wiersza

lista_wy

lista_wy

może zawierać stałe, zmienne i

może zawierać stałe, zmienne i

wyrażenia

wyrażenia

np. WRITE(‘DLA N=’,n,’ wynik =‘,2*n+1);

np. WRITE(‘DLA N=’,n,’ wynik =‘,2*n+1);

background image

Wyprowadzanie wyników

Wyprowadzanie wyników

(c.d)

(c.d)

wartość rzeczywista jest standardowo

wartość rzeczywista jest standardowo

wyprowadzana w postaci wykładniczej

wyprowadzana w postaci wykładniczej

wyświetlenie wartości rzeczywistej w

wyświetlenie wartości rzeczywistej w

postaci ‘z kropką dziesiętną’ można

postaci ‘z kropką dziesiętną’ można

uzyskać dając format dla wyświetlanej

uzyskać dając format dla wyświetlanej

wartości:

wartości:

WRITE

WRITE

(X:n:m) – n to ilość miejsc dla całej

(X:n:m) – n to ilość miejsc dla całej

wyświetlanej liczby, m to ilość miejsc po

wyświetlanej liczby, m to ilość miejsc po

przecinku np.

przecinku np.

WRITE

WRITE

(X:12:2)

(X:12:2)

background image

Instrukcja podstawienia

Instrukcja podstawienia

pozwala nadać zmiennej wartość

pozwala nadać zmiennej wartość

postać ogólna

postać ogólna

zmienna

zmienna

:=

:=

wyrażenie;

wyrażenie;

po lewej stronie instrukcji może stać tylko

po lewej stronie instrukcji może stać tylko

jedna zmienna

jedna zmienna

wartość wyrażenia musi być zgodna z

wartość wyrażenia musi być zgodna z

typem zmiennej

typem zmiennej

wyjątki: zmienna rzeczywista, wartość

wyjątki: zmienna rzeczywista, wartość

wyrażenia całkowita oraz zmienna

wyrażenia całkowita oraz zmienna

łańcuchowa i wartość wyrażenia znakowa

łańcuchowa i wartość wyrażenia znakowa

background image

Instrukcja złożona

Instrukcja złożona

powoduje, że grupa instrukcji jest

powoduje, że grupa instrukcji jest

uznawana przez PASCAL za jedną

uznawana przez PASCAL za jedną

postać ogólna

postać ogólna

BEGIN

BEGIN

instrukcja1; instrukcja2;..instrukcja n;

instrukcja1; instrukcja2;..instrukcja n;

END;

END;

background image

Instrukcja warunkowa

Instrukcja warunkowa

pozwala podejmować w programie decyzje

pozwala podejmować w programie decyzje

postać skrócona

postać skrócona

IF

IF

warunek

warunek

THEN

THEN

instrukcja;

instrukcja;

warunek

warunek

– wyrażenie typu BOOLEAN

– wyrażenie typu BOOLEAN

instrukcja – dowolna instrukcja języka

instrukcja – dowolna instrukcja języka

PASCAL (tylko jedna!)

PASCAL (tylko jedna!)

Jeżeli

Jeżeli

warunek

warunek

ma wartość TRUE, to wykona

ma wartość TRUE, to wykona

się instrukcja, w przeciwnym razie

się instrukcja, w przeciwnym razie

instrukcja zostanie pominięta

instrukcja zostanie pominięta

background image

Instrukcja warunkowa

Instrukcja warunkowa

postać pełna

postać pełna

IF warunek THEN instr1 ELSE instr2;

IF warunek THEN instr1 ELSE instr2;

Jeżeli

Jeżeli

warunek

warunek

ma wartość TRUE, to

ma wartość TRUE, to

wykona się instr1, w przeciwnym

wykona się instr1, w przeciwnym

wypadku wykona się instr2

wypadku wykona się instr2


Document Outline


Wyszukiwarka

Podobne podstrony:
PAS1-domowa-MiBM, nauka, PW, sem 3, PAS, PAS 1
pas1
cw07 pas1
PAS1-domowa-MiBM, nauka, PW, sem 3, PAS, PAS 1
Zgarniarka pas1
Secrets From The Pas1

więcej podobnych podstron