2012-10-25 62 views
1

我不是一個有經驗的程序員(但),但我正在申請一所有幾門編程課程的學校。最小,最大和平均溫度的僞代碼

然而,在入學考試中,可能存在可解決的問題,必須用僞代碼或流程圖來編寫。有點我處理流程圖,但我很難讓僞代碼看起來很好。例如,我試圖編寫一個程序的僞代碼,該程序可以掃描24個溫度讀數並打印出MIN,MAX和AVG,但我認爲我做得不太好。我走到這一步,但並沒有得到AVG:

max = 0 min = 0 set up array of a[24] loop start if a[x] > max 
     max = a[x] 
     else if a[x] < min 
     min = a[x] 

print Max temp: print Min temp: 

我想看看你們將如何構建這個應用程序的一個明確的僞代碼。

+1

我認爲這將更適合http://codereview.stackexchange.com/。我已將其標記爲遷移。 – mnel

+0

@mnel,這不是codereview的主題。首先,它不是真正的代碼(它是僞代碼),其次,它不是工作代碼(實現沒有完成。) –

+0

@WinstonEwert - 感謝您清理它。永遠不會注意到常見問題中的「無僞代碼」規則。 – Kev

回答

2

小的陳述往往會更好。我會重寫你提供的代碼片段:

count = 24 
temperatures is an array of count elements 
max = -9999 
min = 9999 
total = 0 

for each value in temperatures 
    total = total + value 
    if value > max 
     max = value 
    else if value < min 
     min = value 

print "Minimum: " min 
print "Maximum: " max 
print "Average: " total/count 

這幾乎是真正的Python代碼。以下是真正的Python代碼:

count = 24 
temperatures = [3 * x for x in range(count)] 
max = -9999 
min = 9999 
total = 0.0 

for value in temperatures: 
    total = total + value 
    if value > max: 
     max = value 
    if value < min: 
     min = value 

print("Minimum: ", min) 
print("Maximum: ", max) 
print("Average: ", total/count) 
+0

謝謝,夥計。這真的很巧實! – user1775611

+0

FWIW你可能應該使用-inf和inf,而不是任何大或小的值,因爲inf和-inf總是會失敗,不平等測試(當然是朝着正確的方向發展),inf總是比任何東西都大,一切都是例如,它比它小) – nightpool

0
max:= 0 
min:= (some big number) 

while i < 24 
begin 
    if a[i] < min then min = a[i] 
    if a[i] > max then max = a[i] 
    sum = sum + a[i] 
end 

print min, max, sum/24 

如果我是你,我可能會寫這樣的東西。我並不是認爲它是完美的,但至少它是可以繼續努力的。

相關問題