• Nie Znaleziono Wyników

Informatyka Nr 8; Organ Komitetu Naukowo-Technicznego NOT ds. Informatyki - Digital Library of the Silesian University of Technology

N/A
N/A
Protected

Academic year: 2022

Share "Informatyka Nr 8; Organ Komitetu Naukowo-Technicznego NOT ds. Informatyki - Digital Library of the Silesian University of Technology"

Copied!
36
0
0

Pełen tekst

(1)

G rafika w Turbo Pascalu

Prolog w bazach danych

Cykl o języku C

(2)

N r 8

M iesię cz n ik Rok X X I I

S ierp ień 1987

O rgan K o m itetu

N & akow o-TeA hnicznego N O T dg. In fo r m a ty k i«

K O L E G IU M R E D A K C Y JN E :

M g r J a r o s ła w D E M IN E T , d r ln±.

W a c ła w IS Z K O W S K I, m g r T e re s a JA B Ł O Ń S K A ( s e k r e ta r z r e d a k c ji) , W ła- d y * la w K L E P A C Z ( r e d a k to r n a c z e ln y ), dr I n t . M a re k M A C H U R A , M a rla P A W ­ LAK. ( s e k r e ta r z r e d a k c ji) , d r I n i . W ik ­ to r R Z E C Z K O W S K I, m g r in ż . J a n R Y Ż K O , m g r „ H a n n a W Ł O D A R S K A , d r ln i . J a n u s z Z A L E W S K I (z a stę p c a r e ­ d a k to r a n a c z e ln e g o )

P R Z E W O D N IC Z Ą C Y R A D Y P R O G R A M O W E J:

P ro f . d r b a b . J u liu s z L e c h K u lik o w s k i M a te ria łó w n ie z a m ó w io n y c h r e d a k c j a a l e z w ru e a

R e d a k c ja : 00-517 W a rs z a w a , u l. M ic k ie ­ w ic z a 18 m . 17, t e l. 39-11-34

Ż a k i. G ra f, „ T a m k a ” . Z a n i. 0483-1300/87.

O b j. 4,0 a r k . d r u k . N a k ia d 8200 egz. K-79.

IS S N ei4!-S5S3, IN D E K S S łlH C e n a e g z e m p la rz a 150 zł P r e n u m e r a t a r o c z n a 1800 zł

S WYDAWNICTWO G

I SIGMA I

00-950 Warszawa skrytka pocztowa 1004

uf. Biała 4

W N U M ER ZE: Strona

Z a s to s o w a n ie P r o lo g u w b a z a c h d a n y c h (1)

W ło d z im ie r z G r u d z iń s k i 1

P o d s ta w y g r a f ik i w ję z y k u T u r b o P a s c a l (1). P r z e g lą d ś r o d k ó w g r a f ic z ­ n y c h

J a n B ie le c k i 5

P o z a p r o g r a m o w a n ie w ie lk o s k a lo w e — k o le jn e w y z w a n ia d la in ż y n ie rii o p r o g r a m o w a n ia (2)

M a r y M . S h a w 8

G ło so w e w p r o w a d z a n ie in f o r m a c ji do k o m p u t e r a (2)

R y s z a r d T a d e u s ie w ic z 12

S t r u k t u r a s y s te m u o p e ra c y jn e g o P C -D O S (2)

A n d r z e j R a z n o w ie c k i, A n n a S y je r t, J a n u s z Z a le w s k i (o p ra ć .) 1(5 J ę z y k C — d e fin io w a n ie f u n k c j i ze z m ie n n ą lic z b ą a r g u m e n tó w

J a n B ie le c k i 19

N o r m a A N S I ję z y k a C

o p ra ć . M . K u c 20

R E C E N Z JE

D ru g ie w e jśę ie ' C o d d a

Z E Ś W IA T A

P r o g r a m o w a n ie w A d zie ro z p r o s z o n y c h s y s te m ó w d o c e lo w y c h P ie r w s z y m ik r o k o m p u te r z m ik r o p r o c e s o r e m 80386

P O G L Ą D Y

L ogo S in c la ir a i jeg o m o d y f ik a c je — p rz y c z y n e k do d y s k u s ji o ja k o ś c i p o z a s p r z ę to w e j b a z y s z k o ln e j e d u k a c j i in f o r m a ty c z n e j

T E R M IN O L O G IA

23

31

W N A JB L IŻ S Z Y C H N U M E R A C H :

• G e rh a rd G oos o p r o d u k c ji o p r o g ra m o w a n ia

• P i o t r Z ie lc z y ń s k i o s y s te m ie M U L T IC O M P d o ro z w ią z y w a n ia z ;id a ń m e to d ą p r z e ­ s z u k iw a n ia d rz e w

• S ta n is ła w a O sso w sk a o z a s a d z ie d z ia ła n ia i s p o s o b ie u ż y tk o w a n ia W ordstar,-» 3.30

• D a n u ta G ra b o w ic z o w p r o w a d z e n iu d o p r o g r a m o w a n ia w ję z y k u a s e m b l e r a IB M PC

• J a n B ie le c k i o w y k r e ś la n iu p o d s ta w o w y c h o b ie k tó w g r a fic z n y c h w ję z y k u C

• M a riu s z K u c , o k o n w e r s ji k o d o w a n ia w Ję z y k u A da

• Z b ig n ie w S z k a r a d n ik o p ro c e so rz e N o v ix NC 400

(3)

W ŁODZIM IERZ G RUDZIŃ I n sty tu t In fo rm aty k i U n iw e r sy te t W arszaw ski

r. m r r w

p o l s k i e:/

T O W A R Z Y S T W O I N F O R M A T Y C Z N E

— -

P ie r w s z a w e r s ja r e f e r a t u z o s ta ła p r z e d s ta w io n a p o d ­ c zas S z k o ły J e s ie n n e j P T I „"W spółczesne k i e r u n k i r o z w o ju i n f o r m a t y k i ” M rą g o w o , 3—7 lis to p a d a 198G r.

Zastosowanie Prologu w bazach danych (1)

W o s ta tn ic h la ta c h n a s t ą p ił sz y b k i ro z w ó j k o m p u te r y z a ­ c ji ró ż n y c h d z ie d z in d z ia ła ln o ś c i g o s p o d a rc z e j, a d m i n is t r a ­ c y jn e j, d y d a k ty c z n e j, .w o jsk o w e j i n a u k o w e j. N o w e p o ­ tr z e b y u ż y tk o w n ik ó w o r a z ro z m a ito ś ć o fe ro w a n e g o s p r z ę tu s p o w o d o w a ły w z ro s t w y m a g a ń s ta w ia n y c h o p r o g r a m o w a ­ n iu . D o ty c z y to ta k ż e s y s te m ó w b a z d a n y c h c o ra z częściej s to s o w a n y c h n ie ty lk o do tr a d y c y jn i e p o d e jm o w a n e g o p r z e ­ tw a r z a n ia d a n y c h , le c z ta k ż e do w s p o m a g a n ia p r o je k to w a ­ n ia , a u to m a ty z a c ji p r a c b iu r o w y c h , w s y s te m a c h e k s p e r to ­ w y c h (ang. e x p e r t sy s te m s ) itp . P o p ie r w s z y m o k re s ie ro z ­ w o ju s y s te m ó w b a z d a n y c h , w tr a k c ie k tó re g o z a s a d n 'c z o u p o ra n o się z p ro b le m a m i s p r a w n e g o z a rz ą d z a n ia d u ż y m i z b io ra m i d a n y c h , e f e k ty w n e j r e a liz a c ji ż ą d a ń u ż y tk o w n i­

k ó w , n ie z a w o d n o ś c i o r a z o c h ro n y d u ż y c h b a z d a n y c h , o b e c ­ n ie p o s z u k u je się p rz e d e w s z y s tk im le p s z y c h sp o so b ó w m o ­ d e lo w a n ia ś w ia ta rz e c z y w is te g o o ra z z w ię k s z e n ia „ in te lig e n ­ c ji” s y s te m ó w z a r z ą d z a n ia b a z a m i d a n y c h . D o n o w y c h w y ­ m a g a ń s ta w ia n y c h p rz e d ty m i s y s te m a m i n a le ż ą m ięd zy in n y m i:

— z a p e w n ie n ie o b słu g i o b ie k tó w o z ło ż o n e j s t r u k tu r z e (szczeg ó ln ie u tr u d n io n e w s y s te m a c h re la c y jn y c h ) ,

— o b s łu g a n ie s f o r m a to w a n e j in f o rm a c ji, n p. te k s tó w , o b r a ­ zów , maV>, s y g n a łó w d ź w ię k o w y c h ,

— p rz e c h o w y w a n ie p e w n e j w ie d z y o m o d e lo w a n y m św le c ie w y ra ż o n e j n ie ty lk o za p o m o c ą f a k tó w (d a n y c h ), le c z ta k ż e w p o s ta c i o g ó ln y c h re g u ł,

— u m ie ję tn o ś ć p r z y n a j m n ie j p ro s te g o w n io s k o w a n ia o p a r ­ teg o n a z a p a m ię ta n y c h re g u ła c h i fa k ta c h .

W iele p ro b le m ó w z w ią z a n y c h z d w o m a o s ta tn im i z a g a d ­ n ie n ia m i w c h o d z i w z a k r e s b a d a ń n a d s z tu c z n ą in te lig e n ­ c ją . J e d n y m z n a jb a r d z ie j o b ie c u ją c y c h p o d e jś ć do ic h ro z ­ w ią z a n ia je s t w y k o r z y s ta n ie w y n ik ó w o r a z n a r z ę d z i s to s o ­ w a n y c h w n o w e j, p o w s ta łe j w p o c z ą tk a c h l a t s ie d e m d z ie ­ s ią ty c h d z ie d z in ie in f o r m a ty k i, z w a n e j p r o g r a m o w a n ie m w l o g i c e 1). Z a in te r e s o w a n ie p r o g r a m o w a n ie m w lo g ic e w z ro ­ sło g w a łto w n ie w c ią g u o s ta tn ic h k ilk u la t, z w ła sz c z a po p rz y ję c iu go za p o d s ta w ę o p r o g r a m o w a n ia s y s te m o w e g o w ja p o ń s k im p r o je k c ie o p r a c o w a n ia tz w . p ią t e j g e n e r a c ji k o m p u te ró w .

C e le m teg o a r t y k u ł u je s t p r z e d s ta w ie n ie d o ty c h c z a s o sią g ­ n ię ty c h w y n ik ó w z a s to s o w a n ia p ro g r a m o w a n ia w logice, a w sz c z e g ó ln o śc i ję z y k a P ro lo g , w s y s te m a c h b a z d a n y c h . M ó w iąc o b a z a c h d a n y c h a u t o r m a n a m y ś li re la c y jn y m o d e l d a n y c h i r e l a c y jn e s y s te m y b a z d a n y c h , choć w ię k -

