加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用Latex画程序框图

(2010-09-19 20:54:47)
标签:

天元

程序框图

公式编辑器

数学公式

试卷

杂谈

分类: 数学人生

因为Latex的数学公式排版更漂亮,而且不用像Word中插入公式编辑器那样,鼠标、键盘之间不停切换,所以我喜欢用Latex,很少用Word。

 

而遇到作图,我用TY(天元)软件,嵌入Latex后的效果,可以与教科书的的图形相媲美。唯有程序框图,不曾尝试。

 

以前出过一份试卷,上面需要一张程序框图,若也用TY软件作图,还是相当麻烦的。当时只好把试卷的其它部分打印出来,然后手工添上程序框图,心中不免遗憾。

 

前几天闲时无聊,翻那本Latex的书,看到程序框图,终于下定决心,一定要搞定程序框图!

 

通过对书上例题的研究,终于用Latex画出了第一张自己需要的程序框图,添加到原来那份留有遗憾的试卷中。

 

http://s6/middle/570b1484g909c8d433095&690

 

其中的程序框图,tex源文件如下:

\setlength{\unitlength}{1mm}
\newcommand{\wrt}[1]{\makebox(0,0)[c]{#1}}
\newcommand{\lline}[1]{\line(-1,0){#1}}
\newcommand{\rline}[1]{\line(1,0){#1}}
\newcommand{\uline}[1]{\line(0,1){#1}}
\newcommand{\dline}[1]{\line(0,-1){#1}}
\newcommand{\lvec}[1]{\vector(-1,0){#1}}
\newcommand{\rvec}[1]{\vector(1,0){#1}}
\newcommand{\uvec}[1]{\vector(0,1){#1}}
\newcommand{\dvec}[1]{\vector(0,-1){#1}}
\newsavebox{\condition}
\newsavebox{\process}
\newsavebox{\inputoutput}
\savebox{\process}(0,0){\thicklines
  \put(-10,-3){\framebox(20,6){}}
}
\savebox{\condition}(0,0){\thicklines
  \put(-10,0){\line(2,1){10}}
  \put(-10,0){\line(2,-1){10}}
  \put(10,0){\line(-2,1){10}}
  \put(10,0){\line(-2,-1){10}}
  }
\savebox{\inputoutput}(0,0){\thicklines
  \put(-10.5,-3){\rline{18}}
  \put(-10.5,-3){\line(1,2){3}}
  \put(10.5,3){\lline{18}}
  \put(10.5,3){\line(-1,-2){3}}
}
\begin{center}
\begin{picture}(45,73)(20,-73)\thicklines
\put(40,3){\oval(15,6)}\put(40,3){\wrt{开始}} \put(40,0){\dvec{5}}
\put(40,-8){\usebox{\inputoutput}} \put(40,-8){\wrt{输入$m,\,n$}}
\put(40,-11){\dvec{5}} \put(40,-19){\usebox{\process}}
\put(40,-19){\wrt{$i=1$}} \put(40,-22){\dvec{8}}
\put(40,-33){\usebox{\process}} \put(40,-33){\wrt{$a=m\times i$}}
\put(40,-36){\dvec{5}} \put(40,-46){\usebox{\condition}}
\put(40,-46){\wrt{$n$整除$a$?}} \put(40,-51){\dvec{5}}
\put(41,-53){\makebox(0,0)[l]{是}}
\put(40,-59){\usebox{\inputoutput}} \put(40,-59){\wrt{输出$a,\,i$}}
\put(40,-62){\dvec{5}}
\put(40,-70){\oval(15,6)}\put(40,-70){\wrt{结束}}
\put(30,-46){\line(-1,0){15}} \put(28,-45){\makebox(0,0)[b]{否}}
\put(15,-46){\uvec{10}} \put(15,-33){\usebox{\process}}
\put(15,-33){\wrt{$i=i+1$}} \put(15,-30){\line(0,1){5}}
\put(15,-25){\rvec{25}}

\end{picture}
\end{center}

0

阅读 收藏 喜欢 打印举报/Report
后一篇:自编配套练习
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有