java伪代码展示
相关符号全部大写
算法1:买方S的可信度判断:根据买方是否进行是实名认证和缴纳保证金进行可信度判断。缴纳保证金金额划分为6个档次。 输入:{买方信用函数数值:CfBuyerValue,实名认证:IdCard,保证金金额:Money,建议售价范围:p1,信用函数调整数:x}; 输出:买方是否可信:BuyerCredible; ①BuyerCredible = False,CfBuyerValue = 1//初始化参数 ②If IdCard!=true Then//判断买方是否进行实名认证 ③CfBuyerValue←CfBuyerValue + x//进行实名认证增加可信度 ④If Money>p1 then//对比买方保障金金额和产品建议售价下限 ⑤CfBuyerValu←CfBuyerValue + x//缴纳保证金增加可信度 ⑥Else Then CfBuyerValue←CfBuyerValue - x//没有缴纳保证金将会降低可信度 ⑦If CfBuyerValue>1 Then//买方信用函数数值初始化为1,因此我们用1作为标准 ⑧BuyerCredible=True//设置BuyerCredible为真 ⑨Return BuyerCredible//返回 BuyerCredible Fig. 4 Schematic diagram of the pricing process 图 4 数据交易模拟系统 算法2:买方S诚信度判断:根据买方历史问价浮动百分比;信用函数;身份信息是否完善; 输入:{买方历史问价:ApHistory,建议售价范围:p1、p2,实名认证:DataBean,买方信用函数值:CfValue,保证金金额:Money}; 输出:{问价浮动占比值:PriceFloatValue,信用函数占比值:CfValue,身份信息占比值:IdValue,买方是否可信:BuyerIn tegrity}; ①String IntegrityArray[3]={False,False,False},int count=0//初始化诚信度判断数组、诚信度计数器count ②Arrays.sort(ApHistory)//获取买方S历史问价中的最大值Max最小值Min ③If (Min >= p1 && Max <= p2) Then ④PriceFloatValue=True ⑤Else Then PriceFloatValue= False//若买方S历史问价在建议售价范围则将PriceFloatValue置为True,反之置为False ⑥Then IntegrityArray[0]=PriceFloatValue ⑦If (CfValue>=0.9) Then //按照通用优良等级评定设置信用函数值CfValue大于或等于0.9为优秀 ⑧CfValue=True ⑨Else Then CfValue= False//若买方S信用函数为优则将CfValue置为True,反之置为False ⑩Then IntegrityArray[1]=CfValue ⑪If(DataBean.getIsID()!=Null&&DataBean.getMoney()>0) ⑫Then IdValue= True ⑬Else Then IdValue= False//若买方S进行实名认证并交纳保证金,则将IdValue置为True,反之置为False ⑭Then IntegrityArray[2]=IdValue ⑮For i ← 0 to limit by IntegrityArray.size() Do ⑯If (IntegrityArray(i)==True)Then count++ ⑰End For ⑱End//最后遍历IntegrityArray,两项及以上为True则诚信反之不诚信
论文伪代码规范
一、概述
伪代码是一种介于自然语言和编程语言之间的算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言实现。
a.伪代码必须结构清晰,代码简单,可读性好,并且类似自然语言。
b.伪代码的主要目标是解释程序的每一行应该做什么,从而使程序员更容易构建代码构建阶段。
c.伪代码可以帮助人们理解解释代码的语法、规则、内涵和结构。
二、必要说明
1、虽然有一些正规的伪代码定义,但在实际应用中,并不需要太拘泥于伪代码的格式。主要目标是描述算法梗概,避开细节,启发思路。
2、一般而言,急于编写程序往往会拖累进度。
3、把伪代码改写成程序时,一般先选择较为容易的任务来完成。
4、在软件开发工程中,编写程序所需的工作量只占软件开发全部工作量的10%~20%。
三、书写规范
a.说明信息
- 算法:KMP 算法的实现
- Input:
- output:
b.注意事项
- 使用简单的术语,每行只写一条语句。
- 有效使用空白和缩进。
- 描述清楚所有事物,但不要过度描述与主要问题无关的细节。
- 遇到难以用此规范表达的算法时,使用陈述句描述或借用语法。
- 在算法中的某些指令或子任务可以用文字来叙述,例如,”设x是A中的最大项”,这里A是一个数组;这样做的目的是为了避免因那些与主要问题无关的细节使算法本身杂乱无章。
c.变量
定义变量的语句可不用写出来,但必须在注释中给出。示例如下:
- 赋值: x ← y+1
- 交换 a 和 b 的值: a <-> b
d.代数运算符号
幂运算 ^
取模 mod
逻辑与 and
逻辑或 or
逻辑非 not
逻辑异或 xor
(其他与C语言符号相同)
e.流程书写
1.分支
if n > 0 then print("n 是一个比 0 大的数字") else if n < 0 then print("n 是一个比 0 小的数字") else print("n 就是 0") end if
2.循环
(1)while 用于次数未定的循环。
n ← 10 while n > 0 do print ("n =" + n) n ← n-1 end while
(2)for 用于次数固定的循环。
for i ← 0 to limit by incr do print ("hello, world!") end for
(3)如果想遍历某个集合:
// A是一个集合 for each i in A do print(i "hello pseudocode") end for
f.函数
//必要情况下,附上说明函数功能以及返回值类型,格式如下 //返回值类型:功能说明 function func_name(x, y) ... return x + y end func
四、范例
买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择某一天 买入这只股票,并选择在未来的某一个不同的日子卖出该股票。
设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:
输入:[7,1,5,3,6,4]
输出:5
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。
示例 2:
输入:prices = [7,6,4,3,1] 输出:0 解释:在这种情况下, 没有交易完成, 所以最大利润为 0。 算法:买卖股票最大利润 作者:路人乙 时间:2021-01-21 23:37 输入: prices数组 输出: 最大利润 function maxProfit( prices ) max ← 0 //maxi为第i天卖出股票的最大利润 maxi ← 0 for i ← 1 to i < prices.length by i++ do if maxi > 0 then maxi ← maxi + 今天股票的差价(p[i]-p[i-1]) else maxi ← 今天股票的差价 end if if maxi > max then max ← maxi end for return max end function
伪代码在线编辑器