• Nie Znaleziono Wyników

O pewnych konwencjach notacji algorytmów programów komputerowych

N/A
N/A
Protected

Academic year: 2022

Share "O pewnych konwencjach notacji algorytmów programów komputerowych"

Copied!
11
0
0

Pełen tekst

(1)

ZESZYTY NAUKOWE POLITECHNIKI SL^SKIEJ

S e r i a : TRANSPORT z . 6 Nr k o l . 908

________1988

Roman KONIECZNY

O PEWNYCH KONWENCJACH NOTACJI ALGORYTMÓW PROGRAMÓW KOMPUTEROWYCH

S t r e s z c z e n i e . A r ty k u ł t r a k t u j e o z a g a d n i e n ia c h z a p is u alg o ry tm ó w program ów k o m p u tero w y ch . W y sz c z e g ó ln io n e z o s t a ł y c e c h y d o b r e j n o t a c j i a lg o r y tm u . Dokonano ró w n ie ż z e s t a w i e n i a s to s o w a n y c h k o n w e n c ji n o t a - c y jn y c h . Wybór w ła ś c iw e j k o n w e n c ji n o t a c y j n e j w po w ażn ej m ie rz e r z u ­ t u j e na j a k o ś ć p r o j e k t u opro g ram o w an ia k o m p u te ra . Stosow ane k o n w en cje n o ta c y j n e z e s ta w io n o w a r t y k u l e w n a s t ę p u ją c y c h g ru p a c h :

- k o n w en cja w e r b a li s t y c z n a ( o p a r t a na o p i s i e z b liż o n y m do ję z y k a n a ­ t u r a l n e g o ) ,

- k o n w en cja g r a f i c z n a ( o p a r t a na s y m b o lic e r y s u n k o w e j) ,

- k o n w en cja sy m b o lic z n a ( o p a r t a na a b s t r a k c y j n y c h s p o s o b a c h o p i s u ) , - k o n w en cja m e ta p r o g r a m is ty c z n a ( o p a r t a na z a p i s i e z b liż o n y m do p r o ­

gram u k o m p u te ro w e g o ).

P rz e d s ta w io n e w a r t y k u l e z a g a d n ie n ia w inny by ć ró w n ie ż - zdaniem a u t o r a - s z e r z e j eksppnow ane w d y d a k ty c e p rz e d m io tó w in f o r m a t y c z ­ n y c h .

1 . W prow adzenie

P ro b le m f o r m a l i z a c j i o p is u ś w ia t a i z ja w is k w nim z a c h o d z ą c y c h p o ja w ili s i ę o k o ło p i ę ć t y s i ę c y l a t te m u , k ie d y t o c z ło w ie k po r a z p ie r w s z y z a c z ą ł p o s łu g iw a ć s i ę pism em . N astępnym k ro k ie m milowym w ro z w o ju f o r m a l i z a c j i o - p i s u ś w ia t a b y ło o p ra c o w a n ie p r z e z a l- C h o r e z m le g o (7 8 7 -8 4 7 ) p ew n ej p r o c e d u ­ r y ra c h u n k o w e j - n a z w a n e j p ó ź n i e j alg o ry tm em 10 . Z c h w ilą p o ja w ie n ia s i ę k o m p u te ró w 'p o w s ta ł p ro b le m n o t a c j i alg o ry tm ó w program ów kom pu tero w y ch . Z a - ' g a d n i e n i e t o o b e c n ie s t a j e s i ę s z c z e g ó l n i e w ażne - n a e t a p i e p r o j e k to w a n ia o p ro g ram o w an ia - k ie d y p r z e d in f o r m a t y k ą s p i ę t r z y ł y s i ę t a k i e z a d a n i a , j a k : p r z e t w a r z a n ie w ie d z y , m odelow anie system ów w i e l k i c h c z y t e ż p r z e t w a r z a n i e ję z y k a n a t u r a l n e g o . Z a d a n ia t e z m u s z a ją do b a r d z i e j e n e r g ic z n y c h p o sz u k iw a ń w z a k r e s i e u l e p s z e n i a n o t a c j i a lg o ry tm ó w . Ma t o r ó w n ie ż o d n i e s i e n i e do p r o ­ j e k t o w a n i a system ów kom puterow ych d l a p o t r z e b t r a n s p o r t u , a t a k ż e do dydak­

t y k i p rz e d m io tó w in f o r m a ty c z n y c h w s z k o ła c h w y ższy ch n a k ie r u n k u T r a n s p o r t ,

(2)

170 Roman K on ieczn y

2 . Cechy d o b re,1 n o ta c .H

D obrą n o t a c j ą a lg o r y tm u pow inny c h a r a k te r y z o w a ć n a s t ę p u j ą c e c e c h y : - w ysoki s z c z e b e l a b s t r a k c j i (p o łą c z o n y z w id zen ie m s z c z e g ó łó w o r a z w y ją t­

ków) ,

- u n iw e r s a liz m ( t a sama n o t a c j a s ł u ż y ć może do o p is u ró ż n y c h z j a w i s k ) , - z w ię z ło ś ć o p is u ( n o t a c j a u m o ż liw ia z m in im a liz o w a n ie l i c z b y s t r o n dokumen­

t a c j i p r o j e k t u o p ro g ra m o w a n ia ),

- je d n o z n a c z n o ś ć ( n o t a c j a w y k lu cza r ó ż n e i n t e r p r e t a c j e te g o samego z a p i s u ) , - c z y te ln o ś ć ( z a p i s a lg o r y tm u p o w in ie n u m o ż liw ia ć c z y t a n i e go " j a k z k s i ą ż ­ k i " , t z n , od le w e j do p r a w e j . . . z g ó ry n a d ó ł . . . b e z k o n ie c z n o ś c i wędrów­

k i po o d s y ł a c z a c h ) ,

