±àÒëÔ­ÀíÓë¼¼ÊõÁ·Ï°Ìâ»ã×Ü ÏÂÔØ±¾ÎÄ

¡¶±àÒëÔ­ÀíÓë¼¼Êõ¡·Á·Ï°Ìâ 17

7.12 ʹÓ÷ÃÎÊÁ´£¨²Î¿¼7.5.2½Ú£©·Ö±ð»­³öÏÂÃæPascal³ÌÐòÖ´Ðе½ £¨1£© µÚ1´Îµ÷ÓÃrÖ®ºóµÄÔËÐÐʱջµÄÄÚÈÝ£» £¨2£© µÚ2´Îµ÷ÓÃrÖ®ºóµÄÔËÐÐʱջµÄÄÚÈÝ£»

program pascal1; procedure p; var x: integer; procedure q;

procedure r; begin

x := 2; ...... if ... then p;

end; { r }

begin

r;

end; { q } begin q; end; { p } begin { pascal1 } p; end.

7.13 ʹÓÃÏÔʾ±ídisplayÖØ×öÁ·Ï°7.12¡£

7.14 ¶ÔÏÂÃæµÄPascal³ÌÐò£¬·Ö±ð»­³ö³ÌÐòÖ´Ðе½µã£¨1£©ºÍ£¨2£©Ê±¿ÌµÄÔËÐÐʱջµÄÄÚÈÝ¡£

program pascal2 (input, output); var i: integer; d: integer; procedure a ( k: real );

var p: char; procedure b;

var c: char;

¡¶±àÒëÔ­ÀíÓë¼¼Êõ¡·Á·Ï°Ìâ 18

begin

...(1)...

end: {b}

procedure c;

var t: real; begin

...(2)...

end: {c}

begin

...... b; c; ......

end; {a}

begin { pascal2 }

...... a (d); ......

end.

7.15 ʹÓÃÏÔʾ±ídisplayÖØ×öÁ·Ï°7.14¡£

7.16 ʵÏÖջʽ¶¯Ì¬´æ´¢¹ÜÀíµÄÒ»¸öÎÊÌâÊÇ£¬ÈçºÎ·ÖÅä¿ÕÏп顣Ç뿼ÂÇÓм¸ÖÖ¿ÕÏпéµÄ·ÖÅä²ßÂÔ£¬²¢±È

½Ïÿ¸ö²ßÂÔµÄÓÅȱµã¡£

7.17 Á˽âÃæÏò¶ÔÏóÓïÑÔ£¨ÈçÃæÏò¶ÔÏóPascal¡¢C++¡¢C#¡¢Java£©ÊÇÈçºÎʵÏÖÀ¬»øËѼ¯ÈÎÎñµÄ¡£ 7.18 ´æ´¢½ôËõÓÐʱҲ³ÆÎª¡°µ¥¿Õ¼ä¸´ÖÆ¡±£¬ÒÔÇø±ðË«¿Õ¼ä¸´ÖÆ£¬ÇëÖ¸³öÁ½ÕßµÄÏà֮ͬ´¦ºÍ²îÒì¡£ 7.19 ΪÒÔϵÄC++Àà»­³ö¶ÔÏóµÄ´æ´¢Æ÷¿ò¼ÜºÍÐéÄ⺯Êý±í£¨²Î¿¼7.6.3½Ú£©£º

class A { public: int a;

virtual void f(); virtual void g();

¡¶±àÒëÔ­ÀíÓë¼¼Êõ¡·Á·Ï°Ìâ 19

}

};

class B: public A { public: int b;

virtual void f(); void h(); }£»

class C: public B { public: int c;

virtual void g();

¡¶±àÒëÔ­ÀíÓë¼¼Êõ¡·Á·Ï°Ìâ 20

Á·Ï° 8

8.1 ÓïÒå·ÖÎöµÄ»ù±¾ÈÎÎñÊÇʲô£¿Çë¼òµ¥ËµÃ÷ËüÃÇ¿ÉÒÔÔÚ±àÒëµÄÄÄЩ½×¶Î»òÕßÓɱàÒëµÄÄÄЩģ¿éÍê

³É£¿

8.2 ¿¼ÂÇÏÂÁÐÎÞ·ûºÅÊýµÄ¼òµ¥Óï·¨£º

number ? digit number | digit digit ? 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

д³ö¼ÆËãnumberÕûÊýÖµµÄÊôÐÔ¹æÔò¡£

8.3 ¸ù¾ÝÏÂÁÐÎÄ·¨£¬¸ø³öÇóÊ®½øÖƸ¡µãÊýµÄÖµµÄÓïÒ广Ôò£¨Ìáʾ£ºÓÃÊôÐÔcount±íʾСÊýµãºóµÄÊý×Ö

ÊýÄ¿£©£º

num ? num.num num ? num digit | digit

digit ? 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

8.4 ¿¼ÂÇÏÂÃæµÄ¼òµ¥µÄPascal·ç¸ñµÄÉùÃ÷£º

decl ? var-list£ºtype

var-list ? var-list£¬id | id

type ? integer | real

£¨1£©ÎªËüÉè¼ÆÒ»¸ö¼ÆËã±äÁ¿ÀàÐ͵ÄÊôÐÔÎÄ·¨£» £¨2£©ÎªÃ¿¸ö²úÉúʽ¶ÔÓ¦µÄÊôÐÔÎÄ·¨»®Ò»¸öÒÀÀµÍ¼£» £¨3£©ÎªÉùÃ÷a, b, c: real»­³öÊôÐÔÒÀÀµÍ¼¡£

8.5 ÐÞ¸ÄÀý8.4ÖеÄÎÄ·¨G8.3£¬Ê¹Ö®Ö»ÓÃ×ÛºÏÊôÐԾͿÉÒÔ¼ÆËãbased-numµÄÖµ¡£ 8.6 ¿¼ÂÇÏÂÁÐÊôÐÔÎÄ·¨£º

ÎÄ·¨¹æÔò

S ? ABC

B.u := S.u A.u := B.v + C.v S.v := A.v

A ? a B ? b C ? c

A.v := 2*A.u B.vl := B.u C.v := 1

ÓïÒ广Ôò