■) T a k ie s f o r m u ło w a n ie p o z o s ta w io n o n a w y r a ź n e ż y c z e n ie A u to r a

— p o w in n o b y ć „ p r o g ra m o w a n ie w J ę z y k u lo g ik i” lu b „ p r o g r a ­ m o w a n ie lo g ic z n e ” — p . d y s k u s ja w r u b r y c e te r m in o lo g ic z n e j na s tr . 31 (p r/.y p . re d .).

M g r W Ł O D Z IM IE R Z G R U D Z IŃ S K I u k o ń c z y ł w 1074 r. W y d z ia ł M a te m a ­ t y k i i M e c h a n ik i U n iw e r s y te tu W a r ­ sz a w sk ie g o . O b e c n ie p r a c u je w O ś ro d k u O b lic z e n io w y m I n s t y t u t u I n f o r m a ty k i U n iw e r s y te tu W a rsz a w ­ sk ie g o . Z a jm u je się p r o b l e m a t y k i z w ią z a n ą z s y s te m a m i b a z d a n y c h i p ro g ra m o w a n ie m w lo g ic e .

szo ść ro z w a ż a ń o d n o si się ró w n ie ż do in n y c h m o d e li i s y ­ s te m ó w . N a le ż y p o d k re ś lić , że p ro w a d z o n e do t e j p o ry p r a c e m a ją c h a r a k t e r b a d a w c z y i n a p r a k ty c z n e ( k o m e r­

c y jn e ) z a s to s o w a n ia tr z e b a b ę d z ie je s z c z e tr o c h ę p o c z e k a ć . A r ty k u ł je s t o p is o w y i p rz e g lą d o w y , d la te g o p r e z e n ta c ja te m a tu n ie je s t fo r m a ln a .

P R O G R A M O W A N IE W LOG ICE

P rz e z w ie le l a t lo g ik a p ie rw s z e g o r z ę d u b y ła s to s o w a n a w b a d a n ia c h n a d s z tu c z n ą in te lig e n c ją ja k o f o r m a liz m do r e p r e z e n ta c j i w ie d z y i ro z w ią z y w a n ia p ro b le m ó w . R ó w n ie ż w b a z a c h d a n y c h , z w ła sz c z a w te o r ii r e la c y jn y c h b a z d a ­ n y c h , sto s o w a n o lo g ik ę w p r a c a c h d o ty c z ą c y c h .ję z y k ó w z a ­ p y ta ń , w y z n a c z a n ia o d p o w ie d z i n a z a p y ta n ia , p r o je k to w a ­ n ia s c h e m a tó w b a z d a n y c h , tw o r z e n ia i u tr z y m y w a n ia w ię - ' z ó w in te g ra ln o ś c io w y c h itp . [21], [5], R . K o w a ls k i [14] w y ­

k a z a ł, że lo g ik ę m o ż n a tr a k to w a ć ja k ję z y k p r o g r a m o w a ­ n ia . P r o g r a m y m o g ą b y ć w y ra ż o n e ja k o z d a n ia lo g ik i p ie rw s z e g o rz ę d u , u z u p e łn io n e o d p o w ie d n im i in f o r m a c ja m i o p is u ją c y m i s te r o w a n ie , tj . sp o só b w y k o n a n ia p r o g r a m u . O b lic z e n ie p o le g a w ó w c z a s n a k ie r o w a n y m p o s z u k iw a n iu d o w o d u .

K a ż d e z d a n ie lo g ik i p ie rw s z e g o rz ę d u m oże b y ć p r z e ­ k s z ta łc o n e n a z b ió r k la u z u l p o s ta c i:

A ł V . . . V Aa * B A, . . . , Dm (1)

g d z ie V o ra z , (p rz e c in e k ) o z n a c z a ją o d p o w ie d n io a l t e r n a t y ­ w ę i k o n iu n k c ję , a <- im p lik a c ję . Ai i Bj (i = 1 ,..., n , j ==

= 1,..., m ) są l i te r a ła m i p o s ta c i p ( tł , ..., t k), g d z ie p je s t n a z w ą p r e d y k a t u o k r o tn o ś c i k, a k a ż d y t e r m ti m o że by ć s ta lą , z m ie n n ą lu b f u n k to r e m , po k tó r y m n a s t ę p u je li s ta te r m ó w (a rg u m e n tó w ). P r z y k ł a d a m i lite r a łó w są:

p a r a (1,2) x y z (X ,Y,Z) lis ta (P ocz.K on)

ró w n a n ie (X , p lu s (1, m in u s (5,a)))

~ a b (a,b), p rz y c z y m o z n a c z a z a p rz e c z e n ie .

J ę z y k p r o g r a m o w a n ia w lo g ic e t r a k t u j e się c z a s a m i ja k o p o d z b ió r lo g ik i p ie rw s z e g o rz ę d u , z w a n y k la u z u la m i H o rn a . K la u z u le H o r n a m a ją p o s ta ć im p lik a c ji:

A — Bm (2)