- w id z ia l n o ś ć p ro g ram u ( c z y t e l n i k p o w in ie n 1 " w id z ie ć " p ro g ra m w Jednym ze zn an y ch języków p ro g ram o w an ia l u b w ję z y k u łatw ym do z d e f i n io w a n ia i z a - 'im p le m e n to w a n ia na b a z i e i s t n i e j ą c e g o s p r z ę t u ) .

P rz y jm ijm y d l a p r z y k ł a d u , ż e chcem y oprogram ow ać m odel sy s te m u k o l e i e u ­ r o p e j s k i c h . W s y s te m ie tym mogą n a s i n t e r e s o w a ć r ó ż n e poziom y a b s t r a k c j i - - od p o d sy ste m u d anego k r a j u , a ż po s i l n i k lokom otyw y w ybranego p o c i ą g u . . . P rz y t a k p o staw ionym z a d a n iu w sk azan a b y ła b y n o t a c j a , k t ó r a p o łą c z y ła b y fo rm a liz m t e o r i i system ów , n p . [5 , 11] z p o k a z a n ie m p ro g ra m o w a ln o ś c i w j e d ­ nym z języ k ó w w y so k ieg o p o zio m u , np# ADA, SIMULA pzy LOGLAN.

3 . Stosow ane k o n w en cje n o ta c y j n e

S tosow ane k o n w en cje n o t a c j i alg o ry tm ó w program ów kom puterow ych można umownie p o d z i e l i ć na n a s t ę p u j ą c e g ru p y :

- k o n w en cja w e r b a l i s t y c z n a , - ko n w en cja g r a f i c z n a , - ko n w en cja s y m b o lic z n a ,

- ko n w en cja m e ta p r o g r a m is ty c z n a .

3 . 1 . Konwencja w e r b a li s t y c z n a

K onwencja t a p o le g a na słownym o p i s i e la g o r y tm u . W yróżnić t u t a j można n a s t ę p u j ą c e sp o s o b y o p is u :

- o p i s z a ry so w y , - o p i s ty p u p r z e p i s , - o p is ty p u HIPO, - o p i s li n g w i s t y c z n y .

O pis zarysow y n a ś w i e t l a w pewnym s e n s i e " l i t e r a c k ą " w iz ję a lg o r y tm u . Na p r z y k ł a d : " . . . Z n a n a j e s t s t r u k t u r a sy s te m u k o le j o w e j t r a k c j i e l e k t r y c z n e j . M ając o k r e ś lo n y r o z k ł a d ja z d y p o ciąg ó w na p o s z c z e g ó ln y c h l i n i a c h , o b l i c z y ć

(3)

O pewnych konwencjach notacji. 171

z u ż y c i e e n e r g i i n a w y K o n a n i e p r a c y p r z e w o z o w e j w c ią g u j e d n e j d o b y . W yniki

p r z e d s t a w i ć w f o r m i e k o l o r o w y c h w y k r e s ó w p r z e s t r z e n n y c h . . . "

Innym sposobem J e s t o p is o c h a r a k t e r z e p r z e p i s u , z a w ie r a ją c e g o jg y sp ecy - fik o w a n y c i ą g d z i a ł a ń ( kroków ) do w y k o n a n ia . Na p r z y k ł a d :

KROK 1: W prow adzenie d an y ch o p is u ją c y c h s t r u k t u r ę sy s te m u k o le j o w e j t r a k c j i e l e k t r y c z n e j .

KROK 2: O k r e ś l e n ie z a d a ń przew ozow ych.

KROK 3 : G en ero w an ie r o z k ł a d u ja z d y p o c ią g ó w . KROK 4 : S y m u lacja p r a c y s y s te m u .

KROK 5: Ocena wyników s y m u la c j i .

P r z e j ś c i e do KROKU 3 , gdy w y n ik i s ą n ie z a d o w a la ją c e . KROK 6: R e d a k c ja i w y prow adzahie wyników końcow ych.

O pis ty p u HIPO (o d a n g . H ie r a r c h y p l u s I n p u t - P r o c e s s - O u t p u t , t j . h i e r a r ­ c h ia p l u s w e j ś c i e - p r o c e s - w y j ś c l e ) j e s t d alsz y m r o z w in ię c ie m sp o s o b u ty p u p r z e p i s . O pis HIPO zaprąponow any ę o s t a ł p r z e z f ir m ę IBM [6 , 17] . P rzy k ład em t a k i e g o o p is u może byó:

SYSTEM PRZEWOZÓW KOLEJOWYCH

1 . WPROWADŹ STRUKTURĘ SIECI KOLEJOWEJ.

2 . WPROWADŹ STRUKTURĘ OTOCZENIA.

3 . WPROWADŹ ZADANIA PRZEWOZOWE..

4 . GENERUJ ROZKŁAD JAZDY.

5 . SYMULUJ PRACĘ SYSTEMU.

6 . WYPROWADŹ WYNIKI POŚREDNIE.

2 . 1 . WPROWADŹ STRUKTURĘ OTOCZENIA ENERGETYCZNEGO.

2 . 2 . WPROWADŹ STRUKTURĘ ROZMIESZCZENIA STACJI ŁADUNKOWYCH.

2 . 1 . 1 . WPROWADŹ DANE 0 UKŁADZIE ELEKTROENERGETYCZNYCH L IN II ZASILA­

JĄCYCH.

2 . 1 . 2 . WPROWADŹ DANE OKREŚLAJĄCE ROZMIESZCZENIE PODSTACJI TRAKCYJ*

NYCH.

2 . 1 . 3 . WPROWADŹ DANE O POSZCZEGÓLNYCH PODSTACJACH.

D a ls z e r o z w i j a n i e o p is u z b l i ż a c o r a z b a r d z i e j do r z e c z y w i s t e j s p e c y f i k a c j i z a d a ń d la p ro g ram u kom puterow ego.

I n a c z e j w y g ląd a l i n g w i s t y c z n y sp o só b o p is u a lg o r y tm u . O p is t a k i j e s t s t o ­ sow any w p rz y p a d k u b r a k u p e ł n e j i n f o r m a c j i o modelowanym o b i e k c i e . O gólny sc h e m a t t a k i e g o o p is u J e s t n a s t ę p u j ą c y [16] s

JEŻELI X j e s t w s t a n i e X^, TO Y J e s t w s t a n i e Y^ ,

(4)

17 2 Roman K o n ie c z n y

RÓWNIEŻ

JEŻELI X J e s t w s t a n i e TO Y j e s t w s t a n i e RÓWNIEŻ

RÓWNIEŻ

JEŻELI X j e s t w s t a n i e Xn , TO Y j e s t w s t a n i e Yn »

g d z i e : X1 . . . Xn , Y1 . . . Yn c h a r a k t e r y z u j ą s t a n y w e j ś c i a i w y jś c i a o b ie k ­ t u .

P rz y k ła d o w o : d l a zm ien n y ch l i n g w i s t y c z n y c h V ( p r ę d k o ś ć p o c ią g u ) o r a z W (o p o r y r u c h u ) , t r a k t u j ą c j e ja k o z b i o r y ro z m y te , można n a p i s a ć :

JEŻELI- V - NULL TO W = SUPERDUŻE , RÓWNIEŻ

JEŻELI V = ZERO TO W = DUŻE , RÓWNIEŻ

JEŻELI V = BARDZO MAŁE TO W = MAŁE , RÓWNIEŻ'

JEŻELI V = MAŁE TO W = ÓREDNIE , RÓWNIEŻ

JEŻELI V * ÓREDNIE TO W = DUŻE , RÓWNIEŻ

JEŻELI' V = DUŻE TO W = BARDZO DUŻE , RÓWNIEŻ

JEŻELI V - SUPERDUŻE TO W = SUPERDUŻE .

K onw encja w e r b a l i s t y c z n a n o t a c j i alg o ry tm ó w c h a r a k t e r y z u j e s i ę w ysokim s z c z e b le m a b s t r a k c j i , d u ż ą u n i w e r s a l n o ś c i ą , ła t w ą c z y t e l n o ś c i ą , sto su n k o w o d u ż ą z w i ę z ł o ś c i ą p r z y j e d n o c z e s n e j d u ż e j n ie j e d n o z n a c z n o ś c i i s ł a b e j w i­

d z i a l n o ś c i p ro g ra m u . Gdy z w ię k s z a s i ę s z c z e g ó ło w o ś ć o p i s u , wówczas z m n ie j­

s z a s i ę je g o n ie je d n o z n a c z n o ś ć o r a z z w i ę z ł o ś ć , n a t o m i a s t l e p s z a . s t a j e s i ę w i­

d z i a l n o ś ć p ro g ra m u .

3 . 2 . K onw encja g ra f ic -z n a

K onw encja t a p o le g a na rysunkowym p r z e d s t a w i e n i u a lg o r y tm u . J e s t t o do c h w i li o b e c n e j n a j c z ę ś c i e j s p o ty k a n a k o n w e n c ja . U ję c ie a lg o r y tm u z b li ż o n e

(5)

O pew nych k o n w e n c ja c h b o t a c j i .

j e s t do k o n w e n c ji w e r b a l i s t y c z n e j , w zb o g aco n ej o e le m e n ty g r a f i c z n e . Wyróż­

n i ć t u t a j można n a s t ę p u j ą c e sp o s o b y ry s o w a n ia : - k la s y c z n y sc h e m a t b lo k o w y , np [7 , 14] , - sch em at: ty p u d ia g r a m , n p . [2] , - sc h e m a t ty p u d rz e w o , n p . [1] , - sc h e m a t ty p u g r a f , n p . [3] , - sc h e m a t u p r o s z c z o n y , n p . [18] .

K onw encja g r a f i c z n a n i e zaw sze J e s t Je d n a k z a d o w a la ją c a d l a zaaw ansow a­

n y c h p ro g r a m is tó w c z y p r o j e k tą n t ó w o p ro g ra m o w a n ia , k t ó r z y p o t r a f i ą " w id z i e ć 1 p ro g ra m b e z sc h e m a tu rysunkow ego lu b n i e l u b i ą ry s o w a ć " p u d e ł e k " .

3 . 3 . K onw encja sy m b o lic z n a

K onw encja t a b a z u je na s to s o w a n iu ró ż n e g o r o d z a j u s y m b o lik i w c e l u z w ię ­ k s z e n i a je d n o z n a c z n o ś c i z a p is ó w . W yróżnić t u t a j można n a s t ę p u j ą c e sp o s o b y n o t a c j i : z a pom ocą o p e ra to ró w blokow ych ( n p . B u s le n k o ) , za pomocą g ra m a ty k

( n p . Chomsky, Mc C a r th y ) , a ta k ż e i n d y w id u a l i s t y c z n e n o t a c j e ( n p . Wymore).

O p e r a to r y b lokow e w prow adzone j e s z c z e w l a t a c h 50 p r z e z Lapunowa [9] , a n a s t ę p n i e s z e r o k o sto so w a n e p r z e z B u s le n k ę [4] w m odelow aniu system ów z ł o ­ ż o n y c h - o d p o w ia d a ją w z a s a d z i e elem entom sc h e m a tu blokow ego w k o n w e n c ji g r a f i c z n e j . P rz y k ła d o w y z a p i s może m ieć n a s t ę p u j ą c ą p o s t a ć :

1V 2 ł 18 A3 6 ' 16w4 ł 7 L5 G6 \ F8 M9 M10 A11 ' * 12ł14

15 12 1 3 ,1 4 . w ł4 1 2y

*13 14 H 5 16 17 1 18

g d z ie p o s z c z e g ó ln e sym bole o z n a c z a ją : A, - b lo k o b l i c z e ń a r y tm e ty c z n y c h , W. - b lo k w arunkow y,

L. - l i c z n i k ,

G, - g e n e r a t o r f u n k c j i s t o c h a s t y c z n e j , F. - g e n e r a t o r f u n k c j i d e t e r m i n i s t y c z n e j ,

M, - b lo k o b l i c z a j ą c y w a r to ś ć m aksym alną l u b m in im a ln ą f u n k c j i , Y, - b lo k w y jśc io w y - r e d a k c j a w yników .

P o n a d to : z a p i s Gc o z n a c z a , że z b lo k u Ge s t e r o w a n ie z o s t a n i e p r z e k a z a n e do 4 13 14

b lo k u n r 4} z a p i s ’ o z n a c z a , że o p e r a to r o w i s t e r o w a n ie może być p r z e k a z a n e z b lo k u n r 13 lu b n r 14; z a p i s W2 ł1 8 o z n a c z a p r z e k a z a n i e s t e r o ­ w a n ia do b lo k u n r 1 8 , gdy w arunek b a d a n y w b lo k u Wg n i e J e s t s p e ł n io n y ; s t r z a ł k a do g ó ry o z n a c z a ła b y s y t u a c j ę o d w ro tn ą .

