官术网_书友最值得收藏!

實驗1 Visual FoxPro中的數據與運算

一、實驗目的

1.熟悉Visual FoxPro 6.0主窗口。

2.掌握內存變量的賦值和顯示方法。

3.熟悉數組的定義和賦值。

4.掌握表達式的計算方法。

5.掌握常用函數的使用方法。

二、實驗內容

實驗1.1 啟動Visual FoxPro 6.0

單擊“開始”菜單,選擇“程序”|“Microsoft Visual FoxPro 6.0”“| Microsoft Visual FoxPro 6.0”命令。

問題1:如何關閉和顯現命令窗口?

實驗1.2 內存變量

1.賦值與顯示內存變量

在命令窗口輸入下列命令。

STORE 15 TO a1,a2        &&將數值15賦值給2個內存變量

xm="李強"             &&將字符型數據賦值給內存變量xm

rq={^2015-06-05}         &&將日期型數據值賦值給內存變量rq

團員否=.F.             &&將邏輯型數據賦值給內存變量團員否

a2=a1+1              &&a1加1后再賦值給a2

?a1,a2              &&換行顯示a1,a2的值

?xm                &&換行顯示xm

??rq,團員否            &&不換行顯示rq和團員否的值

LIST MEMO LIKE a?        &&顯示以a開頭的內存變量信息

顯示結果參見圖1-1。

問題2:在初次賦值之后,哪些內存變量的值又發生了變化?

2.清除內存變量

在命令窗口輸入下列命令。

CLEAR             &&清屏幕

RELEASE ALL LIKE a*     &&清除以a開頭的所有內存變量

DISPLAY MEMO LIKE *     &&顯示全部內存變量

圖1-1 內存變量的賦值、顯示操作結果

顯示結果參見圖1-2。

圖1-2 內存變量的清除操作結果

3.數組

在命令窗口輸入下列命令。

CLEAR             &&清屏幕

RELEASE ALL         &&清除全部內存變量

DIME a(3)           &&定義數組

a(1)=10            &&給數組元素a(1)賦值

a(2)=20            &&給數組元素a(2)賦值

LIST MEMO LIKE a*      &&顯示a開頭的所有內存變量

顯示結果參見圖1-3。

圖1-3 數組的定義、賦值操作結果

問題3:如果執行a(3)=a(2),請問a(2)、a(3)的值分別是多少?可以定義三維數組嗎?

4.表達式

(1)算術運算表達式

?65-(2+8)*4^2/5      &&結果為:33.00

問題4:求6+(5×3)2÷4的值,請寫出表達式和計算結果。

(2)字符運算表達式

?"更快 "+"更高"+"更強"

?"更快 "-"更高"+"更強"

顯示結果參見圖1-4。

圖1-4 字符運算操作結果

問題5:如果a="123"、b="xyz"、c="天地人",則a+b+c和a-b-c的結果各是什么?

(3)日期運算表達式

?{^2015-06-05}+10

?{^2015-06-05}-{^2014-06-05}

?{^2015/06/05 8:10}+120

顯示結果參見圖1-5。

圖1-5 日期運算操作結果

問題6:從北京奧運會開幕到今天已經過去多少天?

(4)關系運算表達式

?"a">"b","馬">"羊"             &&字母、漢字比較

?6#7,"a"<>"b"               &&不等號的應用

?{^2015/01/01}>{^2015/01/02}        &&兩個日期比較

?"abc"$"ab","ab"$"abc"           &&包含運算

?"abc"="ab","abc"=="ab"          &&單等號與雙等號比較

顯示結果參見圖1-6。

圖1-6 關系運算操作結果

技巧解析:同類型數據才能比較大小。

問題7:"大"與"abcd"誰大?

(5)邏輯運算表達式

?3>6.or.5<7.and.not.T.    &&結果為:.F.

技巧解析:各類運算符優先級從高到低順序是:圓括號()→算術運算→字符和日期運算→關系運算→邏輯運算。

問題8:寫出"張三"大于等于"李四"并且3不等于2的邏輯表達式和計算值。

5.常用函數

(1)數值運算函數

?INT(7.8)             &&取整數函數INT()

?ROUND(45.345,2)         &&四舍五入函數ROUND()

?MOD(10,3)            &&求余數函數

?MAX(15,8,27),MIN(15,8,27)     &&求最大、最小值函數MAX()、MIN()

?SIN(PI()/4)           &&正弦函數SIN()和圓周率函數PI()

顯示結果參見圖1-7。

圖1-7 數值運算函數操作結果

問題9:求INT(8.8)和INT(8.1)的值。

(2)字符處理函數

?LEN("abc"),LEN("中國")           &&求字符串長度函數LEN()

?RIGHT("abc",2)              &&取右子串函數RIGHT()

?SUBSTR("china",2,3)            &&取子串函數SUBSTR()

?"天"+SPACE(2)+"地"             &&空格函數SPACE()

?AT("cd","abcdef"),AT("cf"," abcdef")   &&求字串位置函數AT()

顯示結果參見圖1-8。

圖1-8 字符處理函數操作結果

問題10:請寫出從"dgtadastabcdagdt"字符串中截取"abc"的命令。

(3)日期時間函數

?DATE()              &&系統日期函數DATE()

?YEAR({^2015/01/05})       &&求年份函數YEAR()

問題11:通過你本人的出生日期計算你現在的年齡,請寫出相應命令。

(4)轉換函數

?DTOC({^2015/06/05})       &&日期型轉換成字符型函數DTOC()

?DTOC({^2015/06/05},1)       &&日期型轉換成字符型函數DTOC()

?STR(10.456,5,2)         &&數值型轉換成字符型函數STR()

?VAL("10.456")+2         &&字符型轉換成數值型函數VAL()

顯示結果參見圖1-9。

圖1-9 轉換函數操作結果

問題12:如果rq={^2015/06/05},則如何將變量rq轉換成字符串"2015年6月5日"?請寫出相應命令。

(5)測試函數

API=120

?IIF(API>100,"空氣有污染","空氣質量較好")

問題13:X=90,IIF(X>100,X-50,X+50)的值是多少?

6.提高性實驗

根據下列問題,寫出相應命令及命令運行的結果。

(1)計算的值,設x=7.8,y=15.3。

(2)今天距今年的圣誕節還有多少天?

三、思考題

1.為什么要使用內存變量?清除內存變量的意義是什么?

2.Visual FoxPro 6.0有幾大類常用函數?

3.使用表達式的目的是什么?

主站蜘蛛池模板: 林口县| 泾源县| 勃利县| 芮城县| 泽普县| 龙岩市| 洛南县| 北流市| 南投县| 含山县| 焦作市| 察雅县| 深水埗区| 电白县| 土默特右旗| 迭部县| 昆山市| 德阳市| 白玉县| 资阳市| 通海县| 临武县| 济南市| 泰安市| 绍兴县| 张家港市| 孙吴县| 黎平县| 宜城市| 封开县| 霍邱县| 扎赉特旗| 昌江| 吴江市| 腾冲县| 准格尔旗| 察哈| 台安县| 九龙城区| 梅州市| 会宁县|