g d z ie Bi są n a z y w a n e p r z e s ła n k a m i, a A w n io s k ie m . J e ś li b r a k je s t p r z e s ła n e k , to k la u z u la (2) m a p o s ta ć s tw ie r d z e ­ n ia A (tj. z d a n ia A a je ś li n ie m a w n io s k u — to m a p o s ta ć z a p rz e c z e n ia ~ ( B , , ..., B n) (z d a n ie +- B l f ..., Bn).

M o żn a p o w ie d z ie ć , że p r e d y k a t o d p o w ia d a p e w n e j r e l a c ji z a c h o d z ą c e j m ię d z y o b ie k ta m i p e w n e g o ś w ia ta . P r z y p o r z ą d ­ k o w a n ie o b ie k to m n a z w p r e d y k a tó w , f u n k to r ó w , s ta ły c h i z m ie n n y c h w y z n a c z a in te r p r e t a c ję z d a n ia (k la u z u li) lo g ik i.

O z n a c z e n iu k la u z u li m o ż n a m ó w ić d o p ie ro p o u s ta le n iu o d p o w ie d n ie j i n t e r p r e ta c ji .

Z a k ła d a się ró w n ie ż , że w s z y s tk ie z m ie n n e w y s tę p u ją c e w k la u z u la c h są w z a s ię g u k w a n t y f i k a t o r a ; o g ó ln eg o . N a p rz y k ła d , je ś li p r e d y k a to m i z m ie n n e j X n a d a s ię n a t u ­ r a l n ą in t e r p r e ta c ję , to k la u z u la :

ata (X ) V biega (X ) «— ptak (X ) (3)

o z n a c z a , że w s z y s tk ie p ta k i p o tr a f ią la t a ć lu b b ie g a ć . W e w s z y s tk ic h p r z y k ła d a c h b ę d z ie s to s o w a n a , p r z y j ę ta n a ogół w im p le m e n ta c ja c h P ro lo g u , k o n w e n c ja ro z p o c z y n a n ia n a z w z m ie n n y c h d u ż ą li te r ą , a s ta ły c h , p r e d y k a tó w i f u n k ­ to r ó w — m a łą .

J e ś li d a n a je s t i n t e r p r e ta c ja , to m o ż n a s tw ie rd z ić , czy s p e łn ia o n a p e w ie n z b ió r k la u z u l. D o k o n u je się te g o w y -

(4)

iżn ac zając w a rto ś c i k la u z u l, k tó r y m i m o g ą b y ć „ p r a w d a '’

lu b „ fa łs z ” . M ó w im y ró w n ie ż , że k la u z u l a w w y n ik a ze z b io r u k la u z u l W , je ś li k a ż d a in te r p r e t a c j a s p e łn ia ją c a W s p e łn ia r ó w n ie ż w . N a p r z y k ła d ze z b io r u z d a ń :

{ptak (orzeł), ~ biega (orzeł)}

i k la u z u l i (3) w y n ik a : la ta (orzeł)

D o fo r m a ln e g o w n io s k o w a n ia ,, u m o ż liw ia ją c e g o w y p r o w a ­ d z a n ie z d a ń ze z b io r u in n y c h z d a ń je d y n ie n a p o d s ta w ie ic h s y n ta k ty c z n e j p o s ta c i, s łu ż ą r e g u ły w n io s k o w a n ia . D o n a jb a r d z ie j z n a n y c h n a le ż y r e g u ła m o d u s p o n e n s i p r a w a D e M o rg a n a . J ę z y k i p r o g r a m o w a n ia w lo g ic e , k o r z y s ta ją z a z w y c z a j z je d n e j r e g u ły w n io s k o w a n ia , z w a n e j r e z o lu ­ c ją (19].

R e g u ła r e z o lu c ji m ó w i, że z d w ó c h z d a ń p o s ta c i:

~ X V Y (czyli Y *— X ) i X V Z w y n ik a z d a n ie :

Y .V tZ

W a rto p r z y jr z e ć się n a jp r o s ts z y m i sz c z e g ó ln ie i n t e r e s u j ą ­ c y m p r z y p a d k o m z a s to s o w a n ia t e j re g u ły .

1. Z d w ó c h k la u z u l:

z a p rz e c z e n ia S I:

o r a z im p lik a c ji S2: A <- B

z a s to s o w a n ie re z o lu c ji w y p ro w a d z i n o w ą k la u z u lę : s:

2. Z k la u z u l:

z a p rz e c z e n ia S I : ~ A s tw ie r d z e n ia S2: A

o tr z y m a m y k la u z u lę p u s tą , co o z n a c z a , że d o p ro w a d z o n o do sp rz e c z n o śc i.

O c z y w iśc ie w o b u p r z y p a d k a c h p r e d y k a t y A w S I i S2 m u s z ą b y ć id e n ty c z n e .

P r z y p a d e k 2 je s t z n a n y w m a te m a ty c e ja k o s p r o w a d z e ­ n ie do s p rz e c z n o ś c i i ta k w ła ś n ie s to s u je się re z o lu c ję w ję z y k a c h p r o g r a m o w a n ia w lo g ice. Z a te m , c h c ą c w y k a z a ć , że k la u z u la w w y n ik a z W , n a le ż y w z ią ć z a p rz e c z e n ie w i z n a le ź ć w z b io rz e W k la u z u lę , k tó r e j w n io s e k je s t id e n ­ ty c z n y z w lu b d a się do ta k ie g o s p r o w a d z ić za p o m o c ą o d p o w ie d n ie g o p r z e k s z ta łc e n ia . P r z e k s z ta łc e n ie to p o le g a n a z n a le z ie n iu tz w . u n if ik a t o r a g łó w n e g o , tj . w ła śc iw e g o p o d s ta w ie n ia n a z m ie n n e . I s tn ie je a lg o r y tm , z w a n y a lg o ­ r y t m e m u n if ik a c ji lu b u z g a d n ia n ia , k tó r y d la k a ż d e g o s k o ń ­ czo n eg o z b io ru w y r a ż e ń z n a jd u j e jeg o u n i f i k a t o r g łó w n y lu b s y g n a liz u je , że je s t to n ie m o ż liw e . Z jeg o p o m o c ą m o ż­

n a r ó w n ie ż u z y s k a ć cią g k o le jn o z n a jd o w a n y c h u n if ik a to - r ó w g łó w n y c h . N a s tę p n ie n a le ż y z a s to s o w a ć r e g u łę r e z o ­ lu c ji do t e j w y b r a n e j k la u z u li i d o ~ w . O tr z y m a n a k l a u ­ z u la je s t d o d a w a n a do z b io r u W i p o w y ż sz y p ro c e s p o ­ w ta r z a się d o p ó ty , d o p ó k i n ie o tr z y m a się k la u z u l i p u s te j lu b s tw ie r d z i n ie m o ż liw o ś ć z n a le z ie n ia o d p o w ie d n ie j k la u z u li w W. W y n ik a s tą d , że ta m e to d a p o z w a la n ie ty lk o w y ­ k a z a ć sp rz e c z n o ś ć p e w n e g o z b io r u k la u z u l, c z y li o d p o w ie ­ d zieć n a p y ta n ie o p ra w d z iw o ś ć w , le c z ta k ż e z n a le ź ć o b ie k ­ t y p o w o d u ją c e tę s p rz e c z n o ść . O c z y w iśc ie n a le ż y p r z y ją ć p e w ie n sp o s ó b w y b o r u k la u z u l z e z b io r u W .

N a s tę p u ją c y p r z y k ł a d il u s t r u j e s p o s ó b u ż y c ia t e j m e to d y do f o r m a ln e g o w n io s k o w a n ia . N ie c h b ę d ą d a n e k la u z u le : o jciec (ja n ,p io tr)

o jciec (p io tr,a n n a ) o jciec (ja n ,e w a )

o p is u ją c e p e w n ą g e n e a lo g ic z n ą b a z ę d a n y c h .

M o ż n a w ó w c z a s z a d a w a ć n a s tę p u ją c e r o d z a je p y ta ń : 1. C zy J a n je s t o jc e m P io t r a ?

A b y u z y s k a ć o d p o w ie d ź n a to p y ta n ie n a le ż y s p r a w d z ić , czy z p o w y ż sz e g o z b io r u k la u z u l w y n ik a :

~ o j c i e c (ja n ,p io tr )

S to s u ją c m e to d ę re z o lu c ji o tr z y m u je się n a ty c h m ia s t k la u ­ z u lę p u s tą . T o z n a c z y , że p o w y ż sz a k la u z u la je s t s p rz e c z n a ze z b io r e m d a n y c h k la u z u l, czy li o d p o w ie d z ią n a p y ta n ie je s t „ ta k ”.

2. K to je s t o jc e m P io tr a ?

T y m r a z e m b a d a s ię w y n ik a n ie k la u z u li:

^ o j c i e c (X ,p io tr)

g d z ie X o z n a c z a z m ie n n ą . S p rz e c z n o ś ć o s ią g n ie się n a t y c h ­ m ia s t, g d y p r z y ję ty m p o d s ta w ie n ie m je s t X /ja n (tj. z a -

m ia s t X p o ^ ^ % J w A z a te m o d p o w ie d ź n a p o w y ż sz e p y ta n i e b r z r a , a ^ o f i g r t ó P i o t r a je s t J a n . J e s t to je d y n e ro z w ią z a n ie .5«

3. J a k i e są i'ló|lliB ., w s z y s tk ic h o jc ó w i d ziec i?

T o p y ta n ie m a ’frosta'c:'

* - o jc ie c (X,Y)

co je s t ró w n o w a ż n e ^ o j c i e c (X,Y).

P r o g r a m o w a n iu w lo g ic e je s t p o ś w ię c o n a k s ią ż k a [7], a b a r d z ie j te o r e ty c z n e p o d e jś c ie je s t z a w a r te w [17].

P R O G R A M O W A N IE W L O G IC E A B A Z Y D A N Y C H R e la c y jn y m o d e l d a n y c h o ra z r e la c y jn e ję z y k i z a p y ta ń s ta n o w ią p o d z b ió r lo g ik i p ie rw s z e g o rz ę d u . C h a r a k te r y s t y c z ­ n ą c e c h ą b a z d a n y c h je s t to , że z a w ie r a j ą o n e:

— d u ż y z b ió r n ie z in te r p r e to w a n y c h d a n y c h , p rz e c h o w y ­ w a n y c h w r e k o r d a c h i p lik a c h w r a z ze s t r u k t u r a m i p o ­ m o c n ic z y m i, n p . in d e k s a m i,

— s c h e m a t b a z y d a n y c h (n a og ó ł z a jm u ją c y z n a c z n ie m n ie j p a m ię c i), r e p r e z e n tu ją c y p e w n ą w ie d z ę o m o d e lo w a n y m ś w ie c ie (tzw . m e ta d a n e ).

W y o d rę b n ie n ie s c h e m a tu je s t p o d y k to w a n e tr o s k ą o n ie ­ z a le ż n o ść d a n y c h o d ic h o p is u o ra z o e fe k ty w n o ś ć w y s z u ­ k iw a n ia . S c h e m a t z a w ie r a p e w ie n r o d z a j r e g u ł d e d u k c y j­

n y c h , z w a n y c h p e r s p e k ty w a m i (an g . v i e w s ) £), k tó r e u ł a t ­ w ia ją u ż y tk o w n ik o m in t e r p r e to w a n ie d a n y c h i w y p r o w a - | d z a n ie z n ic h n o w y c h in f o rm a c ji. S t r u k t u r y d a n y c h i w ię ­ zy in te g ra ln o ś c io w e s c h e m a tu p o ję c io w e g o z a p e w n ia ją w ła ­ ś c iw e s t e r o w a n ie o p e r a c ja m i w b a z ie d a n y c h . K a ż d a z f u n k c j i s y s te m u z a r z ą d z a n ia b a z a m i d a n y c h je s t o p is y ­ w a n a in n y m ję z y k ie m (ję z y k i d e f in ic ji d a n y c h , ję z y k i z a ­ p y ta ń , itd .). Z a im p le m e n to w a n ie o g ó ln y c h r e g u ł d e d u k c y j­

n y c h o r a z s p r a w d z a n ie w ię z ó w in te g ra ln o ś c io w y c h w y m a g a p is a n ia s p e c ja ln y c h p r o g r a m ó w w m a c ie r z y s ty m ję z y k u p r o g r a m o w a n ia s y s te m u , p o n ie w a ż a k tu a l n ie s to s o w a n e j ę ­ z y k i z a p y ta ń (ję z y k i m a n ip u la c ji d a n y m i) m a ją z b y t o g r a ­ n ic z o n e m o żliw o ści.

W s y s te m a c h b a z d a n y c h z a k ła d a się, że r o z m ia r y s c h e ­ m a t u są n ie w ie lk ie — n ie w ie lk a lic z b a m e ta d a n y c h u m o ż ­ liw ia z a r z ą d z a n ie d u ż y m i z b io r a m i d a n y c h . C o ra z c z ęściej w e w s p ó łc z e s n y c h z a s to s o w a n ia c h p o tr z e b n a je s t d u ż a lic z b a m e ta d a n y c h . C o ra z czę śc ie j te ż m e c h a n iz m y s to s o w a n e w tr a d y c y jn y c h s y s te m a c h b a z d a n y c h o k a z u ją się n ie w y s t a r ­ c z a ją c e . N a to m ia s t, u ż y w a ją c lo g ik i p ie rw s z e g o rz ę d u m o ż ­ n a d a n e , r e g u ły d e d u k c y jn e , w ię z y in te g ra ln o ś c io w e i p r o ­ g r a m y d z ia ła ją c e n a b a z ie d a n y c h w y ra z ić p r e c y z y jn ie i je d n o lic ie za p o m o c ą te g o sa m e g o ję z y k a . Co w ię c e j, je s t to ję z y k d e k la r a ty w n y , tz n . m o ż n a o k re ś lić w n im cel b e z p o d a w a n ia sp o s o b u jeg o o s ią g n ię c ia . Z a n ik a f o r m a ln y p o d z ia ł n a s c h e m a t, d a n e i p r o g r a m y . D u ż ą część d a n y c h m o ż n a o p is a ć za p o m o c ą o g ó ln y c h re g u ł. N a p rz y k ła d , p r z e d s ta w io n ą p o w y ż e j g e n e a lo g ic z n ą b a z ę d a n y c h m o ż n a u z u p e łn ić o re g u łę :

b ra t (X , Y ) f— ojciec (Z, X ) ^o jc ie c ( Z ,Y ) , X ^ Y (4) s tw ie r d z a ją c ą , że X je s t b r a t e m Y, je ś li X i Y m a ją w s p ó l­

n e g o o jc a . C h c ą c się d o w ie d z ie ć , c z y im b r a t e m je s t P io tr, n a le ż y z a d a ć p y ta n ie :

— b r a t (p io tr,X )

O d p o w ie d z ią je s t e w a , m im o iż w b a z ie d a n y c h n ie w y ­ s t ę p u je ja w n ie in f o r m a c ja :

b r a t (p io tr,e w a )

T ego ro d z a ju re g u ły s ta n o w ią u o g ó ln ie n ie p e r s p e k ty w z m o d e lu re la c y jn e g o , g d y ż m o ż n a w n ic h k o rz y s ta ć z r e - k u r e n c ji, n p . w re g u le :

p r z o d e k (X,Y) -i- o jc ie c (X,Y)

p rz o d e k (X,Y) o jciec (X ,Z), p r z o d e k (Z,Y)

o ra z p o s łu g iw a ć się o b ie k ta m i o z ło ż o n e j s t r u k tu r z e , n p . w re g u le z n a jd o w a n ia m ie s z k a ń c ó w O p o la o n a z w is k u id e n ty c z n y m z n a z w ą u lic y , n a k tó r e j m ie s z k a ją :

im ie n n ik (X ) o p o la n in (X, a d r e s (X ,N r,K o d ))

Z a p o m o c ą r e g u ł d e d u k c y jn y c h m o ż n a z a p is y w a ć n ie ty lk o p e r s p e k ty w y , le c z ta k ż e w ię z y in te g ra ln o ś c io w e , n p . f a k t,

!) W te r m in o lo g ii A N S J/S P A R C o d p o w ia d a im p o ję c ie s c h e m a tu z e w n ę tr z n e g o (an g . e x t e r n a l s c h e m a ) — p rz y p . a u t.

(5)

że k a ż d y c z ło w ie k m a ty lk o je d n e g o .o jc a , m o ż n a w y ra z ić za p o m o c ą re g u ły :

«— ojciec ( Y , X ) , ojciec (Z , X ) , Z ^ Y

