snap10
1、SI-NS图技术简介 3、SI-NS图表达规范 5、SI-NS图技术影响
2、国内外研究现状 4、SI-NS图表达实例 6、参考文献和附图
 
4、SI-NS图表达实例

1、源自aerojockey.com的C代码程序

        以下是一个源自www.aerojockey.com的C代码程序:

#include                                     <math.h>

#include                                   <sys/time.h>

#include                                   <X11/Xlib.h>

#include                                  <X11/keysym.h>

                                          double L ,o ,P

                                         ,_=dt,T,Z,D=1,d,

                                         s[999],E,h= 8,I,

                                         J,K,w[999],M,m,O

                                        ,n[999],j=33e-3,i=

                                        1E3,r,t, u,v ,W,S=

                                        74.5,l=221,X=7.26,

                                        a,B,A=32.2,c, F,H;

                                        int N,q, C, y,p,U;

                                       Window z; char f[52]

                                    ; GC k; main(){ Display*e=

 XOpenDisplay( 0); z=RootWindow(e,0); for (XSetForeground(e,k=XCreateGC (e,z,0,0),BlackPixel(e,0))

; scanf("%lf%lf%lf",y +n,w+y, y+s)+1; y ++); XSelectInput(e,z= XCreateSimpleWindow(e,z,0,0,400,400,

0,0,WhitePixel(e,0) ),KeyPressMask); for(XMapWindow(e,z); ; T=sin(O)){ struct timeval G={ 0,dt*1e6}

; K= cos(j); N=1e4; M+= H*_; Z=D*K; F+=_*P; r=E*K; W=cos( O); m=K*W; H=K*T; O+=D*_*F/ K+d/K*E*_; B=

sin(j); a=B*T*D-E*W; XClearWindow(e,z); t=T*E+ D*B*W; j+=d*_*D-_*F*E; P=W*E*B-T*D; for (o+=(I=D*W+E

*T*B,E*d/K *B+v+B/K*F*D)*_; p<y; ){ T=p[s]+i; E=c-p[w]; D=n[p]-L; K=D*m-B*T-H*E; if(p [n]+w[ p]+p[s

]== 0|K <fabs(W=T*r-I*E +D*P) |fabs(D=t *D+Z *T-a *E)> K)N=1e4; else{ q=W/K *4E2+2e2; C= 2E2+4e2/ K

 *D; N-1E4&& XDrawLine(e ,z,k,N ,U,q,C); N=q; U=C; } ++p; } L+=_* (X*t +P*M+m*l); T=X*X+ l*l+M *M;

  XDrawString(e,z,k ,20,380,f,17); D=v/l*15; i+=(B *l-M*r -X*Z)*_; for(; XPending(e); u *=CS!=N){

                                   XEvent z; XNextEvent(e ,&z);

                                       ++*((N=XLookupKeysym

                                         (&z.xkey,0))-IT?

                                         N-LT? UP-N?& E:&

                                         J:& u: &h); --*(

                                         DN -N? N-DT ?N==

                                         RT?&u: & W:&h:&J

                                          ); } m=15*F/l;

                                          c+=(I=M/ l,l*H

                                          +I*M+a*X)*_; H

                                          =A*r+v*X-F*l+(

                                          E=.1+X*4.9/l,t

                                          =T*m/32-I*T/24

                                           )/S; K=F*M+(

                                           h* 1e4/l-(T+

                                           E*5*T*E)/3e2

                                           )/S-X*d-B*A;

                                           a=2.63 /l*d;

                                           X+=( d*l-T/S

                                            *(.19*E +a

                                            *.64+J/1e3

                                            )-M* v +A*

                                            Z)*_; l +=

                                            K *_; W=d;

                                            sprintf(f,

                                            "%5d  %3d"

                                            "%7d",p =l

                                           /1.7,(C=9E3+

                              O*57.3)%0550,(int)i); d+=T*(.45-14/l*

                             X-a*130-J* .14)*_/125e2+F*_*v; P=(T*(47

                             *I-m* 52+E*94 *D-t*.38+u*.21*E) /1e2+W*

                             179*v)/2312; select(p=0,0,0,0,&G); v-=(

                              W*F-T*(.63*m-I*.086+m*E*19-D*25-.11*u

                               )/107e2)*_; D=cos(o); E=sin(o); } }

  上述C代码程序变换后的SI-NS图:

图areo

2、源自谭浩强教授《C程序设计》例题11.13

  以下C代码程序源自清华大学谭浩强教授的《C程序设计》例题11.13:

#include <stdio.h>
main()
{enum color {red,yellow,blue,white,black};
enum color i,j,k,pri; int n,loop;
n=0;
for (i=red;i<=black;i++)
 for (j=red;j<=black;j++)
  if (i!=j)
   { for (k=red;k<=black;k++)
     if ((k!=i) && (k!=j))
      {n=n+1;
      printf("%-4d",n);
      for (loop=1;loop<=3;loop++)
       {switch (loop)
        {case 1: pri=i;break;
         case 2: pri=j;break;
         case 3: pri=k;break;
         default:break;
       }
      switch (pri)
       {case red:printf("%-10s","red"); break;
       case yellow: printf("%-10s","yellow"); break;
       case blue: printf("%-10s","blue"); break;
       case white: printf("%-10s","white"); break;
       case black: printf("%-10s","black"); break;
       default :break;
       }
      }
   printf("\n");
  }
 }
 printf("\ntotal:%5d\n",n);
}

  例题11-13 C程序代码变换后的SI-NS图:

图例题13