用Word排版伪代码out了,推荐这个工具
2018 06 21
算法伪代码排版工具CTeX
多少次你看到别人的的伪代码排版如此完美而惊艳工作总结word排版工作总结word排版,心中不免好奇,怎么设计的?今天,和大家一起学习一款流行的排版利器:CTeX
1排版效果展示
下面演示的是动态规划求最大连乘数组算法的伪代码,关于这个题目的详细介绍可参考:
利用的排版工具为CTeX,排版语言也非常容易上手。
2 排版语法
这个排版格式使用的包模式(命令的首字母大写)工作总结word排版,里面用的较多的 用来声明后面的语句,大家看一看,接下来就可以动手为自己的算法排版伪代码了。
下面列出常用的语句对:
{} end{}
{算法的名称}
表示算法的输入
表示算法的输出
If {$left < $} 表示 if 语句的条件,用一对 $ 括起来
$vara gets varb $ 表示将 varb 赋值给 vara
$$ 表示声明变量 ,必须要带一个_转义下划线
If{}
If{} Else
If{} {} Else
For{}
{}
{}
{}
Loop
{}{
}
{}
如果调用 包要求命令所有字符都要大写
IF{} {}
FOR{} {}
FOR{ TO } {}
{} {}
{} {}
{} {}
LOOP {}
{}
AND, OR, XOR, NOT, TO, TRUE,
3 排版代码
1documentclass[11pt]{ctexart}
2usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
3usepackage{algorithm}
4usepackage{algorithmicx}
5usepackage{algpseudocode}
6usepackage{amsmath}
7
8floatname{algorithm}{算法}
9renewcommand{algorithmicrequire}{textbf{输入:}}
10renewcommand{algorithmicensure}{textbf{输出:}}
11
12begin{document}
13 begin{algorithm}
14 caption{用动态规划求最大连乘数组}
15 begin{algorithmic}[1] %每行显示行号
16 Require $nums$ list
17 Ensure 最大值
18 Function {maxProduct}{$nums$}
19 State $min_prod gets nums[0]$
20 State $max_prod gets nums[0]$
21 State $ret gets nums[0]$
22 State $n gets len(nums)-1$
23 For{$i=1$ to $n$}
24 State $it gets nums[i]$
25 If {$it < 0$}
26 State $min_prod,max_prod gets$ Call{swap}{$min_prod, max_prod$}
27 EndIf
28 State $max_prod gets max(it, it * max_prod)$
29 State $min_prod gets min(it, it * min_prod)$
30 State $ret gets max(max_prod, ret)$
31 EndFor
32 State Return{$ret$}
33 EndFunction
34 State
35 Function{swap}{$a,b$}
36 State $tmp gets a$
37 State $a gets b$
38 State $bgets tmp$
39 State Return{$a,b$}
40 EndFunction
41 end{algorithmic}
42 end{algorithm}
43end{document}
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表本站的观点和立场和对其真实性负责。如需转载,请联系原作者。如果来源标注有误或侵犯了您的合法权益或者其他问题不想在本站发布,来信即删。