R e g u ły d e d u k c y jn e k a ż d e g o r o d z a ju m o g ą b y ć ró w n ie ż s to s o w a n e do o p ty m a liz a c ji w y k o n a n ia z a p y ta ń . T e n r o d z a j o p ty m a liz a c ji, z w a n y c z a sa m i o p ty m a liz a c ją s e m a n ty c z n ą [8, 13], je s t tr u d n y do p r z e p r o w a d z e n ia w tr a d y c y jn y c h s y s te m a c h b a z d a n y c h .

J ę z y k z a w ie r a ją c y r e k u r e n c ję m a w ię k s z ą siłę e k s p r e s ji n iż t r a d y c y jn e ję z y k i z a p y ta ń s to s o w a n e w s y s te m a c h b a z d a n y c h . P o w s ta j e je d n a k n ie ro z w ią z a n y ja k d o tą d p ro b le m e fe k ty w n e g o w y k o n a n ia z a p y ta ń r e k u r e n c y jn y c h . P r o p o z y ­ cje r o z w ią z a ń d la ró ż n y c h k la s z a p y ta ń r e k u r e n c y jn y c h m o ż n a z n a le ź ć n p . w [6, 22, 9], a p rz e g lą d d o ty c h c z a s o w y c h w y n ik ó w d o k o n a n o w {1], P o s łu g u ją c się lo g ik ą p ie rw s z e g o rz ę d u m o ż n a r ó w n ie ż z n a c z n ie ła tw ie j b a d a ć , a n a s tę p n ie

— u ż y w a ją c ję z y k a p r o g r a m o w a n ia w lo g ic e — im p le m e n ­ to w a ć b a z y d a n y c h z n ie p e łn ą in f o r m a c ją lu b w a r to ś c ia m i n ij a k im i (an g . n u li v a lu e s ).

U ż y c ie w b a z ie d a n y c h o g ó ln y c h re g u ł z a m ia s t p o je d y n ­ czy ch d a n y c h z n a c z n ie u ła tw ia w p r o w a d z a n ie i a k tu a l iz a ­ c ję in f o r m a c ji o r a z o szc z ę d z a m ie js c e w p a m ię c i. B azy d a n y c h z a w ie r a ją c e ta k ie re g u ły n a z y w a się często d e d u k ­ c y jn y m i b a z a m i d a n y c h . M o żn a w n ic h u z y s k iw a ć n o w e in f o r m a c je z d a n y c h ja w n ie z a p is a n y c h w p a m ię c i. P u b li­

k a c ja {5] s ta n o w i d o s k o n a ły p rz e g lą d te m a ty k i z w ią z a n e j z z a s to s o w a n ie m lo g ik i w b a z a c h d a n y c h i d e d u k c y jn y m i b a z a m i d a n y c h , o ra z z a w ie r a b o g a tą b ib lio g r a fię . T e o re ­ ty c z n e p o d s ta w y ta k ic h s y s te m ó w p rz e d s ta w io n o w [18],

P o tr z e b a ro z s z e rz e n ia m o ż liw o śc i s y s te m ó w b a z d a n y c h p r z e s ta j e ju ż b u d z ić w ą tp liw o ś c i z a ró w n o w ś ró d ic h t w ó r ­ ców , j a k i u ż y tk o w n ik ó w . D y s k u to w a n e są ro z m a ite s p o ­ so b y r e a liz a c ji ta k ie g o u le p s z o n e g o s y s te m u . J e d n o z b a d a ­ n y c h p o d e jś ć p o le g a n a w b u d o w y w a n iu n o w y c h m e c h a n i­

z m ó w w ju ż is tn ie ją c e s y s te m y . N ie o m a w ia ją c t u t a j teg o p o d e jś c ia , w a r to w s p o m n ie ć je d y n ie , że p o w s ta ły p ro p o ­

z y c je r o z s z e rz e n ia a lg e b r y r e la c ji [23], p o d e jm o w a n e są p r ó ­ b y w b u d o w a n ia m e c h a n iz m ó w w n io s k o w a n ia w s y s te m r e ­ la c y jn y IN G R E S [10, 20], z a p ro p o n o w a n o n o w ą o p e r a c ję u m o ż liw ia ją c ą s to s o w a n ie r e k u r e n c ji [ 11], a ta k ż e o p r a c o w a ­ n o k o n c e p c ję s y s te m u , k tó r y s p e łn ia łb y w s z y s tk ie w y m a g a ­ n ia w y m ie n io n e n a w s tę p ie [4],

D a lsz a czę ść a r t y k u ł u je s t p o ś w ię c o n a s p o s o b o m ro z s z e rz e ­ n ia m o ż liw o śc i s y s te m u b a z y d a n y c h p rz e z z a s to s o w a n ie ję z y k a p r o g r a m o w a n ia w lo g ic e — P ro lo g u .

W PR O W A D Z EN IE DO PR O LO G U

P ro lo g (fra n c , p r o g r a m m a tio n e n lo g iq u e ) z o s ta ł o p r a c o ­ w a n y w 1972 r o k u w M a r s y lii p rz e z z e sp ó ł p o d k i e r u n ­ k ie m A. C o lm e r a u e r a . J e s t o p a r t y n a k o n c e p c ji p r o g r a ­ m o w a n ia w lo g ic e i u ż y c iu m e to d y re z o lu c ji. D o c h w ili o b e c n e j p o w s ta ło w ie le ró ż n y c h w e r s ji i d ia le k tó w P ro lo g u O p ra c o w a n o ró w n ie ż in n e ję z y k i p r o g r a m o w a n ia w logice.

C h o c ia ż P ro lo g je s t ję z y k ie m d o sy ć ro z p o w s z e c h n io n y m i m a s p o ro z a s to s o w a ń , n ie m o ż n a p o w ie d z ie ć , że ju ż o s ią g ­ n ą ł sw ó j k s z t a łt o s ta te c z n y . D o k o n u je się w n im c o ra z to n o w y c h z m ia n i u d o s k o n a le ń , m a ją c y c h z w ię k sz y ć z je d n e j s tr o n y je g o siłę w y ra z u , a z d r u g ie j — e fe k ty w n o ś ć . J e d n ą z p rz y c z y n z m ia n w P ro lo g u są w n io s k i i p o tr z e b y w y ­ n ik łe z p r ó b s to s o w a n ia go w b a z a c h d a n y c h . S to s o w a n a d a le j s k ła d n ia P ro lo g u je s t o p a r t a (za [16]) n a n a jb a r d z ie j p o p u la r n e j jeg o w e r s ji, z n a n e j ja k o P ro lo g -1 0 . Z a im p le m e n ­ to w a ł ją D. H . D. W a r r e n d la k o m p u t e r a D EC -10. W a r t y ­ k u le p rz e d s ta w io n o je d y n ie n a jw a ż n ie js z e ce c h y P ro lo g u . P e łn y o p is ję z y k a m o ż n a z n a le ź ć w [15] (o m ó w io n o t a m o r y g in a ln ą w e r s ję m a r s y ls k ą ) i w [3], M a te r ia ł d la b a r d z ie j z a a w a n s o w a n y c h c z y te ln ik ó w z a w ie r a ją c y n ie b a n a ln e p r z y ­ k ła d y i o p is im p le m e n ta c ji P ro lo g u z n a jd u j e się w [16].

W P r o lo g u n ie is tn ie je p o ję c ie ty p u d a n y c h . M o żn a p o ­ słu g iw a ć się o b ie k ta m i p r o s ty m i i zło ż o n y m i, k tó r y c h o p is y są n a z y w a n e te r m a m i. O b ie k to m p r o s ty m , z a z w y c z a j u to ż ­ s a m ia n y m ze s ta ły m i, n ie p rz y p is u je się ż a d n e j u s ta lo n e j in te r p r e ta c ji , o ile n ie są u ż y te ja k o a r g u m e n ty s ta n d a r d o ­ w y c h o p e r a c ji a r y tm e ty c z n y c h , p o ró w n a n ia lu b w e jś c ia - - w y jś c ia . O b ie k ta m i z ło ż o n y m i są d rz e w a i l i s t y . . T e r m y r e p r e z e n tu ją c e ta k i e o b ie k ty z a p is u je s ię w p o s ta c i n a z w y , z w a n e j f u n k t o r e m , po k tó r e j w n a w ia s ie n a s t ę p u ją te r m y o p is u ją c e s k ła d o w e . P ro lo g u m o ż liw ia s to s o w a n ie d o w o l­

n y c h f u n k t o r ó w ja k o f u n k to r ó w p o z y c y jn y c h (p re fik s o w y c h , in fik s o w y c h lu b p o s tfik s o w y c h ). F u n k to r e m je s t n a p r z y ­ k ła d te r m k r o p k a , k tó r y o d d z ie la e le m e n ty lis ty . L is ty z a ­

p is u je się w p o s ta c i [G ło w a I O gon], g d z ie G ło w a o d p o w ia ­ d a p ie r w s z e m u e le m e n to w i lis ty , a O g o n — re sz c ie . L is t a p u s t a je s t o z n a c z a n a ( ] . O b ie k ty o n ie z n a n e j s t r u k t u r z e są n a z y w a n e z m ie n n y m i, a ic h n a z w y r o z p o c z y n a ją się od d u ż e j lite r y . W tr a k c ie o b lic z e ń z m ie n n a m o ż e z o s ta ć u k o n ­ k r e t n io n a (z w ią z a n a z te r m e m ), w w y n ik u czego o p is r e ­ p r e z e n to w a n e g o p rz e z n ią o b ie k tu s t a je się b a r d z ie j p r a - c y z y jn y . T e r m o r a z z w ią z a n a z n im z m ie n n a są w z a je m n ie n ie o d r ó ż n ia ln e . T a k i t e r m m o że z a w ie r a ć in n e z m ie n n e .

O to k il k a p r z y k ła d ó w te r m ó w w r a z z ic h i n t e r p r e ta c ją : X — w s z y s tk ie ty p y o b ie k tó w ,

[G I 0] — w s z y s tk ie n ie p u s te listy ,

z w ie r z u r (X ,zoo w r o c ła w ,1986) — w s z y s tk ie z w ie r z ę ta u r o ­ d z o n e w e w r o c ła w s k im zoo w 1986 ro k u ,

[A .x] — w s z y s tk ie d w u e le m e n to w e lis ty o d r u g i m e le m e n ­ cie r ó w n y m x ,

[A.A IT ] — w s z y s tk ie , co n a jm n ie j d w u e le m e n to w e , lis ty z id e n ty c z n y m i p ie r w s z y m i d w o m a e le m e n ta m i.