(6)

17 4 Roman K o n ie c z n y

S zczegółow y o p is w y sp ecy fik o w an y ch bloków może być podany w k o n w e n c ji w e r b a l i s t y c z n e j ( s ło w n ie ) lu b . s y m b o lic z n e j ( c i ą g wzorów m a te m a ty c z n y c h ), lu b w obu ty c h k o n w e n c ja c h .

Wśród in n y c h n o t a c j i na uwagę z a s ł u g u j e fo rm a liz m Mc C a r th y ’ e g o . I s t o t n ą c e c h ą te g o fo rm a liz m u j e s t s t r a t e g i a r e k u r s j i , d z i ę k i k t ó r e j z a p i s a l g o r y t ­ mu spro w ad zo n y może być do c ią g u d e f i n i c j i r e k u r e n c y jn y c h [3] . Na p r z y k ł a d :

s i l n i a ( x ) = ( x = 0 —* 1 , x * s i l n i a ( x - 1 ) )

p o t ę g a ( x ,y ) = ( y = 0 - * 1 , t r u e —» x * p o t ę g a ( x ,y - 1 ))

A lgorytm z a p is a n y na b a z ie t e j n o t a c j i s t a j e s i ę ła tw o p ro g ram o w aln y w j ę ­ zy k ach ty p u PASCAL.

