<style id="uedzd"></style>
  • <style id="uedzd"></style>
  • <dfn id="uedzd"></dfn>
  • <dfn id="uedzd"></dfn>
    1. <ruby id="uedzd"></ruby>
      <ruby id="uedzd"></ruby>
    2. 實訓指導
      您當前的位置: 首頁>實訓指導

      實驗七

      子程序、過程與函數(shù)的使用

      發(fā)布時間: 2018-11-27      信息來源:       閱讀次數(shù):

      實驗七    子程序、過程與函數(shù)的使用

      一、實驗目的
      1.
      掌握用戶自定義函數(shù)、過程的定義。
      2.
      掌握用戶自定義函數(shù)及過程的建立方法。
      3.
      掌握子程序的建立和調用方法。
      4.
      理解在調用過程和函數(shù)時參數(shù)傳遞的意義和功能。

      二、實驗內容及上機步驟
      【上機題一】
      編寫自定義函數(shù)求一自然數(shù)x的階乘。在主程序中調用函數(shù),計算s=a!+b!+c!
      操作要求:
      1. 由鍵盤輸入3個數(shù),分別存放在變量a,b,c中。
      2. 設計一個自定義函數(shù)FAC(),用它來求x!
      3. 由主程序調用3次函數(shù),即求得結果。
      【上機步驟】
      本題的知識點是用戶自定義函數(shù)的建立及調用方法,程序代碼如下:
      CLEAR
      SET TALK OFF
      INPUT
      “請輸入a” TO a
      INPUT “請輸入b” TO b
      INPUT “請輸入c” TO c
      s=FAC(a)+FAC(b)+FAC(c)

      ?
      “三個數(shù)的階乘之和為”,s
      SET TALK ON
      RETURN
      FUNCTION FAC()
      PARAMETERS n
      f=1
      FOR i=1 to n
      f=f*i
      ENDFOR
      RETURN f

      【上機題二】
      用過程的方法來求1000內的素數(shù)的個數(shù)。
      【上機步驟】
      本題的知識點是過程的建立方法。素數(shù)的算法需要用到雙重循環(huán),外層循環(huán)用來循環(huán)1到1000每個數(shù),內層循環(huán)進行素數(shù)的判斷。
      用過程的方法來解決,則把內層循環(huán)的內容用過程來描述,程序代碼如下:
      CLEAR
      SET TALK OFF
      sum=0
      For i=1 to 1000
      prime=.T.
      DO SUB1 WITH i
      IF prime
      sum=sum+1
      ENDIF
      ENDFOR
      ?
      “1000內素數(shù)的個數(shù)為:”,sum
      SET TALK ON
      RETURN
      PROCEDURE SUB1
      PARAMETERS x
      FOR j=2 TO INT(SQRT(x))
      IF MOD(x,j)=0
      prime=.F.
      EXIT
      ENDIF
      ENDFOR
      RETURN

      【上機題三】
      驗證以下過程程序,并檢查輸出結果。
      【上機步驟】
      本題的知識點是理解在調用過程或函數(shù)時參數(shù)傳遞的意義和功能。
      (1)建立一個程序文件,程序代碼如下:
      SET TALK OFF
      x=15
      y=7
      DO SUB WITH x,(y)
      ? x,y
      SET TALK ON
      RETURN
      PROCEDURE SUB
      PARAMETERS a,b
      a=a
      +b
      b=a-b
      RETURN
      保存該程序文件并運行程序,輸出結果為22,7。因為x為按地址傳遞,其值會隨著形參的變化而變化。y為值傳遞,不管形參如何變化,實參y的值不變。
      把x,y都改成地址傳遞,再次運行程序,觀察程序運行結果有沒有變化?
      (2) 建立一個程序文件,程序代碼如下:
      SET TALK OFF
      x=9
      y=13
      z=FU(x,y)
      ? z
      SET TALK ON
      RETURN
      FUNCTION FU
      PARAMETERS a,b
      a=a*b
      RETURN (a)
      保存該程序文件并運行程序,輸出結果為117。

      把自定義函數(shù)中的RETURN(a)語句改為RETURN(b-a),再次運行程序,觀察返回結果是多少?


      日韩无码第一页,一区_97资源人妻碰碰碰_有码无码人妻Av_午夜亚洲国产理论片2020网站 亚洲无码片AV一级 岛国av无码专区免费看
      <style id="uedzd"></style>
    3. <style id="uedzd"></style>
    4. <dfn id="uedzd"></dfn>
    5. <dfn id="uedzd"></dfn>
      1. <ruby id="uedzd"></ruby>
        <ruby id="uedzd"></ruby>