P r o g r a m w P ro lo g u je s t z b io r e m p r o c e d u r z ło ż o n y c h z k la u z u l. K la u z u lę tw o r z y n a g łó w e k i, b y ć m o że p u s ta , tr e ś ć . P r o c e d u r ą n a z y w a się z b ió r k la u z u l, k tó r y c h n a g łó w ­ k i m a ją tę s a m ą n a z w ę i lic z b ę p a r a m e tr ó w . N a g łó w e k k la u z u li je s t o d d z ie la n y o d je j tr e ś c i sy m b o le m :— , a k o ­ n ie c k la u z u li je s t o z n a c z a n y k r o p k ą . P r o c e d u r ą je s t n a p rz y k ła d :

hrat ( X , Y) ojciec (Z , X ) , ojciec (Z , Y ) , X ^ Y . brat ( X , Y ) matka (Z , X ) , matka (Z , Y ) , X ^ Y .

P ie r w s z a z ty c h k la u z u l d o k ła d n ie o d p o w ia d a k la u z u li (4).

K la u z u le o t e j s a m e j n a z w ie i ró ż n e j lic z b ie p a r a m e tr ó w n a le ż ą do ró ż n y c h p r o c e d u r , n p .:

o jciec (X ) ojciec (X,Y).

K a ż d ą k la u z u lę p o s ta c i:

1) q,r,s.

m o ż n a in te r p r e to w a ć n a d w a sp o so b y . P ie r w s z a I n t e r p r e t a ­ c ja , z w a n a d e k la r a ty w n ą lu b p r a g m a ty c z n ą , s tw ie rd z a , że z a c h o d z i p, je ś li z a c h o d z i q, r i s. D ru g a , n a z y w a n a p r o ­ c e d u r a ln ą , m ó w i, że a b y o b lic z y ć p n a le ż y n a j p i e r w o b li­

czyć q , r is (czy li w y w o ła ć t e p ro c e d u r y ). N a p r z y k ła d p r o c e d u r a :

stu d en t (X ) m a tu ra (X ,_), p k teg z (X ,P), P > 1 6 .

d e f i n iu j e s t u d e n ta ja k o p o s ia d a c z a m a tu r y , k tó r y o tr z y m a ł w ię c e j n iż 16 p u n k tó w e g z a m in a c y jn y c h ( i n te r p r e ta c ja d e ­ k la r a ty w n a ) . Z a k ła d a m y , że d r u g i p a r a m e tr p r o c e d u r y m a ­ t u r a o k r e ś la n a z w ę sz k o ły ś r e d n ie j. P o d k r e ś le n ie o z n a c z a

z m ie n n ą a n o n im o w ą . S to s u je się ją w ó w c z a s, g d y p e w n e o b ie k ty n ie są k o n ie c z n e w d a ls z e j fa z ie w y k o n a n ia p r o ­ c e d u ry i n ie m a p o tr z e b y o d w o ły w a n ia się do n ic h . M ożna, ró w n ie ż p o w ie d z ie ć ( i n te r p r e ta c j a p r o c e d u r a ln a ) , że a b y s tw ie rd z ić , czy X je s t s tu d e n te m , n a le ż y s p r a w d z ić , czy u k o ń c z y ł sz k o łę ś r e d n ią , a n a s t ę p n ie o b lic z y ć lic z b ę o tr z y ­ m a n y c h p rz e z n ie g o p u n k tó w i s p r a w d z ić , czy je s t w ię k ­ sza o d 16. J e ś li do t e j p r o c e d u r y d o łą c z y się k la u z u lę : stu d en t (X) :— m atu ra (X ,_), o lim p ijczy k (X).

to do p o p rz e d n ie j d e k la r a ty w n e j i n t e r p r e ta c j i n a le ż y d o d a ć :

„ lu b p o s ia d a m a t u r ę i je s t f i n a lis tą o lim p ia d y ” . R ó ż n e k la u z u le le j s a m e j p r o c e d u r y o z n a c z a ją ró ż n e m o ż liw e d ro g i o b lic z e n ia .

J a k w id a ć z p o w y ższeg o p r z y k ła d u w P ro lo g u p rz y ję to , że p r o c e d u r y w y s tę p u ją c e w tr e ś c i k la u z u li s ą w y k o n y w a ­ n e w k o le jn o ś c i o d le w e j do p r a w e j. N a to m ia s t k la u z u le są w y b ie r a n e w k o le jn o ś c i ic h p o ja w ie n ia się w p r o g r a ­ m ie. O c zy w iście, do w y k o n a n ia w y b ie r a się k la u z u le , k t ó ­ ry c h n a g łó w e k m o ż n a u z g o d n ić z w y w o ła n ie m p ro c e d u r y . W je d n y m w y w o ła n iu p r o c e d u r y k a ż d a k la u z u la m o ż e b y ć w y k o n a n a ty lk o je d e n ra z . G d y p e w n e w y w o ła n ie p r o c e ­ d u r y z a w ie d z ie , tz n . a lg o r y tm u n if ik a c j i n ie z n a jd z ie o b ie k ­ tó w s p e łn ia ją c y c h o p is y w a n ą p rz e z n ią r e la c ję (nie z n a j ­ d zie u n if ik a to r a ) , to w y k o n y w a n y je s t n a w r ó t. P o le g a o n n a a n u lo w a n iu części u z y s k a n y c h o s ta tn io w y n ik ó w i o d ­ tw o r z e n iu h is to r ii o b lic z e ń a ż do n a p o tk a n i a p r o c e d u r y m a ­ ją c e j jesz c z e n ie u a k ty w n io n e k la u z u le o n a g łó w k a c h u z g a d - n ia ln y c h z je j w y w o ła n ie m . M o ż n a to p rz e ś le d z ić n a p r z y ­ k ła d z ie g e n e a lo g ic z n e j b a z y d a n y c h .

N ie c h p r o g r a m w P ro lo g u s k ł a d a się z n a s t ę p u ją c y c h p ro c e d u r :

(6)

o jc ie c (ja n ,p io tr), o jc ie c (p io tr,a n n a ).

o jc ie c (ja n ,e w a ).

m ę ż c z y z n a (ja n ).

m ę ż c z y z n a (p io tr).

brat ( X , Y ) : — ojciec ( Z , X ) , ojciec (Z , Y ) , X Y , m ężczyzna (X ).

brat ( X , Y ) : — m atka (Z , X ) , m atka (Z , Y ) , X = ? tY , m ężczyzna (X ).

W c e lu z n a le z ie n ia b r a t a P io t r a n a le ż y n a p is a ć : :— b r a t (p io tr,X ), m ę ż c z y z n a (X), w r it e (X).

N a jp ie r w z o s ta n ie w y w o ła n a p ie r w s z a z k la u z u l p r o c e d u r y b r a t . A lg o ry tm u n if ik a c j i p rz y p is z e p a r a m e tr o m f o r m a ln y m o d p o w ie d n ie te r m y : X /p io t r , Y /X . O tr z y m u je się w ó w c z a s:

: — ojciec (Z , p iotr), ojciec ( Z , X ) , piotr ^ X , m ę ż c z y z n a p io tr , m ę ż c z y z n a X , w r it e X.

(p o d k r e ś le n ie m w y ró ż n io n o a k tu a l n ie w y w o ła n ą p ro c e d u r ę ).

N a s tę p u je p ie r w s z e u k o n k r e t n ie n i e z m ie n n e j Z, g d y ż p o d ­ s ta w ia ją c Z /j a n m o ż n a d o k o n a ć u n if ik a c ji z p ie r w s z ą k la u ­ z u lą p r o c e d u r y o jc ie c . Z a te m :

ojciec (jan, p iotr), ojciec (jun , X ) , piotr 9^ X5 m ę ż c z y z n a (p io tr), m ę ż c z y z n a (X ), w r it e X . A lg o ry tm u n if ik a c j i p o n o w n ie u ż y je p ie r w s z e j k la u z u l i p r o ­ c e d u ry o jc ie c ( je s t to in n e w y w o ła n ie t e j p r o c e d u r y ) i z w ią ­ że z m ie n n ą X z te r m e m p io tr . S tą d o tr z y m u j e się:

: — ojciec (ja n , p iotr), ojciec (ja n , p iotr), p i o t r p i o t r , m ę ż c z y z n a (p io tr), m ę ż c z y z n a (p io tr), w r ite (p io tr).

O c z y w iśc ie n a s t ą p i n a w r ó t. Z m ie n n a X t r a c i s w o ją w a r ­ to ś ć p i o t r i n a s t ę p u j e p r ó b a je j p o n o w n e g o u k o n k r e t n ie ­ n ia n a p o d s ta w ie k o le jn y c h k la u z u l p r o c e d u r y o jciec.

Z m ie n n a X je s t te r a z z w ią z a n a z te r m e m e w a z tr z e c ie j k la u z u li p r o c e d u r y o jc ie c (d r u g a k la u z u la t e j p r o c e d u r y e w id e n tn ie n ie d a się u z g o d n ić ). J e d n a k p o p o m y ś ln y m s p r a w d z e n iu , że p i o t r -7^ e w a o r a z że P i o t r je s t m ę ż c z y z n ą , z a w o d z i w y w o ła n ie p r o c e d u r y m ę ż c z y z n a (ew a). M u s i z a te m n a s tą p ić n a w r ó t do w y w o ła n ia o jc ie c (ja n ,X ) a n u lu j ą c y p o ­ p rz e d n ie u k o n k r e tn ie n ie z m ie n n e j X . T o w y w o ła n ie r ó w ­ n ie ż z a w o d z i, g d y ż n ie m a ju ż n ie z b a d a n y c h k la u z u l p r o ­ c e d u r y o jciec. N a s tę p u je k o le j n y n a w r ó t do p o p rz e d n ie g o w y w o ła n ia t e j p r o c e d u r y i p r ó b a z n a le z ie n ia in n e g o o jc a P io t r a cz y li in n e g o u k o n k r e t n ie n ia z m ie n n e j Z w o jc ie c (Z ,p io tr). O c z y w iśc ie n ie m a ta k ie g o , a z a te m z a w o d z i p ie r w s z a k la u z u l a p r o c e d u r y b r a t. M o ż liw e je s t je d n a k u z g o d n ie n ie z w y w o ła n ie m b r a t (p io tr,X ) n a g łó w k a d ru g ie j k la u z u li'. M a m y w ó w c z a s:

: — matka (Z , p io tr ), matka ( Z , X ) , piotr X , m ę ż c z y z n a (p io tr), m ę ż c z y z n a (X), w r it e X . A lg o r y tm u n if ik a c j i n ie z n a jd u j e p r o c e d u r y m a t k a , co w w ię k s z o ś c i im p le m e n ta c ji P ro lo g u je s t tr a k to w a n e ja k o n i e ­ p o w o d z e n ie . P r ó b a n a w r o tu r ó w n ie ż k o ń c z y się n ie p o w o ­ d z e n ie m , p o n ie w a ż n ie m a ju ż n ie z b a d a n y c h k la u z u l p r o ­ c e d u r y b r a t . Z a te m w o d p o w ie d z i o tr z y m u je się in f o r m a ­ c ję „ n ie m a ”.