In n y p r z y k ł a d t o n o t a c j a W yaore’ a [ j l ] - p rz e z n a c z o n a do o p is u system ów z ło ż o n y c h . Stanow i ona p o ł ą c z e n i e w y s o k ie j a b s t r a k c j i m a te m a ty c z n e j ze s t o ­ sunkowo p r o s t ą sy m b o lik ą o z w ię k s z o n e j o p is o w o ś c i. P o n iż e j p odana u p r o s z ­ c zo n y fr a g m e n t z a p is u w t e j n o t a c j i .

P rz y jm ijm y , że s y s te m Z b ę d z ie s z ó s t k ą :

Z = ( S , W, F, Y, T , r )

g d z ie p o s z c z e g ó ln e e le m e n ty s ą z d e fin io w a n e , n a s t ę p u j ą c o : STANY(Z) = S;

WEJSCIA(Z) = W }

BRAMYWEJSCIOWE(Z) = I , J e ś l i W ■ X I d la pewnego z b io r u n ie p u s te g o I z b i o ­ rów n i e p u s t y c h i I ) 2 ,

= {w} w przeciw nym p rz y p a d k u ; FUNKCJEWEJSCIA(Z) = F •,

ZACHOWANIE(Z) = Y;

SKALACZASU( Z) = T ; ru c h ( Z ) = r .

Na b a z i e pow yższego z a p is u można z d e f in io w a ć p o d sy s te m :

N ie c h Z i Z * b ę d ą sy s te m a m i. Wówczas Z j e s t podsystem em sy s te m u Z* w te ­ dy i t y l k o w te d y , gdy:

STANY (Z) C STANY(Z*)-, WEJSCIA(Z) C WEJSCIA(Z*);

FUNKCJAWEJŹCIA(Z) C FUNKCJAWEJS^IAiZ*) ; SKALACZASU(Z) C SKALACZASU(Z*);

o r a z d la k a ż d e j f u n k c j i f e FUNKCJAWEJS^IAfZ) i k ażd eg o t & SKALACZASU(Z) ( r u c h ( Z ) ) ( f , t ) = o g r a n i c z e n ie ( ( r u c h (Z * ) ) ( f , t ) , STANY( Z) ) .

W l a t a c h 70 d r T . O ren o p ra c o w a ł k o m p i l a t o r , d la k tó r e g o ję z y k ie m ź r ó d ł o ­ wym j e s t ję z y k s p l e c i o n e j t e o r i i system ów Wymore, a ¡13] . Języ k o w i tem u n a ­

(7)

O pew nych k o n w e n c ja c h n o t a c j i , 175

