1. 請把下面的java代碼用偽代碼寫出來
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供安澤企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為安澤眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
偽代碼(Pseudocode)是一種算法描述語言。
使用偽代碼的目的是為了使被描述的算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實(shí)現(xiàn)。因此,偽代碼必須結(jié)構(gòu)清晰、代碼簡單、可讀性好,并且類似自然語言。
介于自然語言與編程語言之間。以編程語言的書寫形式指明算法職能。
使用偽代碼, 不用拘泥于具體實(shí)現(xiàn)。相比程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。
它是半角式化、不標(biāo)準(zhǔn)的語言??梢詫⒄麄€(gè)算法運(yùn)行過程的結(jié)構(gòu)用接近自然語言的形式(可以使用任何一種你熟悉的文字,關(guān)鍵是把程序的意思表達(dá)出來)描述出來。
String path = "***"File f = new File(path);public void test (F f)File []fs = f遍歷文件夾;for(。){ if(fs[i]是文件){ 輸入 }else{ 遞歸test(fs[i]); }}。
2. JAVA 偽代碼
提示輸入一個(gè)大于2且11的數(shù)字
輸入一整型數(shù)值給Vertices,
if(Vertices 3 || Vertices 11){
提示重新輸入且應(yīng)輸入
退出程序
}else{
生成一個(gè)Vertices * Vertices 大小的數(shù)組Graph,
填充數(shù)組 :行號與列號相同填充0,其余填充10以內(nèi)隨機(jī)數(shù)
交換元素:以[i][j]位置的數(shù)值與[j][i]位置的數(shù)值互換
最后打印數(shù)組各元素
}
3. 請把下列用java代碼 用偽代碼寫出來
偽代碼(Pseudocode)是一種算法描述語言。使用偽代碼的目的是為了使被描述的算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實(shí)現(xiàn)。因此,偽代碼必須結(jié)構(gòu)清晰、代碼簡單、可讀性好,并且類似自然語言。 介于自然語言與編程語言之間。以編程語言的書寫形式指明算法職能。使用偽代碼, 不用拘泥于具體實(shí)現(xiàn)。相比程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半角式化、不標(biāo)準(zhǔn)的語言??梢詫⒄麄€(gè)算法運(yùn)行過程的結(jié)構(gòu)用接近自然語言的形式(可以使用任何一種你熟悉的文字,關(guān)鍵是把程序的意思表達(dá)出來)描述出來。
String path = "***"
File f = new File(path);
public void test (F f)
File []fs = f遍歷文件夾;
for(。){
if(fs[i]是文件){
輸入
}else{
遞歸test(fs[i]);
}
}
4. 偽代碼怎么寫
偽代碼(Pseudocode)是一種算法描述語言。
使用偽代碼的目的是為了使被描述的算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實(shí)現(xiàn)。因此,偽代碼必須結(jié)構(gòu)清晰、代碼簡單、可讀性好,并且類似自然語言。
介于自然語言與編程語言之間。 它以編程語言的書寫形式指明算法的職能。
相比于程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半角式化、不標(biāo)準(zhǔn)的語言。
我們可以將整個(gè)算法運(yùn)行過程的結(jié)構(gòu)用接近自然語言的形式(這里,你可以使用任何一種你熟悉的文字,中文,英文 等等,關(guān)鍵是你把你程序的意思表達(dá)出來)描述出來. 使用偽代碼, 可以幫助我們更好的表述算法, 不用拘泥于具體的實(shí)現(xiàn). 人們在用不同的編程語言實(shí)現(xiàn)同一個(gè)算法時(shí)意識到,他們的實(shí)現(xiàn)(注意:這里是實(shí)現(xiàn),不是功能)很不同。尤其是對于那些熟練于不同編程語言的程序員要理解一個(gè)(用其他編程語言編寫的程序的)功能時(shí)可能很難,因?yàn)槌绦蛘Z言的形式限制了程序員對程序關(guān)鍵部分的理解。
這樣偽代碼就應(yīng)運(yùn)而生了。 當(dāng)考慮算法功能(而不是其語言實(shí)現(xiàn))時(shí),偽代碼常常得到應(yīng)用。
計(jì)算機(jī)科學(xué)在教學(xué)中通常使用虛擬碼,以使得所有的程序員都能理解。 綜上,簡單的說,讓人便于理解的代碼。
不依賴于語言的,用來表示程序執(zhí)行過程,而不一定能編譯運(yùn)行的代碼。在數(shù)據(jù)結(jié)構(gòu)講算法的時(shí)候用的很多。
5. 偽代碼的寫法
類Pascal語言的偽代碼的語法規(guī)則是: 在偽代碼中,每一條指令占一行(else if,例外)。指令后不跟任何符號(Pascal和C中語句要以分號結(jié)尾)。
偽代碼實(shí)例如下:
IF 九點(diǎn)以前 THEN
do 私人事務(wù);
ELSE 9點(diǎn)到18點(diǎn) THEN
工作;
ELSE
下班;
END IF
這樣不但可以達(dá)到文檔的效果,同時(shí)可以節(jié)約時(shí)間。更重要的是,使結(jié)構(gòu)比較清晰,表達(dá)方式更加直觀。
偽代碼(Pseudocode)是一種算法描述語言。使用偽代碼的目的是為了使被描述的算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實(shí)現(xiàn)。因此,偽代碼必須結(jié)構(gòu)清晰、代碼簡單、可讀性好,并且類似自然語言。 介于自然語言與編程語言之間。
它以編程語言的書寫形式指明算法的職能。相比于程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半角式化、不標(biāo)準(zhǔn)的語言。
我們可以將整個(gè)算法運(yùn)行過程的結(jié)構(gòu)用接近自然語言的形式(這里,你可以使用任何一種你熟悉的文字,中文,英文 等等,關(guān)鍵是你把你程序的意思表達(dá)出來)描述出來。使用偽代碼, 可以幫助我們更好的表述算法,不用拘泥于具體的實(shí)現(xiàn)。
6. 偽代碼的寫法
最低0.27元開通文庫會(huì)員,查看完整內(nèi)容 原發(fā)布者:wangwenjxnu 偽代碼偽代碼是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號來描述算法。
每一行(或幾行)表示一個(gè)基本操作。它不用圖形符號,因此書寫方便、格式緊湊,也比較好懂,便于向程序過渡。
偽代碼的7個(gè)主要部分:(1)算法名稱(2)指令序列(3)輸入/輸出(4)分支選擇(5)賦值(6)循環(huán)(7)算法結(jié)束1.算法名稱兩種表示算法的偽代碼:過程(Procedure)函數(shù)(Function)過程和函數(shù)的區(qū)別是:過程是執(zhí)行一系列的操作,不需要返回操作的結(jié)果,無返回?cái)?shù)據(jù);函數(shù)是執(zhí)行一系列的操作后,要將操作的結(jié)果返回,有返回?cái)?shù)據(jù)。算法偽代碼的書寫規(guī)則:Procedure([])Function([])如:ProcedureHanoi_Tower()FunctionFac(x)表示名為Fac的一個(gè)函數(shù)。
FunctionProg(n)表示名為Prog的一個(gè)函數(shù)。2.指令序列指令序列是算法的主體。
指令序列的書寫規(guī)則:用Begin作為開始、用End作為結(jié)束;用“{”作為開始、用“/}”作為結(jié)束。例如:Begin指令序列;End或者:{指令序列;/}3.輸出/輸出輸入:Input輸出:Output或Return4.分支選擇兩種分支:IfThen{指令序列/}IfThen{。
下面是轉(zhuǎn)換的方法
int
n1
=
14;
//十進(jìn)制轉(zhuǎn)成十六進(jìn)制:
Integer.toHexString(n1);
//十進(jìn)制轉(zhuǎn)成八進(jìn)制
Integer.toOctalString(n1);
//十進(jìn)制轉(zhuǎn)成二進(jìn)制
Integer.toBinaryString(12);
//十六進(jìn)制轉(zhuǎn)成十進(jìn)制
Integer.valueOf("FFFF",16).toString();
//十六進(jìn)制轉(zhuǎn)成二進(jìn)制
Integer.toBinaryString(Integer.valueOf("FFFF",16));
//十六進(jìn)制轉(zhuǎn)成八進(jìn)制
Integer.toOctalString(Integer.valueOf("FFFF",16));
//八進(jìn)制轉(zhuǎn)成十進(jìn)制
Integer.valueOf("576",8).toString();
//八進(jìn)制轉(zhuǎn)成二進(jìn)制
Integer.toBinaryString(Integer.valueOf("23",8));
//八進(jìn)制轉(zhuǎn)成十六進(jìn)制
Integer.toHexString(Integer.valueOf("23",8));
//二進(jìn)制轉(zhuǎn)十進(jìn)制
Integer.valueOf("0101",2).toString();
//二進(jìn)制轉(zhuǎn)八進(jìn)制
Integer.toOctalString(Integer.parseInt("0101",
2));
//二進(jìn)制轉(zhuǎn)十六進(jìn)制
Integer.toHexString(Integer.parseInt("0101",
2));
import?java.util.Stack;
/**
*?author:?liu?jun?bao
*?date:?2020/2/28
*?desc:
*/
public?class?Test?{
public?static?void?main(String[]?args)?{
Integer?a?=?300;
Integer?b?=?8;
BinaryConversion(a,?b);
}
/**
*
*?@param?a?要轉(zhuǎn)化的十進(jìn)制數(shù)
*?@param?b?要轉(zhuǎn)化的進(jìn)制
*??????????該方法輸出轉(zhuǎn)化結(jié)果
*/
private?static?void?BinaryConversion(Integer?a,?Integer?b)?{
Stack?stack?=?new?Stack();
while?(a?!=?0){
stack.push(a%b);
a=a/b;
}
while?(!stack.empty()){
System.out.print(stack.pop());
}
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@SuppressWarnings("unchecked")
public class FileUtil implements Comparator{
public static void main(String[] args) throws Exception{
File file = new File("f:/f1.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String rl = null;
StringBuffer bf = new StringBuffer();
StringBuffer num2 = null;
int num10 = 0;
while(( rl = br.readLine()) != null)
{
rl = rl.trim();
num10 = Integer.parseInt(rl);
num2 = new StringBuffer();
while(num10 0){
num2.insert(0, num10%2);
num10 /=2;
}
bf.append(num2).append("\r\n");
}
br.close();
BufferedWriter out = new BufferedWriter(new FileWriter(new File("f://f2.txt")));
out.write(bf.toString());
out.flush();
out.close();
}
public int compare(Object a1, Object a2)
{
String s1 = (String)a1;
String s2 = (String)a2;
for(int i=0; i(Math.min(s1.length(), s2.length())); i++)
{
if(s1.charAt(i) s2.charAt(i))
return 1;
else if(s1.charAt(i) s2.charAt(i))
return -1;
}
return s1.length()s2.length()?1:(s1.length()s2.length()?-1:0);
}
}
使用詞法分析可以簡單的進(jìn)行轉(zhuǎn)換,不過問題是接口,java使用的庫類和函數(shù),c并不一定擁有,而且java運(yùn)行的方式不同(java可以說是解釋器的腳本,而c最終變成指令集),并不是簡單給出一個(gè)函數(shù)調(diào)用位置就可以解決的,目前的話可以實(shí)現(xiàn)個(gè)轉(zhuǎn)化器(如果你學(xué)過編譯原理),但前提是不使用接口,或許我們可以像編譯器對string類型的支持那樣實(shí)現(xiàn)所有java的庫操作,但這顯然是雞肋,因?yàn)檫@種方法寫的java程序轉(zhuǎn)換后是很難移植的(顯然我是說硬件廠商不會(huì)為你天真的想法提供接口),并且對c風(fēng)格來說是一種極大的破壞,最后生成的代碼既沒有效率也沒有可移植性和可讀性
結(jié)論是你還不如自己實(shí)現(xiàn)一個(gè),即使你要轉(zhuǎn)化一個(gè)大游戲,這樣也有效多了