U n ie w a ż n ie n ie cz ę śc i d o ty c h c z a s o w y c h w y n ik ó w p o d c z a s n a w r o tu n ie o d n o s i się do p r o c e d u r s ta n d a r d o w y c h , p o w o ­ d u ją c y c h e f e k ty u b o c z n e , ta k i e j a k w y p is a n ie n a e k r a n lu b d y n a m ic z n e d o d a w a n ie i u s u w a n ie k la u z u li. W y n ik ó w d z ia ­ ła n i a ta k i c h p r o c e d u r n ie m o ż n a a n u lo w a ć .

W im p le m e n ta c ji P ro lo g u p r z y ję to n a ogół, że po u z y s k a ­ n iu o d p o w ie d z i u ż y tk o w n ik m o ż e z a ż ą d a ć n a s t ę p n e j, w p r o ­ w a d z a ją c z n a k J e ś li je d n a k je g o z a m ia r e m je s t z n a ­ le z ie n ie w s z y s tk ic h o d p o w ie d z i, n p . w s z y s tk ic h d z ie c i J a n a , to m o że n a p is a ć :

:— o jc ie c (ja n ,X ), w r it e (X ), fa li,

S ło w o f a il je s t s ta n d a r d o w o p r z y j ę tą n a z w ą p r o c e d u r y p o ­ w o d u ją c e j n ie p o w o d z e n ie . Z a te m z a w sz e po z n a le z ie n iu o d p o w ie d z i (tj. po u k o n k r e t n ie n i u X ) n a s t ą p i n a w r ó t, a g d y w y w o ła n ie p r o c e d u r y o jc ie c z a w ie d z ie (X n ie d a s ię u k o n ­ k r e tn ić ) , u ż y tk o w n ik o tr z y m u je in f o r m a c ję „ n ie m a w ię c e j” . Ł a tw o z a u w a ż y ć , że a u to m a ty c z n e n a w r a c a n ie p o k a ż ­ d y m n ie p o w o d z e n iu m o ż e p o w o d o w a ć z n a c z n e m a r n o t r a ­ w ie n ie c z a su i p a m ię c i. W id a ć to w p o w y ż s z y m p r z y k ł a ­

dzie, g d y p r ó b u je się z n a le ź ć d ru g ie g o o jc a P io tr a . A b y d a ć p ro g r a m iś c ie m o ż liw o ść p e w n e g o s t e r o w a n ia n a w r o t a ­ m i w p ro w a d z o n o o p e r a t o r o d c ię c ia o z n a c z o n y „!” . JegcL w y ­ s tą p ie n ie u n ie m o ż liw ia d o k o n a n ie n a w r o tu do p r o c e d u r w y ­ s tę p u ją c y c h p rz e d n im i ty m s a m y m o z n a c z a o s ta te c z n ą a k c e p ta c ję w s z y s tk ic h o s ią g n ię ty c h w c z e ś n ie j w y n ik ó w . N a p r z y k ła d , p r o c e d u r ę s p r a w d z a ją c ą , czy d w a z b io r y s ą ro z ­ łą c z n e m o ż n a z a p is a ć ja k o :

ro z łą c z n e (Z b l,Z b 2 ) :— e lz b (E l,Z b l), e lz b (El,Zb2), !, fa il, ro z łą c z n e (Z b l,Z b 2 ).

Z a k ła d a się, że p r o c e d u r a elz b (X ,Y) s p r a w d z a , czy X je s t

e le m e n te m z b io r u Y. H

W id a ć , że je ś li is tn i e je e le m e n t n a le ż ą c y do o b u z b io ró w Z b l i Z b2, to n ie m a p o tr z e b y k o n ty n u o w a n ia o b lic z e ń . O d cięcie z a p o b ie g n ie n a w r o to w i i p r o c e d u r a z a w ie d z ie . G d y b y o d c ię c ia . n ie b y ło , to w s k u te k k o le jn y c h n a w r o tó w n ie p o trz e b n ie tóyłyby s p r a w d z a n e w s z y s tk ie e le m e n ty z b io ­ r u Z b l.

J e ś li n ie is tn ie je e le m e n t n a le ż ą c y do o b u z b io ró w , to n ie d o jd z ie do w y w o ła n ia o d c ię c ia i po n a w r o c ie n a s tą p i w y w o ła n ie d r u g ie j, z a w sz e s p e łn io n e j k la u z u li.

O d c ię c ie p s u je je d n a k d e k la r a ty w n ą i n t e r p r e t a c j ę p r o c e ­ d u r y i z n a c z n ie z m n ie js z a je j c z y te ln o ść . W w ie lu w y p a d ­ k a c h , z a m ia s t o d c ię c ia w y s ta r c z y z a s to s o w a ć s ta n d a r d o w ą p r o c e d u r ę n o t, k tó r a k o ń c z y się p o w o d z e n ie m , g d y z a w o ­ d z i p r ó b a w y w o ła n ia p r o c e d u r y b ę d ą c e j je j p a r a m e tr e m . N a p r z y k ła d m a ją c d a n ą p r o c e d u r ę m a ją c z ę ś ć w s p ó ln ą , s p r a w d z a ją c ą , czy d w a z b io r y m a ją część w s p ó ln ą , p ro c e ­ d u r ę ro z łą c z n e m o ż n a z d e fin io w a ć ja k o :

ro z łą c z n e (Z b l,Z b 2 ) :— n o t (m a ją c z ę ś ć w s p ó ln ą (Z bl,Z b2)).

J e d n ą z c h a r a k te r y s ty c z n y c h c e c h P r o lo g u je s t m o żliw o ść s to s o w a n ia t e j s a m e j p r o c e d u r y w ró ż n y c h c e la c h . T y p o w y m p r z y k ła d e m je s t p r o c e d u r a a p p e n d :

a p p e n d ([], L , L).

a p p e n d ([P ocz I K on], L , [P ocz I K o n 1]) :— a p p e n d (K on, L, K o n i).

D e f in iu je o n a , w j a k i s p o s ó b lis ta , b ę d ą c a tr z e c im p a r a m e ­ tr e m , p o w s ta je z p o łą c z e n ia lis t o p is a n y c h d w o m a p i e r w ­ sz y m i p a r a m e tr a m i. L is ta L p o w s ta je z p o łą c z e n ia L z lis tą p u s tą , a li s ta [P ocz I K o n 1] p o w s ta je z p o łą c z e n ia li s t L i [P ocz I K o n ], je ś li K o n 1 j e s t z łą c z e n ie m lis t L i K o n . W z a le ż n o ś c i o d sp o s o b u w y w o ła n ia a p p e n d m o ż n a lis ty łą c z y ć lu b ro z d z ie la ć . N a p rz y k ła d :

