0
 String s = ""; 

    myf = new Finch();
    do
    {
        //Run the menu until quit or cancel is selected
        s = FinchMenu();
        //menu 1
        if (s.equals("Back and forward")) RunAccelerationTest(s);
    }

你如何将这样的东西转换为伪代码?例如

String s = "";

它的伪代码会是这样的吗?

Set s to ""

这对我来说似乎是错误的。

请问有什么帮助吗?谢谢

4

3 回答 3

12

我认为伪代码没有预定义的语法。只需遵循两条规则:

  • 它应该是具有通用编程结构的简单英语。

  • 它应该是通用的,而不是特定于任何语言。

以下应该适合:

Step 1: Initialize an empty string. (say str)

Step 2: Construct a new 'Finch' object.

Step 3: BEGIN LOOP

            Fetch 'FinchMenu' from 'Finch' object.

            assign 'FinchMenu' to 'str'

            IF 'FinchMenu' is "Back and forward"

                Call 'RunAccelerationTest' method with 'str' as argument.

            END IF

        END LOOP
于 2012-12-19T14:26:01.520 回答
0

伪代码只是一种非语言特定的人类可读的演练,无论您尝试做什么。

您可以编写set s to ""或什make s an empty string至或任何其他内容来描述此步骤正在做什么。

于 2012-12-19T14:20:26.070 回答
0

一般来说(这完全是我使用伪代码的方式,而不是按照规则设置的任何东西)我使用伪代码来摆脱任何样板文件或语法正确。

例如,假设我有以下 Java 代码...

import java.io.*;
class FileRead 
{
 public static void main(String args[])
  {
  try{
  // Open the file that is the first 
  // command line parameter
  FileInputStream fstream = new FileInputStream("textfile.txt");
  // Get the object of DataInputStream
  DataInputStream in = new DataInputStream(fstream);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String strLine;
  //Read File Line By Line
  while ((strLine = br.readLine()) != null)   {
  // Print the content on the console
  System.out.println (strLine);
  }
  //Close the input stream
  in.close();
    }catch (Exception e){//Catch exception if any
  System.err.println("Error: " + e.getMessage());
  }
  }
}

我对伪代码的解释类似于......

main() {
FileInputStream fstream = new FileInputStream(fileLocation);
BufferedReader br = BufferedReader(.....fstream);
String str;
while(br.readline!=empty, str=br.readline) {
  System.out(str);
}
}

现在,除了我之外,这段代码可能对任何人都没有用——但我知道我可以快速查看它,看看它是什么,并在必要时编写它。在会议等中快速记笔记很有用,如果我想编写快速的伪代码,我不会考虑异常处理之类的事情。

于 2012-12-19T14:26:30.890 回答