d a ł nazwę GEST, k t ó r a J e s t akronim em nazwy G E n erał S ystem T h eo ry im p lem en - t o r . I n s t r u k c j e p r z y jm u ją w tym k o m p ila t o r z e n a s t ę p u j ą c ą p o s t a ć : n i e c h Ż b ę d z ie s y s te m e m ,-k tó re g o STANY(Z) s ą t a k i e « , . , W E jiciA (Z ) t a k i e . . . i t d . Można w t e n sp o só b o k r e ś l i ć z e s p ó ł system ów z p rzy p o rz ą d k o w a n ie m bram w e j­

śc io w y c h i o k r e ś le n ie m f u n k c j i w y jś c ia o r a z z a ż ą d a ć o d p o w ie d z i na p y t a n i a d o ty c z ą c e k o n k r e t n e j t r a j e k t o r i i c z a so w e j lu b t r a j e k t o r i i w y jśc io w y c h d la z d e fin io w a n e g o w t e n s p o s ó b sy s te m u w ynikow ego.

K onw encja s y m b o lic z n a n o t a c j i alg o ry tm ó w sto so w a n a p r z e d e w s z y s tk im do o p is u system ów z ło ż o n y c h - c h a r a k t e r y z u j e s i ę : d u żą u n i w e r s a l n o ś c i ą , d użą z w i ę z ł o ś c i ą i j e d n o z n a c z n o ś c ią , n a to m ia s t g o r s z ą c z y t e l n o ś c i ą . W k o n w e n c ji t e j m ożliw e j e s t n a j b a r d z i e j z w ię z łe tw o r z e n i e z a p is ó w na ró ż n y c h p o zio m ach a b s t r a k c j i , p r z e z co j e s t ona wygodna do f o r m a l i z a c j i t a k i c h z a g a d n ie ń i n ­ f o r m a ty c z n y c h , j a k n p . "sam ooprogram ow yw anie s i ę 11 kom p u teró w , t j . g e n e ro w a ­ n i e p r o c e d u r , m a c ie r z y a lg o ry tm ó w , a n a w e t r e k u r e n c y jn e g e n e ro w a n ie języków p ro g ra m o w a n ia . I s t n i e j e r ó w n i- ż m o żliw o ść t a k i e g o z d e f i n io w a n ia s y m b o li k i, że z a p is y na wysokim s z c z e b l u a b s t r a k c j i m a te m a ty c z n e j w id z ia n e b ę d ą w p ro s t ja k o i n s t r u k c j e J ę z y k a p ro g ra m o w a n ia .

3 . 4 . K onw encja m e ta p ro g r a m is ty c z n a

I d e a w y k o r z y s ta n ia Ję z y k a p ro g ram o w an ia d o 'n o t a c j i alg o ry tm ó w s i ę g a l a t 5 0 . W tym c e l u opracow ano s z e r e g ję z y k ó w , z k t ó r y c h n a j b a r d z i e j p o p u la r n y b y ł ALG0L-60 (ALGOrythmi ó a r g u a g e ) . W l i t e r a t u r z e c z ę s t o s p o ty k a n a b y ł a o d ­ m iana te g o j ę z y k a , tz w . ALGOL p u b l i k a c y j n y . C h o d z iło o w y k o r z y s ta n ie i n s t r u k ­ c j i ALGOLu-60 t y l k o do n o t a c j i a lg o r y tm u , a_ n i e do p i s a n i a p ro g ra m u . (W tym m i e js c u n a l e ż y t a k ż e p rz y p o m n ie ć i n t e r e s u j ą c ą p o l s k ą p ró b ę w tym z a k r e s i e - j a k ą b y ł ję z y k SAKO [12] . )

Z c h w ilą gdy ALG0L-60 s t a ł s i ę n ie w y s t a r c z a j ą c y do n o t a c j i z ło ż o n y c h a l ­ gorytm ów , z a c z ę t o tw o rz y ć in n e s p e c j a l n i e do te g o c e l u p rz e z n a c z o n e m e t a ję ­ z y k i . J a k o p r z y k ł a d p o d a ć t u można n a s t ę p u j ą c e o p ra c o w a n ia : P id g i n ALGOL [i]

do o p is u p ro c e d u r* ję z y k MIL do p ro g ram o w an ia w i e l k i e g o , - ję z y k ’ PSL do o p is u problem ów 0 7 ] , c z y t e ż ję z y k CLAN do o p is u p ro c e s ó w w s p ó łb ie ż n y c h [8] .

P o n iż e j podano p r z y k ł a d z a p i s u w P id g i n AifiOLu [ i] :

comment z a p i s i l u s t r u j e a lg o r y tm D i j k s t r y w y z n a c z a n ia n a j k r ó t s z y c h d ró g o u s ta lo n y m p o r z ą d k u .

WEJŚCIE: G ra f n ie z o r ie n t o w a n y G = ( V ,Ę ), w ie r z c h o ł e k p o c z ą tk o w y v Q e V i f u n k c j a 1 ^ p rz y p o rz ą d k o w u ją c a k a ż d e j k ra w ę d z i l i c z b ę n ie u je m n ą , zw aną d ł u g o ś c i ą k r a w ę d z i. P rz y jm u je m y , że j e s t rów ne + oo, j e ż e l i i 4 J i n i e p ro w a d z i kraw ędź do do V j, o r a z że l ( v , v ) = 0 .

WYJŚCIE: D la k ażd e g o v € V m in im a ln a w a r to ś ć sumy w a r t o ś c i k ra w ę d z i d r o ­' r g i P p ro w a d z ą c e j od v Q do v.”

(8)

Roman K o n ie c z n y