:— a p p e n d ([a.b], [cl, L), w r ite (L).

d a w w y n ik u lis tę [a.b.c], a w y w o ła n ie :

:— a p p e n d (P, K , [a.b.c]), w r it e (P), w r it e (’& ’), w r ite (K), n l, fa il.

(nl — p rz e jś c ie do n o w e j lin ii) d a w w y n ik u :

[ ] & [a.b.c]

[а] & [b.c]

[a.b] & [cl [a.b.c] & []

L IT E R A T U R A

[ll B a n c ilh o n F ., T ia m a k ris h n a n R .: A n A f n a te u r ’s I n tr o d u c tio n to R e c u rs iv e Q u e ry P ro c e s s in g S tr a te g ie s . P ro c . o f A C M SIG M O D C o n f. o n M a n a g e m e n t o£ D a ta , W a s h in g to n , 1986

i£j B r o d ie M . L. (e d .): P ro c . o f W o rk s h o p o n L a r g e S c a le K n o w ­ le d g e B a s e a n d R e a s o n in g S y s te m s , I s la m o r a d a , 1983

[3] C lo k s in W . F ., M e llish C. S .: P r o g r a m m in g in. P ro lo g . S p r in g e r V e rla g , B e rlin , 1981

HI D a y a l U ., S m ith J . M .: P R O B E — A K n o w le d g e - O r ie n te d D a t a ­ b a s e M a n a g e m e n t S y s te m [21

[5| G a lla ir e H ., M in k e r J ., N ic o la s J.-M .: L o g ic a n d D a ta b a s e s —«

A D e d u c tiv e A p p r o a c h . C o m p u tin g S u rv e y s , V ol. 1C, N o. 2, 1984 [б] H e n s h e n L . J ., N a q v i E. A .: O n C o m p ilin g Q u e r ie s i n R e ­ c u r s iv e F ir s t- O r d e r D a ta b a s e s . J o u r n a l o f A C M , V ol. 31, N o. 1, 1984 1.7J H o g g e r C. J .: I n tr o d u c t i o n to L o g ic P ro g r a m m in g . A c a d e m ic P re s s , N e w Y o rk , 1984

[8] H a m m e r M ., Z d o n ik S .: K n o w le d g e -b a s e s Q u e r y P ro c e ss in g . P ro c . o f 6 th C o n f. o f V L D B , M o n tr e a l, 1980

Io] fo a n n id is Y. E .: A T im e B o u n d c n T h e M a te ria liz a tio n of S o m e R e c u rs iv e ly D e fin e d V iew s. P r o c . o£ 11th C o n f. o f V L D B , S to c k h o lm , 1985

d o k o ń c z e n ie n a s tr . I t

4

(7)

JA N BIELECK I In sty tu t In form atyk i P olitech n ik a W arszaw ska

Podstawy grafiki w języku Turbo Pascal (1)

Przegląd środków graficznych

W ję z y k u T u r b o P a s c a l d la m ik r o k o m p u te r a IB M P C w s p ó łp r a c a z m o n ito r e m e k r a n o w y m m o że o d b y w a ć się w je d n y m z c z te re c h tr y b ó w te k s to w y c h a lb o w je d n y m z tr z e c h tr y b ó w g r a f ic z n y c h . W tr y b ie te k s to w y m e k r a n m o n ito r a je s t p o d z ie lo n y n a 25 w ie rs z y , a w k a ż d y m w ie r ­ szu m o ż n a w y p ro w a d z ić do 40 a lb o do 80 z n a k ó w . W y p ro ­ w a d z a n e z n a k i m o g ą b y ć c z a r n o - b ia łe a lb o k o lo ro w e . W tr y b a c h g ra f ic z n y c h e k r a n m o n ito r a s ta n o w i r a s t e r s k ł a d a ­ ją c y się z 200 lin ii. W k a ż d e j lin ii m o ż n a w y ś w ie tlić 320 a ib o 640 p ik s e li. W z a le ż n o śc i o d u ż y te g o tr y b u i m o n ito r a w y ś w ie tla n e p u n k ty m o g ą b y ć c z a r n o - b ia łe a lb o k o lo ro w e .

W z w y k ły c h w a r u n k a c h w y k o n y w a n ie o p e r a c ji e k r a n o ­ w y c h d o ty c z y c a łe g o e k r a n u . I s tn ie j e je d n a k m o ż liw o ść z d e fin io w a n ia p ro s to k ą tn e g o f r a g m e n t u e k r a n u ja k o o k ie n ­ k a i w y k o n y w a n ie o p e r a c ji e k r a n o w y c h ta k , ja k b y to o k ie n k o z a jm o w a ło c a ły d o s tę p n y e k r a n . W k a ż d e j c h w ili m o że b y ć z d e fin io w a n e ty lk o je d n o o k ie n k o . W tr y b a c h te k s to w y c h b ę d z ie ono n a z y w a n e o k ie n k ie m te k s to w y m , a w tr y b a c h g ra f ic z n y c h — o k ie n k ie m g ra fic z n y m . R o z sz e ­ rz e n ie ję z y k a o g r a f ik ą ż ó łw ia l> u m o ż liw ia p o n a d to z d e fi­

n io w a n ie o k ie n k a ż ó łw ia . J e ś li n ie z d e fin io w a n o o k ie n k a ż ó łw ia, to p rz e z d o m n ie m a n ie p r z y jm u je się, że je s t o no id e n ty c z n e z o k ie n k ie m d o m n ie m a n y m , k tó r y m je s t c a ły e k r a n .

B e z p o śre d n io p o ja w n y m a lb o d o m n ie m a n y m z d e fin io w a ­ n iu o k ie n k a w s z y s tk ie o p e r a c je d o ty c z ą ty lk o te g o o k ie n ­ k a. O z n a c z a to , że w w y p a d k u o k ie n k a te k s to w e g o b ę d z ie z a c h o d z iło p io n o w e p r z e g lą d a n ie te k s tu n ie m ieszcząceg o się w o k ie n k u (ang. sc ro llin g ), a w w y p a d k u o k ie n k a g r a ­ fic z n e g o — o b c in a n ie (ang. c lip p in g ). B liższe in f o r m a c je n a te n t e m a t z o s ta n ą p o d a n e w p u n k c ie p o ś w ię c o n y m z a ­ r z ą d z a n iu o k ie n k a m i.

T R Y B Y TEK ST O W E

U s ta n o w ie n ie tr y b u te k s to w e g o o d b y w a się za p o m o c ą p r o c e d u r y T e x tM o d e . A r g u m e n ta m i p r o c e d u r y T e x tM o d e są z a z w y c z a j p r e d e f in io w a n e li te r a ły ty p u in te g e r: BW 40, C40, BW 30 i C80 r e p r e z e n tu j ą c e d a n e o w a r to ś c ia c h 0, 1, 2 i -3. W y k o n a n ie p r o c e d u r y T e x tM o d e b e z a r g u m e n tu p o ­ w o d u je p o n o w n e u s ta n o w ie n ie p o p rz e d n ie g o tr y b u te k s to ­ w ego.

W y k o n a n ie p r o c e d u r y T e x tM o d e(B W 4 0 ) p o w o d u je u s t a ­ n o w ie n ie tr y b u te k s to w e g o z w y ś w ie tla n ie m m a k ó w c z a r ­ n o - b ia ły c h (a n g . b la c k a n d w h ite ) , do 40 z n a k ó w w w ie r ­ szu.

W y k o n a n ie p r o c e d u r y T e x tM o d e(C 4 0 ) p o w o d u je u s t a ­ n o w ie n ie tr y b u te k s to w e g o z w y ś w ie tla n ie m z n a k ó w k o lo ­ ro w y c h (an g . co lo r), do 40 z n a k ó w w w ie rs z u .

W y k o n a n ie p r o c e d u r y T e x tM o d e(B W 8 0 ) p o w o d u je u s t a ­ n o w ie n ie tr y b u te k s to w e g o z w y ś w ie tla n ie m z n a k ó w c z a r ­ n o -b ia ły c h (b la c k a n d w h ite ), do 80 z n a k ó w w w ie rs z u .

W y k o n a n ie p r o c e d u r y T e x tM o d e(C 8 0 ) p o w o d u je u s ta n o ­ w ie n ie tr y b u te k s to w e g o z w y ś w ie tla n ie m z n a k ó w k o lo ­ ro w y c h , do 80 z n a k ó w w w ie rs z u .

K a ż d e u s ta n o w ie n ie tr y b u te k s to w e g o p o w o d u je w y c z y ­ sz c z e n ie e k r a n u , t j . z a p e łn ie n ie go s p a c ja m i o k o lo rz e tła ,

') Z d a n ie m lin g w is tó w , k t ó r y c h p r o s iłe m o o p in ię , te r m in „ t u r t l e R ra p h lc s” p o w in ie n b y ć tłu m a c z o n y n a : „ g r a f ik a ż ó łw io w a ” . N ie ­ p o p r a w n e tłu m a c z e n ie „ g r a f ik a ż ó łw ia ” p o z o s ta w ia m n a ż y c z e n ie R e d a k c ji. (JB )

a p o n a d to p rz e m ie s z c z e n ie k u r s o r a do le w e g o g ó rn e g o n a ­ r o ż n ik a e k r a n u .

P rzy k ła d 1. W y św ie tla n ie zn a k ó w w try b ie te k sto w y m

p r o g r a m E w a ; b e g in

T e x tM o d e ; W rite (’E w a ’);

r e p e a t u n ti l K e y P re s s e d ; T exM ode(B W 40)

en d .

® B e z p o ś re d n io po a k ty w o w a n iu p r o g r a m u , a le p r z e d w y ­ k o n a n ie m p r o c e d u r y T e x tM o d e , e k r a n n ie m u s i b y ć w y ­ czy szczo n y .

® W y k o n a n ie p r o c e d u r y T e x tM o d e b e z a r g u m e n tu s p o w o ­ d u je w y c z y sz c z e n ie e k r a n u i u s ta n o w ie n ie tr y b u te k s to w e ­ go d o m n ie m a n e g o C80.

® P o w y c z y s z c z e n iu e k r a n u k u r s o r z n a jd u j e się w jeg o le w y m g ó rn y m n a r o ż n ik u .

© W y k o n a n ie i n s tr u k c j i W rite p o w o d u je w y p ro w a d z e n ie w p ie r w s z y m w ie rs z u e k r a n u n a p is u E w a .

# P o n a c iś n ię c iu d o w o ln e g o z n a k u k la w ia t u r y n a s t ą p i u s ta n o w ie n ie tr y b u te k s to w e g o BW 40. S p o w o d u je to w y ­ czy sz c z e n ie e k r a n u .

• P o z a k o ń c z e n iu w y k o n y w a n ia p r o g r a m u , w y p r o w a d z a n ie n a e k r a n p o z o s ta je w tr y b ie BW 40.

W tr y b a c h te k s to w y c h z u ż y c ie m k o lo ró w , C40 i C80, k a ż d y z n a k m oże b y ć w y ś w ie tla n y w je d n y m z 16 k o lo ­ ró w n a d o w o ln y m tl e w y b r a n y m s p o ś ró d 8 k o lo ró w . N a k o lo r y m o ż n a p o w o ły w a ć się za p o m o c ą li te r a łó w ty p u in te g e r, ta k ic h ja k L ig h tB lu e , Y e llo w itp . P e łn e z e s ta w ie ­ n ie ty c h lite r a łó w z a m ie sz c z o n o w ta b e l i 1. Z n a k i m o g ą b y ć w y ś w ie tla n e z a ró w n o w k o lo r a c h c ie m n y c h ja k i j a ­ sn y c h . T ło m o g ą s ta n o w ić je d y n ie k o lo r y c ie m n e . P o s łu g u ­ ją c się w y ś w ie tla n ie m w k o lo r a c h n a le ż y w z ią ć p o d u w a g ę , że w n ie k tó r y c h m o n ito r a c h n ie m a m o ż liw o śc i o d r ó ż n ie ­ n ia k o lo r ó w c ie m n y c h o d ja s n y c h . W ta k i c h w y p a d k a c h k o lo r y c ie m n e są w y ś w ie tla n e ta k , ja k ich ja s n e o d p o w ie d ­ n ik i. W sz c z e g ó ln o śc i, k o lo r ż ó łty ( lite r a ł Y ello w ) m o że b y ć w y ś w ie tla n y ja k o b rą z o w y (B ro w n ), a k o lo r b ia ły (W h ite) m o że b y ć w y ś w ie tla n y ja k o ja s n o s z a r y (L ig h tG ra y ).

O k re ś le n ie k o lo r u w y ś w ie tla n y c h z n a k ó w o d b y w a się za p o m o c ą p r o c e d u r y T e x tC o lo r , a o k r e ś le n ie k o lo r u tł a za p o m o c ą p r o c e d u r y T e x tB a c k g r o u n d . J e ś l i do lic z b y o k r e ­ ś l a ją c e j k o lo r z o s ta n ie d o d a n a lic z b a 16, z a z w y c z a j r e p r e ­ z e n to w a n a za p o m o c ą p re d e f in io w a n e j n a z w y li t e r a ł u — B lin k , to w y ś w ie tla n y z n a k b ę d z ie m ig o ta ć .

O k re ś le n ie k o lo r u z n a k ó w w y p r o w a d z a n y c h n a e k r a n o d ­ b y w a się za p o m o c ą p r o c e d u r y T e x tC o lo r . W o g ó ln y m w y ­ p a d k u p r o c e d u r a t a m a p o s ta ć :

T e x tC o lo r(H u e )

W z a p is ie ty m H u e je s t w y r a ż e n ie m ty p u in t e g e r r e p r e ­ z e n tu ją c y m d a n ą o w a r to ś c i z p rz e d z ia łu 0...31. J e ś li d a n a r e p r e z e n to w a n a p rz e z H u e m a w a r to ś ć w ię k s z ą o d - 15, to a r g u m e n t H u e je s t tr a k to w a n y ta k , ja k b y m ia ł w a r to ś ć H u e-1 5 , a w y ś w ie tla n e z n a k i są p o b u d z a n e do m ig o ta n ia . K o lo r w y ś w ie tla n y c h z n a k ó w je s t o k re ś lo n y p rz e z w y r a ż e ­ n ie H u e m o d 16 i w y n ik a z z e s ta w ie n ia p rz y to c z o n e g o w

ta b e li 1. ■ .

I n f o r m a t y k a n r 8, 1987

(8)

T V l t r l a 1 . M n p m o n í w a i e n a ? :v ry l i l r r j i f ó w © z n n c a a j ą c y c h ^ k o l o r j 1 m i g o t a n i e

Literał N azw a (0— 7 kolory ciem ne, & —J5 -r- ja sn e )

0 B lack (czarny)

1 B lue (niebieski)

2 G reen (zielony)

H C yan (turkusow y)

4 R ad (czerwony)

5 M agenta (karm azynow y)

6 B row n (brązow y)

7 D a rk G re y (ciem noszary) 8 L ig h tG rey (jasn o szary ) 9 L ig h tB lu e (jasnoniebieski) 10 L ig h tG rcen (jasnozielony) 11 L ig h tC y an (jasn o tu rk u so w y ) 12 L ig h tR e d (jasn o czerw o n y ) U L ig h t M agenta (ja*nokarruazynow y)

14 Yellow (żółty)

15 W h ile (biały)

16 B link (m igotanie)

P r zy k ła d 2. W y św ie tla n ie zn a k ó w w k olorach

p r o g r a m E w a lz a J a n ; b e g in

T e x tM o d e(C 4 0 );

W rite (’E w a ’);

T e x tC o lo r(R e d );

W rite (’I z a ‘);

T e x tC o lo r (G r e e n + B lin k );

W rite (’J a n ’);

r e p e a t u n til K e y P re s s e d ; T ex tM o d e(B W 8 0 )

e n d .

® N a p is E w a z o s ta n ie w y ś w ie tlo n y w k o lo rz e d o m n ie m a ­ n y m — ż ó łty m i n a tle d o m n ie m a n y m — c z a rn y m .

® N a p is Iz a z o s ta n ie w y ś w ie tlo n y n a t l e d o m n ie m a n y m i w k o lo rz e c z e rw o n y m .

© N a p is J a n z o s ta n ie w y ś w ie tlo n y n a tle d o m n ie m a n y m i w k o lo rz e z ie lo n y m . L it e r y te g o n a p is u b ę d ą m ig o ta ć .

® P o n a c iś n ię c iu d o w o ln e g o z n a k u k la w ia t u r y n a s t ą p i p rz y ­ w ró c e n ie tr y b u te k s to w e g o BW 80 i z a k o ń c z e n ie w y k o n y ­ w a n ia p r o g r a m u .

O k re ś le n ie k o lo r u tła o d b y w a się za p o m o c ą p ro c e d u r y T e x tB a c k g r o u n d . W o g ó ln y m w y p a d k u p ro c e d u r a t a m a p o s ta ć :

T e x tB a c k g ro u n d ( H u e )

W z a p is ie ty m H u e je s t w y r a ż e n ie m ty p u in te g e r , r e p r e ­ z e n tu j ą c y m d a n ą o w a r to ś c i z p rz e d z ia łu 0..7. K a ż d e j z w a r ­ to ś c i te j d a n e j o d p o w ia d a je d e n z k o lo ró w c ie m n y c h w y ­ s z c z e g ó ln io n y c h w p ie r w s z e j cz ę śc i ta b e li 1. P o w y k o n a ­ n iu p r o c e d u r y T e x tB a c k g r o u n d w s z y s tk ie n a s t ę p n ie w y ­ p r o w a d z a n e z n a k i są w y ś w ie tla n e n a tl e o n u m e r z e H u e.

P rzy k ła d 3. W y św ie tla n ie zn a k ó w na o b ran ym tle

p r o g r a m Iz a ; b e g in

T ex tM o d e(C 4 0 )

T e x tB a c k g r o u n d ( G r e e n ) ; T e x tC o lo r< B ro w n );

W r ite ( ’J a n ’);

r e p e a t u n til K e y P re s s e d e n d .

® N a p is Iz a z o s ta n ie w y p ro w a d z o n y w k o lo r z e b r ą z o w y m (B ro w n ) n a z ie lo n y m tl e (G reen ).

• P o n a c iś n ię c iu d o w o ln e g o k la w is z a k la w ia t u r y n a s t ą p i z a k o ń c z e n ie w y k o n y w a n ia p ro g r a m u .

K a ż d e w y p r o w a d z e n ie z n a k ó w n a e k r a n p o w o d u je z m ia ­ n ę p o z y c ji k u r s o r a . W c h w ili u s ta n o w ie n ia tr y b u g r a f ic z ­ n e g o k u r s o r z n a jd u j e się w le w y m g ó rn y m n a r o ż n ik u e k r a n u . U s ta le n ie p o z y c ji k u r s o r a m oże by ć w y k o n a n e za p o m o c ą f u n k c j i W h e re X i W h e re Y . O b ie t e f u n k c j e są b e z a rg u m e n to w e . W y w o ła n ie f u n k c ji m a p o s ta ć :

W h e re X o ra z W h e re Y

K a ż d a z n ic h m o że w y s tą p ić ja k o e le m e n t w y ra ż e n ia . P rzy k ła d 4. L o k a lizo w a n ie p ozycji kursora

p r o g r a m C u rs o r ; b e g in

T e x tM o d e ;

W rite (W h e re X ,W h e re Y :2);

G o to X Y (20,30);

W rite (W h e re X + W h e re Y ) ; r e p e a t u n til K e y P re s s e d e n d .

© W y k o n a n ie p r o g r a m u p o w o d u je w y p ro w a d z e n ie lic z b 1, 1 i 50.

© B e z p o ś re d n io po u s ta n o w ie n iu tr y b u te k s to w e g o (p ro ­ c e d u r a T e x tM o d e ) k u r s o r z n a jd u je się w p u n k c ie o w s p ó ł­

rz ę d n y c h (3,1).

® B e z p o ś re d n io po w y k o n a n iu p ro c e d u r y G o to X Y k u r s o r z n a jd u j e się w p u n k c ie o w s p ó łr z ę d n y c h (20,30).

<3 Z a k o ń c z e n ie w y k o n y w a n ia p r o g r a m u n a s tę p u je po n a ­ c iś n ię c iu d o w o ln e g o k la w is z a k la w ia t u r y .

T R Y B Y G R A FIC Z N E

U s ta n o w ie n ie tr y b u g ra fic z n e g o o d b y w a się za p o m o c ą p r o c e d u r G ra p h C o lo rM o d e , G ra p h M o d e i H iR e s, D w ie p ie r w s z e z ty c h p r o c e d u r p o w o d u ją u s ta n o w ie n ie tr y b u g ra f ic z n e g o ś r e d n ie j ro z d z ie lc z o śc i, 200 X 320 p ik s e li, a t r z e ­ ci p o w o d u je u s ta n o w ie n ie tr y b u g ra fic z n e g o w y s o k ie j ro z ­ d z ielczo ści, 200 X 640 p ik s e li. W y w o ła n ie k a ż d e j z p r o c e d u r p o w o d u je w y c z y s z c z e n ie e k r a n u , tj. z a p e łn ie n ie go k o lo r e m tła . P r z e d z a k o ń c z e n ie m w y k o n y w a n ia p ro g ra m ta , w k tó ­ r y m p o s łu g iw a n o się tr y b e m g ra f ic z n y m , n a le ż y z a p e w n ić u s ta n o w ie n ie je d n e g o z tr y b ó w te k s to w y c h .

W y ś w ie tla n ie w tr y b ie G ra p h C o lo rM o d e o d b y w a się w k o lo rz e , a o b ra z w y ś w ie tla n y w tr y b ie G ra p h M o d e je s t c z a rn o - b ia ły . T y m n ie m n ie j — n a m o n ito r z e R G B — n a ­ w e t w tr y b ie G ra p h M o d e is tn ie je m o ż liw o ść w y b o r u b a rw y . O b ra z w y ś w ie tla n y w tr y b ie w y s o k ie j ro z d z ie lc z o ś c i je s t ta k ż e c z a r n o - b ia ły , je d n a k i w ty m tr y b ie , za p o m o cą p r o c e d u r y H iR e sC o lo r, m o ż n a o k re ś lić k o lo r w y k r e ś la n y c h o b ie k tó w . T ło n a to m ia s t m oże b y ć ty lk o c z a rn e . J e ś li p r o ­ c e d u r a H iR e s C o lo r n ie z o s ta n ie w y w o ła n a , to w y ś w ie tla n ie b ę d z ie o d b y w a ć się w d o m n ie m a n y m k o lo rz e b ia ły m .

K o lo ry p ik s e li m o g ą b y ć w y b ie r a n e z p a le ty b a r w d o b ie ­ r a n e j z a p o m o c ą p r o c e d u r y P a le t te . W o g ó ln y m w y p a d k u w y w o ła n ia p r o c e d u r y P a le t te m a p o s ta ć :

P a le tte ( N u m )

W z a p is ie ty m N u m je s t w y r a ż e n ie m ty p u in t e g e r r e p r e ­ z e n tu ją c y m d a n ą , k tó r e j w a r to ś ć o k r e ś la n u m e r p a le ty b arw '. D o p u s z c z a ln e p a le ty b a r w d la m o n ito r a k o lo ro w e g o p rz e d s ta w io n o w ta b e li 2, a d la m o n ito r a R G B w ta b e li 3.

Tabela 2 . P ale ty Barw m o n ito ra kolorowego

N nm er ko lo m P ale ta 0 P ale ta 1

0 Tło Tło

1 Z ielony Turk u so w y

o Czerwony K arm azy n o w y

3 B rązo w y Ja sn o sz a ry

Tabela 3 . P ale ty barw m o n ito ra RGB

N um er koloru P ale ta 0 P a le ta 1

0 Tło Tło

1 N iebieski Jasn o n ieb iesk i

2 C zerwony Jasn o czerw o n y

3 Ja sn o sz a ry B iały

6

Cytaty

Powiązane dokumenty

Przy korzystaniu'z sieci Transnet zaobserwowano bardzo wysoki stopień wykorzystania czasu procesora składnicy plików (od 50 do 65%). Oznacza to, że nadzór karty

C-Sliell (nazwa oznaczająca podobieństwo składni do języka C) i Bourne Shell (od nazwiska autora). Obie mogą być używane jako interakcyjne interpretery poleceń

W sieciach tych stosuje się najróżniejsze metody dostępu do łącza, ale najczęściej jest realizowany dostęp rywalizacyjny CSMA/CD oraz dostęp z przekazywaniem

row ania m ożna dziś oceniać jedynie na podstaw ie czasu deszyfracji. Jednak obecnie niebezpieczeństwo przechwycenia inform acji jest duże, poniew aż stosuje się

Sytuacja, w której funkcji stanu specyfikacji nie można wyrazić w zależności od funkcji stanu realizacji, jest nietypowa. Podobnie jak dobry program nie oblicza

Od tej ch w ili inform acja może być w yp ro ­ wadzana z rejestru szeregowo, niezależnie od pracy pamięci w trybie równoległego dostępu (z dużą częstotliwością rzędu 25

conej prenumeraty na drugie półrocze br.. Na pierw szym , najniższym poziomie, pow inny się znajdow ać procedury bezpośrednio d ziałające na zbiorze danych,

czenia zaw artości pól danych n a podstaw ie innych pól.. m em ory variables).. funkcjonow aniu sieci UM M LAN-2.. czyli każdy alg o ry tm rozw iązyw ania tego drugiego