目錄
java僞代碼展示
論文僞代碼規範
僞代碼線上編輯器
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
僞代碼線上編輯器
www.overleaf.com/project/62b…
編輯
編輯