目录

  • 0. 前言
  • 1. 伪代码的基础语法
  • 2. 在word中插入伪代码
  • 2.1 Aurora和Miktex安装
  • 2.2 插入伪代码
  • 参考链接
  • 伪代码模板
  • 模板一
  • 模板二
  • 模板三
  • 模板四
  • 疑难杂症
  • 1. 显示中文?
  • 2. 特殊字符?
  • 3. 换行?


0. 前言

上一次接触伪代码可能还是在现代数字信号处理的课上,那时候只是学了个皮毛,照猫画虎瞎弄了一通,这次因为实际需要得好好学习一下,主要完成以下两个目标:

  1. 伪代码基础知识和语法;
  2. 在word中插入伪代码。

1. 伪代码的基础语法

  • 每一条指令占一行,描述不出的指令可以用文字表示,语句后不接任何符号;
  • 分支、循环语句要有严格的缩进(与python一样),并有结束标记;
for xxx do
	if xxx then
		...
	else if xxx then
		...
	else
		...
	end if
end for
  • 用“<-”来表示赋值

2. 在word中插入伪代码

流着泪终于把伪代码给加入到word里了。

2.1 Aurora和Miktex安装

Office -Word 公式插件Aurora的使用 ——在 Word 中插入 LaTex 公式 提供了安装包,文件解压后也会有安装步骤,在这里另外说明一下:
(一)安装Micro-Miktex软件。其中“basic-miktex-2.9.7152.exe”文件是2.9版本的,在文件夹"aurora插件安装\Aurora2x\Micro-miktex"是2.5版本的,因此只要选一个下载即可,我选的是2.9版本的,并记一下自己安装的路径(在使用2.5的过程中出现了不能下载一些包的情况,2.9版本在安装过程中有个选项为自动下载必要的包)
(二)安装Aurora。在提示需下载、安装Micro-Miktex时,跳过。
(三)使用keygen进行破解Aurora。(上述安装包有提供keygen文件)

2.2 插入伪代码

  1. 打开Aurora
    打开word(2019版本),点击“插入 - 对象”,出现以下界面,选择Aurora Equation点击确定,将出现以下窗口。
  2. 输入内容
    以下内容摘自:【Aurora】在word中插入算法伪代码、表格和公式 开Aurora公式编辑框,在其中写入:
\renewcommand{\thealgorithm}{1}
\begin{algorithm}[H] 
\caption{*******************************************} 
\label{ABCLFRS}
\begin{algorithmic}[1] 
\Require{S,$\lambda$,T,k} 
\Ensure{$\mathbf{w}_{222}$}\\ 
\textbf{initialize}: Set $\mathbf{w}_1 = 0$ 
\For{$t = 1,2,...,T$} 
\State Choose $A_t \subset[m]$
\EndFor
\end{algorithmic} 
 
\end{algorithm}

并在编辑框中的Properties菜单中的Packages选项卡中填入所用到的包:

java伪代码转代码 伪代码如何运行_显示中文

\usepackage{amsmath}
\usepackage{amssymb}
% \usepackage{euler}
\providecommand{\abs}[1]{\left\lvert#1\right\rvert}
\providecommand{\norm}[1]{\left\lVert#1\right\rVert}
\usepackage{bbm}
\usepackage{CJK}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{listings}
\usepackage{amsmath,bm,graphicx,multirow,bm,bbm,amssymb,psfrag,algorithm,subfigure,color,mdframed,wasysym,subeqnarray,multicol}
 
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{amsmath}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}

最后Refresh一下,就可以得到最终的伪代码了,如下图所示:

java伪代码转代码 伪代码如何运行_显示中文_02

  1. 解决Problems running LaTex问题
    一下内容参考:安装Aurora+miktex踩坑Problems running LaTex 解决1:在Properties里的Rendering merhod选择vector或第三个vector(render all fonts)。
  2. java伪代码转代码 伪代码如何运行_算法_03

  3. 解决2:Paths环境不对,应该是Miktex执行文件的位置
  4. java伪代码转代码 伪代码如何运行_伪代码_04

  5. 解决3:添加环境变量
  6. java伪代码转代码 伪代码如何运行_Word_05

  7. win10系统环境变量怎么设置?解决4:将系统时间修改为2015年
    等成功后,再把日期改回来。
    Win10系统如何修改时间

伪代码模板

模板一

java伪代码转代码 伪代码如何运行_java伪代码转代码_06

\renewcommand{\thealgorithm}{1}
\begin{algorithm}[H]
\caption{algorithm caption} %算法的名字
\hspace*{0.02in} {\bf Input:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行
input parameters A, B, C\\
\hspace*{0.02in} {\bf Output:} %算法的结果输出
output result
\begin{algorithmic}[1]
\State some description % \State 后写一般语句
\For{condition} % For 语句,需要和EndFor对应
  \State ...
  \If{condition} % If 语句,需要和EndIf对应
    \State ...
  \Else
    \State ...
  \EndIf
\EndFor
\While{condition} % While语句,需要和EndWhile对应
  \State ...
\EndWhile
\State \Return result
\end{algorithmic}
\end{algorithm}

模板二

java伪代码转代码 伪代码如何运行_java伪代码转代码_07

\begin{algorithm}[H]  
  \caption{Title}  
  \label{alg:Framwork}  
  \begin{algorithmic}  
    \Require  
    xxxxxxxx 
    \Ensure  
   xxxxxxxxx
      \For{xyz}
      \If {yyyyyyy}  
      \State asdfghjkl;
      \Else
      \State qwertyuiop;
       \If{zzzzzzz}
             \State zxcvbnm;
       \EndIf
      \EndIf
   \EndFor  
    \For {abc }  
      \State qazwsxedc; 
    \EndFor
  \end{algorithmic}  
\end{algorithm}

模板三

java伪代码转代码 伪代码如何运行_Word_08

\begin{algorithm}[H] 
	\caption{HHS}
	\label{hhsa}
	\begin{algorithmic}[1]  %1表示每隔一行编号	
		\Require The original signal $x$.
		\Ensure  The energy-time-frequency distribution of $x$. 
		\Function{EMD}{$x, seg\_len$}
		\State $ N \gets length(x) / seg\_len$;
		\For {$i=1 \to i=N$}
		\State $seg(i) \gets x(1+(i-1)*seg\_len : i*seg\_len)$;
		\EndFor
		\EndFunction
	\end{algorithmic}
\end{algorithm}

模板四

Latex写算法的伪代码排版

疑难杂症

1. 显示中文?

2. 特殊字符?

3. 换行?