亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        計算機等級考試二級VFP上機試題及解題思路(7)

        字號:

        計算機等級考試二級VFP上機試題及解題思路(7)

            程序控制結構
            1、求出下列表達式的值(x、y的值從鍵盤輸入):
            程序代碼:
            SET TALK Off
            CLEAR
            INPUT "X=" TO X
            INPUT "Y=" TO Y
            Z=(X*Y+EXP(X+Y))/((X/Y)^3*LOG10(ABS(X-Y)))
            ?"X=",X,"Y=",Y,"Z=",Z
            SET TALK ON
            2、給定一個年份(從鍵盤輸入),判斷它是否閏年。閏年的條件是:能被4整除但不能被100整除,或能被100整除且能被400整除。
            程序代碼:
            SET TALK Off
            CLEAR
            INPUT "Year=" TO Year
            if (year%4=0 and year%100!=0) or (year%100=0 and year%400=0)
            ?year,"是閏年"
            else
            ?year,"不是閏年"
            endif
            SET TALK ON
            3、從鍵盤輸入數(shù)據(jù)A(可以是C、D、N、L、Y和U型等),通過類型判斷,輸出其數(shù)據(jù)類型的漢字說明(如A的值為“OK!”,那么輸出應為:OK!——字符型數(shù)據(jù))。
            程序代碼:
            SET TALK Off
            CLEAR
            INPUT "A=" TO a
            do case
            case type('a')="C"
            ?a,"——字符型數(shù)據(jù)"
            case type('a')="D"
            ?a,"——日期型數(shù)據(jù)"
            case type('a')="N"
            ?a,"——數(shù)值型數(shù)據(jù)"
            case type('a')="L"
            ?a,"——邏輯型數(shù)據(jù)"
            case type('a')="Y"
            ?a,"——貨幣型數(shù)據(jù)"
            case type('a')="U"
            ?a,"——未定義"
            endcase
            SET TALK ON
            4、從鍵盤輸入A、B、C三個數(shù)值,將它們從小到大排列后輸出。
            程序代碼:
            SET TALK Off
            CLEAR
            INPUT "A=" TO A
            INPUT "B=" TO B
            INPUT "C=" TO C
            if b
            d=a
            a=b
            b=d
            endif
            if c
            d=a
            a=c
            c=d
            endif
            if c
            d=b
            b=c
            c=d
            endif
            ?a,b,c
            SET TALK ON
            5、從鍵盤輸入一個數(shù)值(0~9),要求輸出其對應的中文大寫數(shù)字(零~玖)。
            程序代碼:
            SET TALK Off
            CLEAR
            C="零壹貳叁肆伍陸柒捌玖"
            INPUT "N=" TO N
            ?N,"--->"+SUBSTR(C,2*N+1,2)
            SET TALK ON
            6、將前面的1到5題,加上循環(huán),使之被調用執(zhí)行一次,并可以重復對不同的輸入值完成相同的操作。
            提示:只要在需要重復執(zhí)行的語句序列外加上循環(huán)控制結構即可。下面以第2小題循環(huán)3次,第5小題循環(huán)任意次為例說明。
            (6.2)循環(huán)3次
            程序代碼:
            SET TALK Off
            CLEAR
            FOR I=1 TO 3
            INPUT "Year=" TO Year
            if (year%4=0 and year%100!=0) or (year%100=0 and year%400=0)
            ?year,"是閏年"
            else
            ?year,"不是閏年"
            endif
            ENDFOR
            SET TALK ON
            (6.5)循環(huán)任意次
            程序代碼:
            SET TALK Off
            CLEAR
            ?"PRESS ESC TO EXIT---"
            C="零壹貳叁肆伍陸柒捌玖"
            DO WHILE .T.
            INPUT "N=" TO N
            ?N,"--->"+SUBSTR(C,2*N+1,2)
            IF INKEY(0)=27
            EXIT
            ENDIF
            ENDDO
            SET TALK ON
            程序閱讀題。閱讀下列程序,寫出運行結果。
            1、注:字符"A"的ASCII碼為65。
            程序代碼:
            SET TALK OFF
            CLEAR
            C="一二三四五六七八九十"
            B="ABCD"
            R=0
            L=LEN(B)
            FOR I=1 TO L
            W=SUBSTR(B,I,1)
            D=ASC(W)+R-65
            S=""
            IF D<10
            S=SUBSTR(C,2*D+1,2)
            ELSE
            S=SUBSTR(C,2*MOD(D,10)+1,2)
            ENDIF
            ?W+"----->"+S
            R=R+11
            ENDFOR
            SET TALK ON
            參考答案:
            A---->一
            B---->三
            C---->五
            D---->七
            2、設A的值為:ABCDEF
            程序代碼:
            SET TALK OFF
            CLEAR
            ACCEPT "A=" TO A
            L=LEN(A)
            P=SPACE(0)
            I=1
            DO WHILE I
            P=P+SUBSTR(A,L-I,2)
            I=I+2
            ENDDO
            ?A+"------>"+P
            SET TALK ON
            參考答案:
            ABCDEF------>EFCDAB
            3、寫出運行結果
            程序代碼:
            SET TALK OFF
            M=3
            DO WHILE M<10
            N=2
            DO WHILE N
            IF INT(M/N)=M/N
            EXIT
            ENDIF
            N=N+1
            ENDDO
            IF N=M
            ?M
            ENDIF
            M=M+1
            ENDDO
            SET TALK ON
            參考答案:
            3
            5
            7
            4、寫出運行結果
            程序代碼:
            SET TALK OFF
            CLEAR
            INPUT "M=" TO M
            IF INT(M)!=M OR ABS(M)!=M
            ?"輸入的數(shù)值不符合題目要求!"
            LOOP
            ENDIF
            ?ALLTRIM(STR(M,19))+"的質數(shù)因子有:"
            I=2
            DO WHILE I<=M
            IF M%I=0
            ??STR(I,6)
            M=INT(M/I)
            LOOP
            ENDIF
            I=I+1
            ENDDO
            SET TALK ON
            SET ESCAPE ON
            設:M的輸入值為12。
            參考答案:
            12的質數(shù)因子有: 2 2 3
            5、寫出運行結果
            程序代碼:
            SET TALK OFF
            CLEAR
            ?"* 1 2 3 4 5"
            A=1
            DO WHILE A<=5
            ?ALLTRIM(STR(A))+SPAC(2)
            B=1
            DO WHILE B<=A
            S=A*B
            ??STR(S,2)+SPAC(2)
            B=B+1
            ENDDO
            A=A+1
            ENDDO
            SET TALK ON
            參考答案:
            * 1 2 3 4 5
            1 1
            2 2 4
            3 3 6 9
            4 4 8 12
            5 5 10 15 20 25
            6、寫出運行結果
            程序代碼:
            SET TALK OFF
            CLEAR
            DIMENSION A(6,6)
            FOR I=1 TO 6
            FOR J=1 TO 6
            IF I<>J
            A(I,J)=0
            ELSE
            A(I,J)= -1
            ENDIF
            ENDFOR
            ENDFOR
            FOR I=1 TO 6
            ?
            FOR J=1 TO 6
            ??A(I,J)
            ENDFOR
            ENDFOR
            SET TALK ON
            參考答案:
            -1 0 0 0 0 0
            0 -1 0 0 0 0
            0 0 -1 0 0 0
            0 0 -1 0 0 0
            0 0 0 -1 0 0
            0 0 0 0 0 -1
            7、設N,M的值分別為6,8。
            程序代碼:
            SET TALK OFF
            CLEAR
            INPUT "N=" TO N
            INPUT "M=" TO M
            X=MAX(N,M)
            FOR I=X TO M*N
            IF MOD(I,M)=0 AND MOD(I,N)=0
            Y1=I
            EXIT
            ENDIF
            ENDFOR
            ?"Y1="+ALLTRIM(STR(Y1,19))+",Y2="+ALLTRIM(STR(M*N/Y1,19))
            SET TALK ON
            參考答案:
            Y1=24,Y2=2
            8、設N值為4,字符”A”的ASCII碼為65。
            程序代碼:
            SET TALK OFF
            CLEAR
            INPUT "N=" TO N
            FOR I=1 TO N
            ?SPACE(N-I+1)
            FOR J=1 TO 2*I-1
            ??CHR(ASC("A")+J-1)
            ENDFOR
            ENDFOR
            FOR P=N-1 TO 1 STEP -1
            ?SPACE(N-P+1)
            FOR K=1 TO 2*P-1
            ??CHR(ASC("A")+K-1)
            ENDFOR
            ENDFOR
            SET TALK ON
            參考答案:
            A
            ABC
            ABCDE
            ABCDEFG
            ABCDE
            ABC
            A
            綜合編程題。根據(jù)題目要求,編寫相應的程序。
            1、求X+ X2 + X3 + X4 +¼+ Xn的值。N,X從鍵盤輸入。
            程序代碼:
            SET TALK OFF
            clear
            INPUT "X=" TO X
            INPUT "N=" TO N
            S=0
            I=1
            DO WHILE I<=N
            S=S+X^I
            I=I+1
            ENDDO
            ?"X+X^2+X^3+...+X^N=",S
            SET TALK ON
            2、求S=2/1+3/2+5/3+8/5+13/8+…..前20項之和。
            程序代碼:
            SET TALK OFF
            clear
            S=0
            N=1
            X=1
            Y=2
            DO WHILE N<=20
            S=S+Y/X
            T=X
            X=Y
            Y=Y+T
            N=N+1
            ENDDO
            ?"2/1+3/2+5/3+...+17711/10946=",S &&共有N=20項累加
            SET TALK ON
            3、從鍵盤輸入一個正整數(shù),判斷其所含5的個數(shù)。(如:輸入數(shù)值2345105,其中包含5的個數(shù)為2)
            程序代碼:
            SET TALK OFF
            clear
            INPUT "請輸入一個正整數(shù)X:" TO X
            S=0
            DO WHILE .T.
            N=MOD(X,10) &&第一次求X的個位數(shù)N,第二次求X的十位數(shù)N,…
            IF N=5
            S=S+1
            ENDIF
            X=INT(X/10)
            IF X=0
            EXIT
            ENDIF
            ENDDO
            ?"X中5的個數(shù)為:",S
            SET TALK ON
            4、從鍵盤輸入20個數(shù),去掉20個數(shù)中的值和最小值,然后求平均值。
            程序代碼:
            SET TALK OFF
            CLEAR
            S=0
            N=1
            STORE 0 TO MAX,MIN
            DO WHILE N<=20
            INPUT "B=" TO B
            S= S+B
            IF MAX
            MAX=B
            ENDIF
            IF MIN>B
            MIN=B
            ENDIF
            N=N+1
            ENDDO
            ?"AVERAGE="+ STR((S-MAX-MIN)/18,19,2)
            SET TALK ON
            5、求2~1000之間完數(shù)的個數(shù)。
            (完數(shù):一個數(shù)如果恰好等于它的因子之和,因子不包括本身且不能重復。如:6=1+2+3,8<>1+2+4,所以6是完數(shù),8不是完數(shù))
            程序代碼:
            SET TALK OFF
            CLEAR
            SN=0
            ?"2~1000之間的完數(shù)為:"
            FOR N=2 TO 1000
            M=N
            I=1
            S=0
            DO WHILE I
            IF INT(M/I)=M/I
            S=S+I
            ENDIF
            I=I+1
            ENDDO
            IF N=S
            SN=SN+1
            ??N
            ENDIF
            ENDFOR
            ?" 完數(shù)的個數(shù)為:",SN
            SET TALK ON
            6、本程序首先對矩陣按行讀入數(shù)據(jù),并將它轉置。
            程序代碼:
            SET TALK OFF
            INPUT 'N=' TO N
            DIME A(N,N)
            FOR I=1 TO N
            FOR J=1 TO N
            INPUT 'A('+STR(I,1)+','+STR(J,1)+')=' TO AI,J)
            ENDFOR
            ENDFOR
            FOR I=1 TO N
            FOR J=1 TO I
            T=A(I,J)
            A(I,J)=A(J,I)
            A(J,I)=T
            ENDFOR
            ENDFOR
            SET TALK ON
            7、從鍵盤任意輸入N個數(shù),去掉其中值和最小值,然后求平均值。
            程序代碼:
            SET TALK OFF
            CLEAR
            S=0
            INPUT "N=" TO N
            STORE N TO MAX,MIN
            FOR I=1 TO N
            INPUT "B=" TO B
            S=S+B
            IF MAX
            MAX=B
            ENDIF
            IF MIN>B
            MIN=B
            ENDIF
            ENDFOR
            ?"AVERAGE="+STR((S-MAX-MIN)/(N-2),19,2)
            SET TALK ON
            8、利用參數(shù)傳遞和過程文件,求(M!+N!)/(M-N)!
            程序代碼:
            SET TALK OFF
            CLEAR
            SET PROC TO 程序20
            INPUT "M=" TO M
            INPUT "N=" TO N
            STORE 0 TO SM,SN
            DO JC2 WITH M,SM
            DO JC2 WITH N,SN
            DO MC2 WITH M-N,N
            ?"表達式結果為S="+STR((SM+SN)/N,10,2)
            SET PROC TO
            SET TALK ON
            PROC JC2
            PARA X,Y
            I=1
            T=1
            DO WHILE I<=X
            T=T*I
            I=I+1
            ENDDO
            Y=T
            RETURN
            PROC MC2
            PARA Y,X
            I=1
            T=1
            DO WHILE I<=X
            T=T*Y
            I=I+1
            ENDDO
            X=T
            RETURN
            9、編程求1~1000之內的同構數(shù)。(同構數(shù):若A是同構數(shù),則A出現(xiàn)在A的平方數(shù)的右邊。如:5*5=25,5出現(xiàn)在25的右邊,3*3=9,3不出現(xiàn)在9的右邊,所以5是同構數(shù),而3不是。)
            程序代碼:
            SET TALK OFF
            CLEAR
            FOR X=1 TO 1000
            P=X*X
            L=LEN(ALLTRIM(STR(X,19)))
            IF ALLTRIM(STR(X,19))=RIGHT(ALLTRIM(STR(P,19)),L)
            ??X
            ENDIF
            ENDFOR
            SET TALK ON
            10、本程序用于輸入一個表名,若表存在則打開,并顯示出其各個字段名。
            程序代碼:
            SET TALK OFF
            DO WHILE .T.
            ACCEPT '請輸入表名:' TO FNAME
            IF .NOT.FILE(FNAME)
            WAIT '此表不存在'
            ELSE
            USE &FNAME
            ZDSM=FCOUNT()
            ? '此表中的字段有:'+STR(ZDSM)+'個'
            FOR I=1 TO ZDSM
            ? STR(I)+' '
            ?? FIELD(I)
            ENDFOR
            ENDIF
            WAIT '是否繼續(xù)(Y/N)' TO YN
            IF UPPER(YN)='N'
            EXIT
            ENDIF
            ENDDO
            SET TALK ON