某班有45名學生,一次數學測驗,得到各自的成績,請設計算法求出其中的最高分及平均分,畫出程序框圖.(可用a(i)表示第i個學生的成績)
【答案】
分析:由于共有45名學生,所以每位學生各有一人分數,我們可以用循環語句來完成這45個分數的輸入,同時設計累加變量求出這45個分數的和,本問題的關鍵在于從這45個輸入分數中找出最大數(最高分),由于每位學生的分數都不小于0分,故我們可以先假設其中的最大數為0,然后每次輸入一個學生的分數,就進行一次比較,若輸入的數大于0,就將之代替最大數,依次下去,就能找出這45個數中的最大數,循環結束后,從總和再除以10,就得到學生最后的平均數.
解答:解:由題意得:
第一步:令S=0.max=0,i=1
第二步:累加a(i)的值到S;比較a(i)與max的大小,如果a(i)>max,則max=a(i);
第三步:是否已經統計每一個學生的成績(i>45),如果是,則執行第四步,如果不是,則i=i+1后,返回第二步
第四步:輸出max及

的值:
流程圖如下:
點評:本題考查的知識點是設計程序框圖解決實際問題,分析題意設計出滿足條件的算法,并根據框圖和語句的功能來實現該算法,是解答本題的關鍵.