METODA: K o n stru u je m y z b i ó r S Q V t a k i , że n a j k r ó t s z a d ro g a od v Q do k a ż ­ dego w ie r z c h o ł k a z b io r u . S p ro w a d z i p r z e z w ie r z c h o ł k i z b i o r u S.

T a b l i c a D [v] z a w ie r a a k t u a l n e d ź u g o ś c i n a j k r ó t s z y c h d ró g od v Q do v p ro w a d z ą c y c h p r z e z w ie r z c h o ł k i z b i o r u S.

b e g ln 1 . S - { v 0} ; 2 . D [vq] - 0 |

3 . f o r e a c h v e V - do D[v] — 1 ( v Q, v ) j 4 . w h ile S 4 V do

b e g ln

5 . w y b ie rz z e z b io r u V - S w i e r z c h o łe k w, d l a k tó r e g o D [w]

j e s t n a j m n i e j s z e j

6 . d o d a j w do S ;

7 . f o r e a c h v e V - S do

8 . D [v ]— MIN(D [v] , D [w] + l ( w , v ) )

end end

Z .in n y c h z a s ł u g u j ą c y c h na o d n o to w a n ie ję z y k ó w w y ró ż n ić n a le ż y : LOGLAN o r a z MIL. J ę z y k i t e - obok P id g i n ALGOLu - s ta n o w ić mogą w io d ą c e p r z y k ł a d y d l a k o n w e n c ji m e ta p r o g r a m is ty c z n e j.

W LOGLANie [15] ła tw o można o p isy w ać z ło ż o n e ty p y i s t r u k t u r y d an y ch , a t a k ż e p r o c e s y r ó w n o le g łe . D z ię k i m echanizm ow i p r e f i k s o w a n i a ( t j . s k ł a d a n i a modułów)' m ożliw e j e s t o p is y w a n ie system ów h i e r a r c h i c z n y c h o r ó ż n y c h p o z i o ­ mach a b s t r a k c j i . D z ię k i w budow anej k l a s i e SIMULATION J ę z y k t e n może być ró w n ie ż u ż y ty do m odelow ania z a g a d n ie ń t r a n s p o r t o w y c h .

O p raco w an ie ję z y k a MIL (M odule I n t e r c o n n e c t i o n L an g u ag e) m ia ło za z a d a ­ n i e u ł a t w i ć o s i ą g a n i e n a s t ę p u j ą c y c h c e ló w £17] :

1 . Z a c h ę c e n ie do o k r e ś l e n i a s t r u k t u r y s y s te m u p r z e d ro z p o c z ę c ie m program ow a­

n i a s z c z e g ó łó w .

2 . Z a c h ę c e n ie do p ro g ram o w an ia modułów p r z y z a ło ż e n iu popraw nego śro d o w is k a ( t j . o t o c z e n i a p ro g ra m o w e g o ), l e c z b e z z n a jo m o ś c i je g o n i e i s t o t n y c h s z c z e ­ g ó łó w .

3 . Z a c h ę c e n ie do tw o r z e n ia h i e r a r c h i i s y s te m u p r z y rów noczesnym z e z w o le n iu n a sw obodne, l e c z z d y s c y p lin o w a n e p o łą c z e n i a m ięd zy m odułam i.

4 . Z a c h ę c e n ie do u k ry w a n ia in f o r m a c j i i budowy m aszyn w i r t u a l n y c h , t j . p od­

sy stem ó w , k tó r y c h w ew n ętrzn a s t r u k t u r a j e s t u k r y t a , a l e k t ó r e d o s t a r c z a ­ j ą p o ż ą d a n y c h zaso b ó w .

5 . Z a c h ę c e n ie do o p is u w zajem nych p o w ią z a ń modułów ( t j . c z ę ś c i p ro g ram u ) n i e z a l e ż n i e od o p is u sam ych modułów.

(9)

W s z y s tk ie pow yższe z a b i e g i w prow adzone w ję z y k u MIL u m o ż liw ia ją p ły n n e p r z e j ś c i e od a b s t r a k c y j n e g o o p is u fo rm a ln e g o s y s te m u - w y rażan eg o c z ę s t o w k o n w e n c ji s y m b o lic z n e j - do k o n k re tn e g o p r o j e k t u o p ro g ram o w an ia d l a d o w o l­

nego ty p u k o m p u te ra .

4 . Uwagi końcowe

W t a b e l i 1 z e s ta w io n o omówione w a r t y k u l e k o n w e n c je n o t a c y j n e . Z z a p r e ­ z e n to w a n y c h sposobów n o t a c j i a lg o ry tm ó w k o n w e n c ja m e t a p r o g r a m is ty c z n a , z u - w agi na n a j l e p s z ą w i d z i a l n o ś ć p ro g ram u - w y d aje s i ę byó n a j b a r d z i e j p r e d y - sty n o w a n ia do tw o r z e n i a p r o je k tó w o p ro g ram o w an ia z ło ż o n y c h sy stem ó w .

T a b e la 1

O pewnych konw encjach n o t a c j i . . . 177

S tosow ane k o n w e n c je n o t a c j i alg o ry tm ó w program ów kom puterow ych

1 . KONWENCJA WERBALISTYCZNA

1 a) O p is z a r y s o ­

wy 1b) O pis ty p u

p r z e p i s 1c) O p is ty p u

HIPO 1d) O p is l i n ­

g w is ty c z n y

2 . KONWENCJA GRAFICZNA

S to so w an y n a j c z ę ś c i e j s t a n d a r d - ry sunkow ego odw zorow ania sch e m a tu blokow ego p ro g ra m u .

3 . KONWENCJA SYMBOLICZNA

3 a ) O p e ra to rjy blokow e Lapunowa

3 b ) G ram aty k i n p . Chomsky, Mc C a rth y

