¡¶±àÒëÔÀíÓë¼¼Êõ¡·Á·Ï°Ìâ 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
ÓïÒ广Ôò