3 c ) N o ta c ja Wymore’ a

3d) I n d y w id u a l i­

s ty c z n e no­

t a c j e

4 . KONWENCJA METAPROGRAMISTYCZNA

4 a ) J ę z y k p ro g ram o w an ia w y k o rzy sty w an y do n o t a c j i a lg o ry tm u (n p . ALGOL 60)

4 b ) S p e c ja l n y m e ta ję z y k p r z e z n a c z o n y do n o t a c j i algorytm ów , np'.. P id g i n ALGOL p u b l i k a c y j n y , ję z y k PSL do o p is u p ro b lem ó w .

P r z e d s ta w io n y a r t y k u ł s y g n a l i z u j e je d y n i e p r o b le m a ty k ę , k t ó r e j - zdaniem a u t o r a - p o ś w ię c a s i ę sta n o w c z o z b y t m ało uw agi w p u b l i k a c j a c h in f o r m a t y c z ­ n y c h . Rów nież w d y d a k ty c e c z ę s t o zapom ina s i ę o tym - u c z ą c za w s z e lk ą cen ę p ro g ram o w an ia w ja k im ś ję z y k u ( n a j c z ę ś c i e j u z a le ż n io n y m od p o s ia d a n e g o s p r z ę t u kom puterow ego ) ( a n i e z w r a c a ją c uw agi na z a g a d n i e n ia s z e r s z e i . b a r d z i e j u n iw e r s a ln e - z w ią z a n e z o p isem form alnym r o z p a try w a n y c h k w e s t i i .

O c z y w iś c ie , w ybór k o n w e n c ji n o t a c y j n e j j e s t sp ra w ą t r o c h ę f i l o z o f i c z n ą , p o d o b n ie j a k w ybór m e to d o lo g ii o p is u ś w i a t a . . . O p is t e n może b y ć dokonany na p ł a s z c z y ź n i e m a te m a ty c z n e j l u b a r t y s t y c z n e j ; z a pom ocą rów nań r ó ż n i c z ­ kowych l u b z d a r z e ń , t o p o l o g i i l u b r e k u r e n c j i . . . P a m ię ta ć je d n a k n a l e ż y , j a k

■ p isa ł p r o f . W.M. T u r s k i w k s i ą ż c e " P r o p e d e u ty k a i n f o r m a t y k i " , że„D obór w ła ś ­ ciw y ch k o n w e n c ji n o ta c y j n y c h s ta n o w i c z ę s t o n i e t y l k o o c z y t e l n o ś c i p r z e k a ­

(10)

Roman K o n ie c z n y

zyw anych t r e ś c i , a l e t a k ż e o k l a s i e w ia d o m o ś c i, k t ó r e chcem y p r z e k a z a ć . K onw encje n o ta c y jn e w p ły w a ją t a k ż e na s t y l , w ja k im s ą w yrażone w ia d o m o ś c i''.

R o z s z e r z a j ą c t ę m y ś l, można p o s ta w ić t e z ę , że w p r z y j ę t e j n o t a c j i tk w i l e p ­ s z e l u b g o r s z e r o z w ią z a n ie p r o b l e m u ,.. Tkwi s u k c e s l u b p o ra ż k a p r o j e k t u .

LITERATURA

[1] Aho A .V ., H o p c r o f t J . E . , U llm an J . D . : P r o je k to w a n ie i a n a l i z a a l g o r y t ­ mów k o m p u tero w y ch . PWN, W arszawa 1 9 8 3 .

[2] B auer F . L . , Goos G .: I n f o r m a ty k a . WNT, W arszawa 1 9 7 7 .

[3] B rady J .M .: In fo rm a ty k a te o r e ty c z n a w u j ę c i u p ro g ra m isty c z n y m . WNT, W arszawa 1983.

[4] B u sle n k o N .P .: M o d i e ll r o w a n ije s ło ż n y c h s i s t i e m . Wyd. "N au k a", Moskwa 1978.

[5] B uslenko N .P ., K ałacznikow W.W., Kowalenko O .N .: T e o ria system ów z ł o ­ ż o n y c h . PWN, W arszawa 1979.

[6] HIPO - A D e sig n A id an d D o c u m e n ta tio n T e c h n iq u e . Form GC20 - 1 9 5 1 , IBM.

[?] Hughes J . K . , M ichtom J . I . : A s t r u c t u r e d A pproach to P rogram m ing.

P r e n t i c e - H a l l , I n c . , Englew ood C l i f f s , New J e r s e y 0 7 6 3 2 , 1977.

[8] Is z k o w s k ie W., M a n ie c k i M.: P ro g ram o w an ie w s p ó łb ie ż n e . WNT, W arszawa 1 9 8 2

.

[9] Je rsz o w A .P .: W prowadzenie do t e o r i i . p ro g ram o w an ia. WNT, Warszawa 1981

.

[10] Kaufmann H .: D z ie je kom puterów . PWN, Warszawa 1980.

[11 ] K l i r G .J . (p r a c a zb io ro w a) 1 O gólna t e o r i a system ów . WNT, Warszawa 1976.

[12] Ł ukaszew icz L . , M azu rk iew icz A .: System au to m aty czn eg o program ow ania SAKO. Wyd. PAN, Warszawa 1966.

[13] O r e n .T .I .: GEST: G e n e ra l System T heo ry Im p le m e n to r. A Combined D i g i t a l S im u la t io n L a n g u a g e . D o c to r a l D i s s e r t a t i o n , U n i v e r s i t y o f A riz o n a , T u cso n 1971.

[14] P o ls k i K o m itet N o rm a liz a c ji i M iar: PN -75/E -01226 - P rz e tw a r z a n ie d a­

n y c h . Symbole g r a f i c z n e . Wyd. N o r m a liz a c y jn e , Warszawa 1976.

[15] S a lw ic k i A .: M e to d o lo g ia program ow ania w LOGLANIE. M a te r ia ły J e s ie n n e j S z k o ły P T I, S e ro c k 1 9 8 5 .

[16] S tach o w icz M .S ., K ochańska M .E .: I d e n t y f i k a c j a o b ie k tó w o n ie p e ł n e j i n f o r m a c j i . M a t e r ia ły K o n f e r e n c j i Naukowej " A k tu a ln e p ro b le m y t r a n s p o r ­ t u szy n o w eg o ", P o l i t e c h n i k a K rak o w sk a, g r u d z i e ń 1985.

[17] T u rs k i M.W. 5 M eto d o lo g ia p ro g ram o w an ia. WNT, Warszawa 1978.

[18] Wawiłow A.A. ( p r a c a z b io r o w a ) : I m lt a c j o n n o j e m o d i e l i r o v a n j e p r o i z v o d - s t v ie n n y c h s i s t i e m , " M a s z i n o s t r o j e n i j e " , Moskwa, " T e c h n ik a " , B e r l i n 19 8 3 .

R e c e n z e n t:

Doc. d r J a n W iesn er

W płynęło do R e d a k c ji 2 9 .0 9 .1 9 8 6

(11)

O pewnych konw encjach n o t a c j i . 179

0 HEKOTOPO/i KOHBEHHUHH HOTAUHH AJITOPHTMOB KOMTlhMTEPHitX ÜPOrPAMM

P e 3 10m e

B c i a i t e 3aTparKBa»TCH Bonpocu aaimcH ajiropniMOB KOMnBioiepHüx n p o rp a m i.

BbwejieHH C B oâciB a xopom efl HOiauHH axropHTMa. ConocxaBjieHU Taxxe npHMeHaettae KOHBeHUHH HOiaitHiÎ. BblOop HySHOiî HOXaliHOHHOâ KOHBeHUHH B

60

JIb

2

J

0

Ü c x e n eiu i o n p e x e x a e i K an eciB o n p o e x ia nporpaMMHoro oCecneveHH« KOMnbx>xepa. flpHMeHae- Mbie KOHBeHiiHH c o n o cia B jieH a b e x a ib e »

IIp eA C T a B J ieH H H e b p a 6 o x e n p o Ô x e M H æ o j e k h h 6h t l x a i c x e , n o M BeH inc a E i o p a t 3 K c n o H H p o B a H H b a i m a K i H K e n p e a iie T O B no H H $ o p M a r n K e.

ON SOME CONVENTIONS OF ALGORITHMS NOTATION FOR COMPUTER PROGRAMS

S u m m a r y

P ro b le m s o f p ro g ra m a lg o r it h m s n o t a t i o n s a r e d i s c u s s e d . P r o p e r t i e s o f

good n o t a t i o n s a r e p r e s e n t e d . N o ta ti o n c o n v e n tio n s u s e d i n p r a c t i c e a r e s e t u p . The p r o p e r c h o ic e d e te r m in e s t h e q u a l i t y o f co m p u ter program m ing d e s i g n . The n o t a t i o n c o n v e n tio n s a r e g a t h e r e d i n t h e f o l l o w i n g g ro u p s : - Word - d e s c r i p t i v e c o n v e n tio n ( b a s e d on t h e d e s c r i p t i o n n e a r t o t h e n a t u ­

r a l o n e)

- G r a p h ic a l c o n v e n ti o n (b a s e d on t h e d ra w in g sy m b o ls)

- S y m b o lic c o n v e n ti o n (b a s e d on t h e a b s t r a c t i v e ways o f d e s c r i p t i o n ) - M e ta p ro g ra m m is tic c o n v e n tio n ( b a s e d on t h e d e s c r i p t i o n c l o s e t o t h e com­

p u t e r p ro g ra m )

P ro b le m s p r e s e n t e d i n t h e p a p e r s h o u ld b e more e x t e n s i v e l y p r e s e n t e d i n t h e co m p u te r s c i e n c e e d u c a t io n .

Cytaty

Powiązane dokumenty

Poruszając problem zagrożo- nego prawidłowego rozwoju człowieka, papież Franciszek odwołuje się do koncepcji rozwoju zrównoważonego i in- tegralnego2. Wskazuje na

W ten sposób wcześniejszy podział elementów ochrony prawa pracy na przymioty związane ze stosunkiem pra­ cy i inne okoliczności został zarzucony, skoro niektóre

I choć wiele osób się dziwi, jest to dla mnie o wiele łatwiejsze medium, dlatego że lubię technikę filmową.. Poza tym dla mojej psychiki też jest to lepsze, bo zawsze bardzo

CAATs, Audytor SI powinien sprawdzać integralność systemu informatycznego oraz środowiska, z którego pobierane są dane.. CAATs mogą być używane do pobierania

545, Sprawozdanie z całokształtu działalności Społecznego Komitetu Odbu- dowy Kraju i Stolicy SFOS na terenie województwa olsztyńskiego w latach 1946–1965, s.

Z roku 1928 nie zachowały się raporty Konsulatu Generalnego RP w Char­ kowie oraz Konsulatu RP w Kijowie, dotyczące sytuacji wewnętrznej na Ukra­ inie. Pierwszym zachowanym

Z drugiej strony specjalizacja funkcjonalnych aspektów pro­ gramów sprawia, że o ile w początkowej fazie rozwoju informatyki przez pojęcie oprogramowania rozumiano w zasadzie

Chodzi tu więc o przechodzenie z kodu wynikowego (maszynowego), to jest postaci, w której jest udostępniany program i który jest czytelny dla komputera, do kodu