第一篇:VFP程序設(shè)計(jì)教學(xué)反思
“VFP程序設(shè)計(jì)”教學(xué)案例與反思
開縣職業(yè)教育中心 向生
我長期從事計(jì)算機(jī)專業(yè)班的VFP教學(xué),針對(duì)VFP課程的特點(diǎn),在教法上,以?示例教學(xué)法?、?‘課機(jī)’結(jié)合式教學(xué)法?、?任務(wù)驅(qū)動(dòng)教學(xué)法?為主開展教學(xué),其教學(xué)效果明顯,但在?程序設(shè)計(jì)?這一章節(jié)的教學(xué)中,還是存在著兩大誤區(qū):一是學(xué)生基礎(chǔ)較差,加之不愛動(dòng)腦、動(dòng)手,導(dǎo)致時(shí)間花得多,效果不理想;二是只重視程序設(shè)計(jì)的結(jié)果,忽視了其算法的多樣化,從而束縛了學(xué)生的思維創(chuàng)新。于是,解決突破這兩大誤區(qū)成了我的首要任務(wù)。通過向同事學(xué)習(xí),查找相關(guān)資料,將多種教法結(jié)合起來,通過實(shí)踐,逐步形成了一種?精講多練、小組互動(dòng)、分層實(shí)施、機(jī)試為主?教學(xué)模式,從而達(dá)到了預(yù)期的目的。
現(xiàn)以do while …… enddo循環(huán)控制命令的使用為例,將其教學(xué)片段簡介如下:
【案例】:
探索循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法:
1.示例:用投影儀展示求1+2+3+4+…+100程序清單,讓學(xué)生對(duì)照程序清單上機(jī)調(diào)試并思考。
附程序清單:clear sum=0 i=1 do while i<=100 sum=sum+i i=i+1 enddo ??1+2+3+…+100=?,sum 師:同學(xué)們,你們能找出程序清單中有哪些變量?并說明它的作用嗎? 學(xué)生思考,隨后指名回答。教師板書:sum i
sum的作用是用于存儲(chǔ)所求的和(中間結(jié)果及最終結(jié)果),i的作用是用來存儲(chǔ)循環(huán)的值(即加數(shù)),同時(shí)控制循環(huán)執(zhí)行的次數(shù)。
師:程序中的變量名可用其它的字母代替嗎?你能找出在循環(huán)體(命令序列)中用于控制循環(huán)趨于結(jié)束的命令嗎?
學(xué)生回答,教師板書:i=i+1 師:好,請(qǐng)同學(xué)們獨(dú)立思考此程序的循環(huán)次數(shù)? 全班回答:100次。師:如何通過上機(jī)操作驗(yàn)證其執(zhí)行過程呢?(學(xué)生開展討論并上機(jī)操作驗(yàn)證)生1:只須將輸出命令放到循環(huán)體中即可,即在?i=i+1?命令之后、?enddo?之前插入??sum,i?命令。(學(xué)生操作驗(yàn)證)
生2:因?yàn)橐黄溜@示不下,我們看到的僅僅是最后的幾次執(zhí)行過程,對(duì)于以前的執(zhí)行過程還是看不到,可將該題分段實(shí)施,即先求1+2+3+…+20的和。
師:很好。(鼓掌、同學(xué)們?cè)俨僮黩?yàn)證)
2.任務(wù):四人一個(gè)小組開始活動(dòng),討論以下任務(wù)的設(shè)計(jì),并上機(jī)操作,教師參與到學(xué)生的活動(dòng)中。任務(wù)一:求2+4+6+8+…+100的和 任務(wù)二:求1×2×3×4×5 不一會(huì),各小組互動(dòng)結(jié)束,請(qǐng)兩個(gè)組進(jìn)行了回答如下:
小組甲:任務(wù)一與例題之間的區(qū)別是循環(huán)變量的初值為2,每循環(huán)一次循環(huán)變量增2即i=i+2。
小組乙:任務(wù)二在例題的基礎(chǔ)上將?sum=0?改為?sum=1?,循環(huán)變量的終值為5即條件改為i<=5,然后是循環(huán)體中的?sum=sum+i?改為?sum=sum*i?。
3.討論:同學(xué)們,在剛才所做的程序中,你能找出其規(guī)律嗎? 全班交流:
生1:循環(huán)變量從所賦的初值到終值按照一定的差進(jìn)行變化,如求1+2+3+4+…時(shí),其差為?1?進(jìn)行的,求1+3+5+7+…時(shí)其差為?2?。
生2:(補(bǔ)充)循環(huán)變量在程序每執(zhí)行一次時(shí),就按照其連續(xù)相鄰的兩個(gè)值之間的差進(jìn)行遞增變化。
生3:用來存儲(chǔ)結(jié)果的變量sum,也有一定的特點(diǎn),如在求和時(shí)可以賦?0?,在求積時(shí)只能賦?1?。
……
師:你們說得很好,尤其是循環(huán)變量的特點(diǎn),它是我們進(jìn)行循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的關(guān)鍵,也是一個(gè)難點(diǎn),其理解的程度直接影響到我們程序設(shè)計(jì)成敗。但注意的是有時(shí)也可能發(fā)生遞減變化喲。
4.拓展:做一做,求1+2+3+…+n;1×2×3×4×…×n;n從鍵盤輸入。做完后并思考:與上述程序設(shè)計(jì)題有何區(qū)別?有何意義
過了一會(huì)兒,大多數(shù)學(xué)生做完了,但還有部分學(xué)生沒有做完,就安排做完了的學(xué)生去指導(dǎo)未完成學(xué)生,幫助其操作,力爭所有的學(xué)生有所獲,有所得。
……
【反思】:
對(duì)VFP程序設(shè)計(jì)的教學(xué),不再是重結(jié)果,輕過程,而是很好地駕馭教材內(nèi)容,創(chuàng)造性地使用教材,巧妙組織、精心安排、靈活設(shè)計(jì),給學(xué)生以耳目一新的感覺,教學(xué)效果非常明顯,主要體現(xiàn)了以下幾個(gè)方面:
1.程序設(shè)計(jì)關(guān)注的應(yīng)該是程序設(shè)計(jì)的思維過程
本章節(jié)的教學(xué),我跳出了認(rèn)知技能的框框,不把程序設(shè)計(jì)的方法、操作技能的形成作為唯一的目標(biāo),而更關(guān)注學(xué)生的學(xué)習(xí)過程,讓學(xué)生在自身實(shí)踐探索的過程中實(shí)現(xiàn)發(fā)展性領(lǐng)域目標(biāo)。如教學(xué)時(shí)圍繞do while命令的使用為重點(diǎn)展開探索,通過相應(yīng)的活動(dòng)與任務(wù)提供自主學(xué)習(xí)的機(jī)會(huì),給學(xué)生充分思考的空間和時(shí)間,允許并鼓勵(lì)他們有不同思維方法,尊重他們的想法,哪怕是不合理的,甚至是錯(cuò)誤的,讓他們?cè)谙嗷ソ涣鳌⑴鲎?、討論中,進(jìn)一步明確程序設(shè)計(jì)的基本方法。通過互助探究后,他們?cè)诓煌膶用嫔系玫教岣?,并掌握了解決相應(yīng)的實(shí)際問題的能力。在此基礎(chǔ)上,教師組織學(xué)生對(duì)知識(shí)進(jìn)一步拓展:如求?1+2+3+…+n?,達(dá)到程序設(shè)計(jì)的基本要求,那就是通用性、實(shí)用性。這樣的教學(xué),學(xué)生獲得的不僅僅是程序設(shè)計(jì)的基本方法,更重要的是分析、處理問題的思維創(chuàng)新能力。
2.提倡思維方式、程序算法的多樣化,促進(jìn)學(xué)生個(gè)性發(fā)展。
思維方式、程序算法的多樣化,是指尊重學(xué)生的獨(dú)立思考,鼓勵(lì)學(xué)生探索不同的方法,而不是讓學(xué)生一定要去掌握多種操作方法。學(xué)生有著不同的專業(yè)基礎(chǔ)、知識(shí)背景和思考角度,他們的差異是客觀存在的,對(duì)同一個(gè)實(shí)際問題,由于學(xué)生的認(rèn)知水平和認(rèn)知風(fēng)格的不同,常常會(huì)出現(xiàn)不同的設(shè)計(jì)方法,這正是學(xué)生具有不同個(gè)性的體現(xiàn)。通過分層實(shí)施,學(xué)生分別達(dá)到了應(yīng)會(huì)、熟練等不同程度。在學(xué)生進(jìn)行程序設(shè)計(jì)時(shí),學(xué)生中出現(xiàn)了多種形式不同的程序清單。有的是變量的初值不同,有的是在循環(huán)體中命令的先后位臵略有變化,有的是把輸出放在了循環(huán)體之中等等。在學(xué)生獨(dú)立思考解決的基礎(chǔ)上,再讓學(xué)生發(fā)表自己的見解、觀點(diǎn),傾聽同伴的解法,進(jìn)行小組內(nèi)交流、爭論,從而達(dá)成一種共識(shí)。教師鼓勵(lì)學(xué)生用已有的經(jīng)驗(yàn)大膽思維,鼓勵(lì)學(xué)生動(dòng)手上機(jī)操作,尋求解決問題的有效途徑,營造寬松活躍的課堂氣氛。算法的多樣化使學(xué)生變得聰明自信,在主動(dòng)探索與合作交流中得到收獲,并促進(jìn)學(xué)生的個(gè)性發(fā)展。
3.營造民主的氛圍,激發(fā)學(xué)生的創(chuàng)新思維 在程序設(shè)計(jì)過程中,不同的方法對(duì)同一個(gè)人也許有快慢之說,而對(duì)不同的人卻不存在優(yōu)劣之分。在整個(gè)探索的過程中,我只是通過投影展示了一個(gè)例題,然后組織學(xué)生不斷地發(fā)表自己的想法,通過引導(dǎo),鼓勵(lì)他們敢于爭論,完成對(duì)知識(shí)的構(gòu)建,同時(shí)也要注意呵護(hù)每一位學(xué)生的學(xué)習(xí)激情,激發(fā)其創(chuàng)造力。
學(xué)生爭論不休的時(shí)刻,也正是他們?cè)诜e極地參與整個(gè)學(xué)習(xí)活動(dòng),這正是組織教學(xué)的精華所在,同時(shí)也挖掘了學(xué)生潛在的創(chuàng)造力,從而也帶動(dòng)了全班學(xué)生的積極參與,在?do while命令?使用的探索過程中,如驗(yàn)證體會(huì)循環(huán)的執(zhí)行過程時(shí),一學(xué)生提出只要驗(yàn)證?1+2+3+…+20?的和,又如求"1×2×3×4×5"時(shí),一學(xué)生說它的sum初值不能為?0?,只能為?1?時(shí),全班學(xué)生都給了他熱烈的掌聲。我想他這種的見解總是在經(jīng)過認(rèn)真分析思考后得出來的。
4.教學(xué)方法多樣化,激發(fā)了學(xué)生學(xué)習(xí)的興趣
VFP課的教學(xué)具有很強(qiáng)的實(shí)踐操作性,教師在課堂中采取靈活多樣的方法,可充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的激情。?課機(jī)?結(jié)合式教學(xué)法,在課堂中教師通過大屏幕液晶投影儀或網(wǎng)絡(luò)教室講解知識(shí),然后學(xué)生在下面操作學(xué)習(xí),學(xué)生很容易跟著教師的步驟進(jìn)行學(xué)習(xí),掌握教師教給的內(nèi)容,而且印象也較為深刻。如上述的示例部分。?任務(wù)驅(qū)動(dòng)?教學(xué)法可合理組織學(xué)生自主學(xué)習(xí),激發(fā)他們的興趣,讓他們盡快地活動(dòng)起來,并通過自己的自學(xué)和同學(xué)的幫助來解決問題,在愉快的教學(xué)過程中掌握知識(shí),如上述互動(dòng)中的任務(wù)
一、任務(wù)二等。
5.實(shí)踐探索,進(jìn)一步提高了學(xué)生的創(chuàng)造力
真理源于實(shí)踐,實(shí)踐出真知。在程序設(shè)計(jì)的教學(xué)中,通過邊講、邊練,先從理論上分析討論,找準(zhǔn)理論依據(jù),后通過上機(jī)操作驗(yàn)證其正確性,最后再討論分析、交流程序設(shè)計(jì)的最佳方法,不僅訓(xùn)練了學(xué)生的操作技能,同時(shí)也培養(yǎng)學(xué)生的創(chuàng)造能力。
總之在程序設(shè)計(jì)中,鼓勵(lì)積極思維、分層要求、反復(fù)操作驗(yàn)證、達(dá)到程序算法多樣化是尊重學(xué)生的表現(xiàn),體現(xiàn)了以學(xué)生為主體的教學(xué)原則,符合現(xiàn)代認(rèn)知建構(gòu)主義思想,是釋放學(xué)生自信心和創(chuàng)新思維、培養(yǎng)創(chuàng)造能力的有效途徑。
6.需進(jìn)一步探索的問題
在程序設(shè)計(jì)教學(xué)時(shí)提倡?精講多練、小組互動(dòng)、分層實(shí)施、機(jī)試為主?的教學(xué)模式,保障了學(xué)生在不同的層面得到發(fā)展,得到提高,同時(shí)也培養(yǎng)了學(xué)生的創(chuàng)新思維,體現(xiàn)理論與技能的雙豐收。但在對(duì)那些基礎(chǔ)較差、不愛動(dòng)腦、動(dòng)手的學(xué)生幫扶上,在分層互動(dòng)、層次把握上,對(duì)教師的組織能力、對(duì)教材的分析駕馭能力提出了新的要求,要能真正把握住哪些是全班學(xué)生掌握的,哪些是部分(即提高)學(xué)生掌握的,達(dá)到所有的學(xué)生在各自的水平上能?吃飽?。這些問題還需要我們?cè)谙乱浑A段的教學(xué)中進(jìn)一步的探索。
第二篇:VFP程序設(shè)計(jì)課后反思(精選)
“VFP程序設(shè)計(jì)”課后反思
民勤職專
高海霞
我從事計(jì)算機(jī)專業(yè)班的VFP教學(xué),針對(duì)VFP課程的特點(diǎn),在教法上,以“案例教學(xué)法”、“課機(jī)結(jié)合式教學(xué)法”、“任務(wù)驅(qū)動(dòng)教學(xué)法”為主開展教學(xué),教學(xué)效果明顯,達(dá)到了預(yù)期的目的?,F(xiàn)以do while …… enddo循環(huán)控制命令的使用為例,將其教學(xué)片段簡介如下:
【案例】: 探索循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)方法:
1.示例:用投影儀展示求1+2+3+4+…+100的程序,讓學(xué)生對(duì)照程序清單上機(jī)調(diào)試并思考問題。
2.任務(wù):四人一個(gè)小組開始活動(dòng),討論以下任務(wù)的程序設(shè)計(jì),并上機(jī)操作。
任務(wù)一:求2+4+6+8+…+100的和 任務(wù)二:求1×2×3×4×5
3.討論:同學(xué)們,在剛才所做的程序中,你能找出其規(guī)律嗎? 4.拓展:做一做,求1+2+3+…+n;1×2×3×4×…×n;n從鍵盤輸入?!痉此肌浚?/p>
對(duì)VFP程序設(shè)計(jì)的教學(xué),不再是重結(jié)果,輕過程,而是很好地駕馭教材內(nèi)容,創(chuàng)造性地使用教材,巧妙組織、精心安排、靈活設(shè)計(jì),給學(xué)生以耳目一新的感覺,教學(xué)效果非常明顯,主要體現(xiàn)了以下幾個(gè)方面:
1.程序設(shè)計(jì)關(guān)注的應(yīng)該是程序設(shè)計(jì)的思維過程
本章節(jié)的教學(xué),我不再把程序設(shè)計(jì)的方法、操作技能的形成作為唯一的目標(biāo),而更關(guān)注學(xué)生的學(xué)習(xí)過程,讓學(xué)生在自身實(shí)踐探索的過程中發(fā)現(xiàn)問題解決問題。如教學(xué)時(shí)圍繞do while命令的使用為重點(diǎn)展開探索,通過相應(yīng)的活動(dòng)與任務(wù)提供自主學(xué)習(xí)的機(jī)會(huì),給學(xué)生充分思考的空間和時(shí)間,允許并鼓勵(lì)他們有不同思維方法,尊重他們的想法,讓他們?cè)谙嗷ソ涣饔懻撝?,進(jìn)一步明確程序設(shè)計(jì)的基本方法。通過互助探究后,他們?cè)诓煌膶用嫔系玫教岣撸⒄莆樟私鉀Q相應(yīng)的實(shí)際問題的能力。在此基礎(chǔ)上,教師組織學(xué)生對(duì)知識(shí)進(jìn)一步拓展:如求1+2+3+…+n,達(dá)到程序設(shè)計(jì)的基本要求,那就是通用性、實(shí)用性。這樣的教學(xué),學(xué)生獲得的不僅僅是程序設(shè)計(jì)的基本方法,更重要的是分析、處理問題的思維創(chuàng)新能力。
2.提倡思維方式、程序算法的多樣化,促進(jìn)學(xué)生個(gè)性發(fā)展。
學(xué)生有著不同的專業(yè)基礎(chǔ)、知識(shí)背景和思考角度,他們的差異是客觀存在的,對(duì)同一個(gè)實(shí)際問題,由于學(xué)生的認(rèn)知水平和認(rèn)知風(fēng)格的不同,常常會(huì)出現(xiàn)不同的設(shè)計(jì)方法,這正是學(xué)生具有不同個(gè)性的體現(xiàn)。在學(xué)生進(jìn)行程序設(shè)計(jì)時(shí),學(xué)生中出現(xiàn)了多種形式不同的程序清單。有的是變量的初值不同,有的是在循環(huán)體中命令的先后位臵略有變化,有的是把輸出放在了循環(huán)體之中等等。在學(xué)生獨(dú)立思考解決的基礎(chǔ)上,再讓學(xué)生發(fā)表自己的見解、觀點(diǎn),傾聽同伴的解法,進(jìn)行小組內(nèi)交流、爭論,從而達(dá)成一種共識(shí)。教師鼓勵(lì)學(xué)生用已有的經(jīng)驗(yàn)大膽思維,鼓勵(lì)學(xué)生動(dòng)手上機(jī)操作,尋求解決問題的有效途徑,營造寬松活躍的課堂氣氛。算法的多樣化使學(xué)生變得聰明自信,在主動(dòng)探索與合作交流中得到收獲,并促進(jìn)學(xué)生的個(gè)性發(fā)展。
3.營造民主的氛圍,激發(fā)學(xué)生的創(chuàng)新思維
在程序設(shè)計(jì)過程中,我通過投影展示了一個(gè)例題,然后組織學(xué)生不斷地發(fā)表自己的想法,通過引導(dǎo),鼓勵(lì)他們敢于爭論,完成對(duì)知識(shí)的構(gòu)建,同時(shí)也要注意呵護(hù)每一位學(xué)生的學(xué)習(xí)激情,激發(fā)其創(chuàng)造力。學(xué)生爭論不休的時(shí)刻,也正是他們?cè)诜e極地參與整個(gè)學(xué)習(xí)活動(dòng),這正是組織教學(xué)的精華所在,同時(shí)也挖掘了學(xué)生潛在的創(chuàng)造力,從而也帶動(dòng)了全班學(xué)生的積極參與,在do while命令使用的探索過程中,如驗(yàn)證體會(huì)循環(huán)的執(zhí)行過程時(shí),一學(xué)生提出只要驗(yàn)證1+2+3+…+20的和,又如求1×2×3×4×5時(shí),一學(xué)生說它的sum初值不能為0,只能為1時(shí),全班學(xué)生都給了他熱烈的掌聲。我想他這種的見解總是在經(jīng)過認(rèn)真分析思考后得出來的。
4.教學(xué)方法多樣化,激發(fā)了生學(xué)習(xí)的興趣
VFP課的教學(xué)具有很強(qiáng)的實(shí)踐操作性,教師在課堂中采取靈活多樣的方法,可充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的激情。課機(jī)結(jié)合式教學(xué)法,在課堂中教師通過大屏幕投影儀或網(wǎng)絡(luò)教室講解知識(shí),然后學(xué)生在下面操作學(xué)習(xí),學(xué)生很容易跟著教師的步驟進(jìn)行學(xué)習(xí),掌握教師教給的內(nèi)容,而且印象也較為深刻。任務(wù)驅(qū)動(dòng)教學(xué)法可合理組織學(xué)生自主學(xué)習(xí),激發(fā)他們的興趣,讓他們盡快地活動(dòng)起來,并通過自己的自學(xué)和同學(xué)的幫助來解決問題,在愉快的教學(xué)過程中掌握知識(shí),如上述互動(dòng)中的任務(wù)
一、任務(wù)二等。
5.實(shí)踐探索,進(jìn)一步提高了學(xué)生的創(chuàng)造力
真理源于實(shí)踐,實(shí)踐出真知。在程序設(shè)計(jì)的教學(xué)中,通過邊講、邊練,先從理論上分析討論,找準(zhǔn)理論依據(jù),后通過上機(jī)操作驗(yàn)證其正確性,最后再討論分析、交流程序設(shè)計(jì)的最佳方法,不僅訓(xùn)練了學(xué)生的操作技能,同時(shí)也培養(yǎng)學(xué)生的創(chuàng)造能力??傊诔绦蛟O(shè)計(jì)中,鼓勵(lì)積極思維、分層要求、反復(fù)操作驗(yàn)證、達(dá)到程序算法多樣化是尊重學(xué)生的表現(xiàn),體現(xiàn)了以學(xué)生為主體的教學(xué)原則,是釋放學(xué)生自信心和創(chuàng)新思維、培養(yǎng)創(chuàng)造能力的有效途徑。
6.需進(jìn)一步探索的問題
在程序設(shè)計(jì)教學(xué)時(shí)提倡“精講多練、小組互動(dòng)、分層實(shí)施、機(jī)試為主”的教學(xué)模式,保障了學(xué)生在不同的層面得到發(fā)展,得到提高,同時(shí)也培養(yǎng)了學(xué)生的創(chuàng)新思維,體現(xiàn)理論與技能的雙豐收。但在對(duì)那些基礎(chǔ)較差、不愛動(dòng)腦、動(dòng)手的學(xué)生幫扶上,在分層互動(dòng)、層次把握上,對(duì)教師的組織能力、對(duì)教材的分析駕馭能力提出了新的要求,要能真正把握住哪些是全班學(xué)生掌握的,哪些是部分學(xué)生掌握的,達(dá)到所有的學(xué)生在各自的水平上能吃飽。這些問題還需要我們?cè)谙乱浑A段的教學(xué)中進(jìn)一步的探索。
第三篇:VFP程序設(shè)計(jì)總結(jié)
班級(jí):電氣2013-1 學(xué)號(hào):20***9
VFP程序設(shè)計(jì)
——課設(shè)總結(jié)
為期幾周的VFP數(shù)據(jù)庫設(shè)計(jì)的課設(shè)就快過去了,在這做課設(shè)的這段時(shí)間,可以說是有苦有甜,令人難忘。因此,有必要寫一篇總結(jié),記錄一下自己做課設(shè)的歷程。
剛剛接到老師的課設(shè)要求的時(shí)候有點(diǎn)傻眼了,得優(yōu)秀的要求是系統(tǒng)完善、寫一篇系統(tǒng)總結(jié)、回答老師對(duì)于代碼方面的提問。第一點(diǎn)似乎都還算能做到,但是對(duì)于我們這種連SQL語言的皮毛都沒學(xué),對(duì)于數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu)完全不了解的人,怎么能把三點(diǎn)要求都完成。
但是經(jīng)過一段時(shí)間的摸索,我漸漸對(duì)vf的數(shù)據(jù)庫系統(tǒng)有了大體的了解知道了什么是項(xiàng)目,數(shù)據(jù)庫就是數(shù)據(jù)表的集合,搞清了基本表單的制作過程,知道如何用快速報(bào)表和報(bào)表向?qū)ё龈袷降膱?bào)表,以及對(duì)報(bào)表的美化、求和、計(jì)算等處理,還有就是如何去制作菜單,以及用菜單調(diào)用各種數(shù)據(jù)文件,最后的主程序是直接復(fù)制老師的代碼,但是憑著一點(diǎn)點(diǎn)C++和C語言基礎(chǔ),能夠看懂代碼的意思,這有助于我后期對(duì)整個(gè)系統(tǒng)進(jìn)行查錯(cuò)和修改。下面就講一下我對(duì)自己做的系統(tǒng)的總結(jié)。
1數(shù)據(jù)表(.dbf):數(shù)據(jù)表是整個(gè)系統(tǒng)的“原材料”,后期所有的制作處理,都是為了去處理和顯示這些數(shù)據(jù),去用這些數(shù)據(jù),當(dāng)然也可以說數(shù)據(jù)表依靠后期的表單等等呈現(xiàn)給用戶。
2數(shù)據(jù)庫(.dbc):數(shù)據(jù)庫以我看來就是數(shù)據(jù)表的集合,可以將無聯(lián)系的自由表集合到一個(gè)容器里,使他們可以產(chǎn)生聯(lián)系。并且將這些表作為后面其他東西的數(shù)據(jù)環(huán)境。
3表單(.scx):表單就是最后呈現(xiàn)給用戶的人機(jī)交互界面,并且?guī)в幸欢ǖ墓δ?。表單的制作首先需要要給他設(shè)置數(shù)據(jù)環(huán)境,因?yàn)槠渖厦娴母鞣N控件都是以數(shù)據(jù)環(huán)境里面的數(shù)據(jù)實(shí)現(xiàn)控件的意義。各種控件比如標(biāo)簽就是用來顯示表單上需要顯示的一些文字提示,文本框就是用來顯示文本內(nèi)容,組合框可以下拉顯示一連串的內(nèi)容,表格控件可以顯示表格數(shù)據(jù),可以用生成器做出自定義的表格,按鈕控件可以通過某個(gè)過程比如單擊執(zhí)行用戶需要的事件代碼等等。最后表單生成以后,作為整個(gè)系統(tǒng)的優(yōu)良的用戶與系統(tǒng)的交互平臺(tái)。
4菜單(.mnx):菜單就是整個(gè)系統(tǒng)調(diào)用文件的工具,通過點(diǎn)擊菜單,可以調(diào)用任意用戶想要調(diào)用的文件比如表單,數(shù)據(jù)表,程序等等。
5程序(.prg)程序就是一段代碼,生成文件以后可以由其他文件調(diào)用并執(zhí)行,如主程序就是在系統(tǒng)運(yùn)行時(shí)的入口,當(dāng)然得先設(shè)置好主文件;quit程序可以實(shí)現(xiàn)系統(tǒng)的退出。
除了以上幾個(gè)以外,還有工具欄、自定義類等等在系統(tǒng)中都起著重要的作用,最后講一下設(shè)置背景音樂所用的方法,用set bell to的方式定位到文件,用?chr(7)就能對(duì)WAV格式的音樂進(jìn)行播放。
致謝:
整個(gè)課設(shè)過程收獲很多,不僅僅是了解了利用Visual fox 制作系統(tǒng)的方法,而且還增進(jìn)了同學(xué)們之間的友誼。在這里感謝同學(xué)們的互相學(xué)習(xí)以及交流分享,還有老師孜孜不倦的引導(dǎo),總之,感謝老師,感謝同學(xué),感謝大家!
XXX
第四篇:作業(yè)五:VFP高級(jí)程序設(shè)計(jì)
五、VFP高級(jí)程序設(shè)計(jì)(應(yīng)用性實(shí)驗(yàn))
1、本次實(shí)驗(yàn)的目的
Visual FoxPro不但提供了用于進(jìn)行簡單程序開發(fā)的簡單語句,而且還提供了許多用于進(jìn)行高級(jí)程序設(shè)計(jì)的語句(命令):如輸入/輸出格式設(shè)計(jì)語句、菜單設(shè)計(jì)語句、窗口設(shè)計(jì)語句等和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,為開發(fā)復(fù)雜的管理信息系統(tǒng)提供了強(qiáng)有力的支持。此次作業(yè)所要達(dá)到的主要目的就是想通過上機(jī)實(shí)驗(yàn)讓同學(xué)們初步理解和掌握利用Visual FoxPro高級(jí)編程語句和面向?qū)ο蟮某绦蛟O(shè)計(jì)方法開發(fā)較復(fù)雜的管理信息系統(tǒng)的理論和方法。
2、實(shí)驗(yàn)的總體要求
2·1 嚴(yán)格按照下面“作業(yè)內(nèi)容和操作步驟”的步驟進(jìn)行操作; 2·2 必須如數(shù)完成作業(yè)內(nèi)容; 2·3 獨(dú)立完成作業(yè);
2·4 上機(jī)后分組寫出上機(jī)報(bào)告;報(bào)告內(nèi)容包括:①上機(jī)時(shí)間、②上機(jī)過程、③作業(yè)內(nèi)容及其完成情況、④心得體會(huì)、⑤建議或要求等等。
3、作業(yè)內(nèi)容和操作步驟
3·1 Visual Foxpro高級(jí)程序設(shè)計(jì)的方法和步驟(1)打開VFP(操作方法為:單擊“開始”、“程序”、“Microsoft Visual Foxpro6.0”或雙擊桌面快捷圖標(biāo),如果正常會(huì)出現(xiàn)如下窗口);
(2)打開命令文件編輯器(操作方法為:在VFP窗口的“命令窗口”輸入命令Modify Command和路徑(例:Modify Command E:gzglxtpzsr),如果正常會(huì)出現(xiàn)如下命令文件編輯窗口);
(3)輸入、編輯和修改程序(或者叫命令文件)源代碼(見下面3·2“本次實(shí)驗(yàn)的主要內(nèi)容”和3·3“本次實(shí)驗(yàn)所要達(dá)到的要求”);
(4)存盤退出(操作方法:按Ctrl+w或單擊上編輯窗口的“關(guān)閉”按鈕然后按照提示操作);
(5)程序運(yùn)行(操作方法:在VFP窗口的“命令窗口”輸入命令Do和路徑(例:Do E:gzglxtpzsr),如果正常就會(huì)運(yùn)行你的程序?qū)崿F(xiàn)你想實(shí)現(xiàn)的結(jié)果,如果不正常它會(huì)自動(dòng)返回步驟(2)要求你修改程序);(6)如果上面你自己編寫的程序運(yùn)行正常,便可得到下面的可以進(jìn)行人機(jī)交互輸入記帳憑證的屏幕界面;
(7)所有工作完成后關(guān)閉窗口(操作方法為:單擊VFP窗口的“關(guān)閉”按鈕)。
3·2 本次實(shí)驗(yàn)的主要內(nèi)容(1)畫程序流程圖
已知煙臺(tái)某公司開發(fā)會(huì)計(jì)信息系統(tǒng)的可行性分析、要求分析和系統(tǒng)設(shè)計(jì)已經(jīng)完成,現(xiàn)在正在準(zhǔn)備編寫程序。假設(shè)分配你編寫“記帳憑證輸入程序”,請(qǐng)根據(jù)記帳憑證登記的業(yè)務(wù)特點(diǎn)和計(jì)算機(jī)數(shù)據(jù)輸入的特點(diǎn)畫出準(zhǔn)備編寫的記帳憑證輸入程序的流程圖。(2)編寫程序
利用所學(xué)的Visual FoxPro相關(guān)命令(如分支語句、循環(huán)語句、輸入/輸出格式設(shè)計(jì)語句等等)編寫出滿足下面要求的程序。
3·3 本次實(shí)驗(yàn)所要達(dá)到的要求
(1)要求該程序利用交互方式進(jìn)行憑證輸入;
(2)要求該程序完成交互輸入的屏幕樣式如下圖;
(3)通過實(shí)驗(yàn)深入了解管理信息系統(tǒng)與信息技術(shù)的關(guān)系;(4)通過實(shí)驗(yàn)深入了解Visual FoxPro的輸入/輸出格式設(shè)計(jì)語句的書寫格式、功能、可選項(xiàng)及其應(yīng)用。
4、注意事項(xiàng)
4·1上機(jī)前一定要認(rèn)真閱讀上機(jī)指導(dǎo)書,深入理解作業(yè)的要求和內(nèi)容; 4·2愛護(hù)計(jì)算機(jī)及所有實(shí)驗(yàn)設(shè)備;
4·3遵守實(shí)驗(yàn)室的一切規(guī)章制度,尤其是不能大聲說話和玩游戲。
5、參考文獻(xiàn)
5·1 黃梯云主編,《管理信息系統(tǒng)》,高等教育出版社,2002第 7次印刷; 5·2 呂建忠等,《Office97(中文版)入門與提高》,清華大學(xué)出版社,2000 5·3 錢曉平等,《計(jì)算機(jī)文化基礎(chǔ)》,高等教育出版社,1999; 5·4 李正凡等,《Visual FoxPro程序設(shè)計(jì)基礎(chǔ)教程》,中國水利水電出版社,2000; 5·5 合力工作室編著,《中文Visual FoxPro 6·0編程基礎(chǔ)》,清華大學(xué)出版社,2001; 5·6 周亦民等,《Visual FoxPro 6·0實(shí)用教程》,科學(xué)出版社,2000 5·7 其他同類參考書。附:程序原代碼 set talk off set bell on set intensity on clear clear all set color to gr+/gb* @ 10,10 say “ ” defi wind ck_1 from 1,26 to 11,106 defi wind ck_2 from 12,8 to 28,128 none acti wind ck_1 set color to b+/gr* @ 1,14 say “憑證登記系統(tǒng)使用說明” font “Arial”,22 style “b” @ 4,20say “歡迎您使用我公司開發(fā)的憑證輸入系統(tǒng),本系統(tǒng)采用” @ 5,16 say “最先進(jìn)的全屏幕編輯技術(shù)進(jìn)行數(shù)據(jù)輸入。按光標(biāo)鍵進(jìn)行輸入” @ 6,16 say “位置選擇,按Del進(jìn)行數(shù)據(jù)刪除,按Insert進(jìn)行數(shù)據(jù)插入!” @ 7,22 say “現(xiàn)在進(jìn)行憑證輸入?(Y/N):” get xz defa “ ” read if xz=“Y”.or.xz=“y” use d:cai_glxxxtvfpcxpzb acti wind ck_2 append Blank else deac wind ck_1 release windows set color to w+/w* clear clear all cancel endif do while.t.set color to n+/gr*,n+/g* @ 2,10 to 15,116 pen 3 color r @ 3,24 say “
記
帳
憑
證 ” font “Arial”,18 style “b” @ 5,14 say “ 附單 張 年 月 日 憑證號(hào) ” font “Arial”,12 @ 6,14 say “┏━━━━━━━┳━━━━━━━┳━━━━━━━━┳━━┳━━━━━━┓” font “Arial”,12 @ 7,14 say “┃ 摘 要 ┃ 總 帳 科 目 ┃
明 細(xì) 科 目 ┃記向┃ 金 額 ┃” font “Arial”,12 @ 8,14 say “┣━━━━━━━╋━━━━━━━╋━━━━━━━━╋━━ ╋━━━━━━┫” font “Arial”,12 @ 9,14 say “┃
┃
┃
┃
┃
┃” font “Arial”,12 @ 10,14 say “┗━━━━━━━┻━━━━━━━┻━━━━━━━━┻━━┻━━━━━━┛” font “Arial”,12 @ 11,14 say “
主管:
審核: 制單: ” font “Arial”,12 year=“ ” store “ ” to m,d @ 5,25 get 附單 @ 5,42 get year @ 5,50 get m @ 5,55 get d @ 5,86 get 憑證號(hào) @ 9,18 get 摘要 @ 9,40 get 總帳科目 @ 9,60 get 明細(xì)科目 @ 9,86 get 記向 @ 9,94 get 金額 @ 11,28 get 主管 @ 11,48 get 審核 @ 11,68 get 制單 read ymd=year+“.”+m+“.”+d replace 日期 with ymd @ 13,24 say “是否繼續(xù)登記?(READ if xz1<>”Y“.or.xz1<>”y“ exit else clear append Blank loop endif enddo close data deac wind ck_1,ck_2 release windows set color to w+/w* clear clear all return
Y/N):” get xz1 defa “ ” 4
第五篇:VFP程序設(shè)計(jì)報(bào)告 計(jì)算器分析
VFP程序設(shè)計(jì)報(bào)告
專業(yè):外國語學(xué)院英語專業(yè)
姓名:段瑩婷 學(xué)號(hào):9*** 題目:計(jì)算器 指導(dǎo)教師:薛春香
一、設(shè)計(jì)意圖
在決定設(shè)計(jì)計(jì)算器程序之前,我有嘗試過設(shè)計(jì)工資管理系統(tǒng),結(jié)果發(fā)現(xiàn)工資管理系統(tǒng)比較繁瑣有沒什么用處,便改為設(shè)計(jì)程序較為簡單,且實(shí)用性強(qiáng)的計(jì)算器,除了可以完成VFP任務(wù),在平時(shí)生活中也可以使用。
二、系統(tǒng)主要功能
該計(jì)算器是一款小型的用于簡單數(shù)學(xué)計(jì)算的程序,能完成基本算術(shù)運(yùn)算并顯示其結(jié)果,使用計(jì)算器可進(jìn)行加(+)、減(-)、乘(×)、除(/)、開方(sqrt)、百分?jǐn)?shù)(%)、倒數(shù)(1/x)等簡單算術(shù)計(jì)算,但無法進(jìn)行復(fù)雜的平方、求平均數(shù)等科學(xué)型的計(jì)算。
主要表單:歡迎界面(welcome.scx),計(jì)算器界面(calculator.scx)。
三、使用方法
1、鍵入數(shù)字時(shí),按下相應(yīng)的數(shù)字鍵,如果按錯(cuò)可用(CE)鍵消去一次數(shù)值,再重新輸入正確的數(shù)字;
2、加(+)、減(-)、乘(×)、除(÷)鍵用于進(jìn)行四則運(yùn)算;
3、根號(hào)(sqrt)鍵是開二次方根; 4、1/x 鍵取倒數(shù);
5、按下(+/-)鍵可改變數(shù)字的正負(fù)值;
6、按下等號(hào)(=)鍵顯示運(yùn)算結(jié)果;
7、MS鍵存儲(chǔ)顯示的數(shù)據(jù),MR鍵讀取已存儲(chǔ)的數(shù)據(jù),MC鍵清除存儲(chǔ)數(shù)據(jù),M+鍵將顯示結(jié)果與已存儲(chǔ)數(shù)據(jù)相加;
8、C(CLEAR)鍵表示清零,作用是將計(jì)算器恢復(fù)到開機(jī)狀態(tài),而CE(CLEAR ERROR)鍵僅表示當(dāng)前數(shù)字清除,作用是將當(dāng)前輸入的數(shù)字清除回到0狀態(tài)。
四、設(shè)計(jì)過程
(一)、準(zhǔn)備工作
將F盤中的所有文件清除,放入制作計(jì)算器所需的圖片。
Set default to F
&&將F盤設(shè)為默認(rèn)目錄。
(二)、歡迎界面的設(shè)計(jì)
文件—新建—項(xiàng)目,新建名為jsq的項(xiàng)目,在項(xiàng)目管理器中新建一表單form1,將form1的Caption屬性設(shè)為“歡迎”,Picture屬性中插入背景圖片。在表單中繪制三個(gè)標(biāo)簽(Label),將其Caption屬性分別設(shè)為“歡迎使用計(jì)算器”、“進(jìn)入計(jì)算器”及“取消”,并修改相應(yīng)屬性以使界面符合理想要求。
Label 2控件的Click事件代碼為: do form calculator thisform.release Label 3控件的Click事件代碼為: Thisform.release 最后成品界面如下所示:
將這個(gè)表單設(shè)為主文件。
(三)、計(jì)算器的設(shè)計(jì)
1、添加控件
在項(xiàng)目管理器中新建第二個(gè)表單form2,將其Caption屬性設(shè)為“計(jì)算器”。
首先為表單新建屬性,系統(tǒng)菜單欄中選“表單”——“新建屬性”——名稱:ls ——“添加”。再新建屬性mm。
添加27個(gè)命令按鈕,其命令按鈕的Caption屬性和Click事件代碼分別為:(1)[1] 按鈕
Command1.Caption=’1’
Command1.Click事件代碼為:thisform.text1.value=thisform.text1.value+'1'(2)[2] 按鈕——[9] 按鈕的設(shè)置同[1] 按鈕相似。(3)[0] 按鈕
Command10.Caption=’0’
Command10.Click事件代碼為:
thisform.text1.value=thisform.text1.value+'0' if alltrim(thisform.text1.value)='00' thisform.text1.value='0' endif(4)[+] 按鈕
Command11.Caption=’ +’
Command11.Click事件代碼為:thisform.ls=val(thisform.text1.value)
thisform.tag='1'
thisform.text1.value=''(5)[-] 按鈕
Command12.Caption=’ -’ Command12.Click事件代碼為:thisform.ls=val(thisform.text1.value)
thisform.tag='2'
thisform.text1.value=''
(6)[×] 按鈕
Command13.Caption=’ ×’
Command13.Click事件代碼為:thisform.ls=val(thisform.text1.value)
thisform.tag='3'
thisform.text1.value=''(7)[÷] 按鈕
Command14.Caption=’ ÷’
Command14.Click事件代碼為:thisform.ls=val(thisform.text1.value)
thisform.tag='4'
thisform.text1.value=''(8)[=] 按鈕
Command15.Caption=’ =’
Command15.Click事件代碼為:do case
case thisform.tag='1'
thisform.text1.value=alltrim(str(thisform.ls+val(thisform.text1.value),20,4))
case thisform.tag='2'
thisform.text1.value=alltrim(str(thisform.ls-val(thisform.text1.value),20,4))
case thisform.tag='3'
thisform.text1.value=alltrim(str(thisform.ls*val(thisform.text1.value),20,4))
case thisform.tag='4'
thisform.text1.value=alltrim(str(thisform.ls/val(thisform.text1.value),20,4))
endcase
(9)[MC] 按鈕
Command16.Caption=’MC ’
Command16.Click事件代碼為:thisform.mm=0
(10)[MR] 按鈕
Command17.Caption=’MR ’
Command17.Click事件代碼為:thisform.text1.value=alltrim(str(thisform.mm))
(11)[M+] 按鈕
Command18.Caption=’M+ ’
Command18.Click事件代碼為:
thisform.mm=thisform.mm+val(alltrim(thisform.text1.value))
(12)[MS] 按鈕
Command19.Caption=’MS ’
Command19.Click事件代碼為:thisform.mm=val(alltrim(thisform.text1.value))
(13)[+/-] 按鈕
Command20.Caption=’ +/- ’
Command20.Click事件代碼為:if substr(alltrim(thisform.text1.value),1,1)='-'
thisform.text1.value=substr(alltrim(thisform.text1.value),2)
else
thisform.text1.value='-'+alltrim(thisform.text1.value)
endif
(14)[·] 按鈕
Command21.Caption=’ · ’
Command21.Click事件代碼為:if at('.',thisform.text1.value)=0
thisform.text1.value=thisform.text1.value+'.' endif
(15)[退出] 按鈕
Command22.Caption=’ 退出 ’
Command22.Click事件代碼為:thisform.release
(16)[1/x] 按鈕
Command23.Caption=’ 1/x ’
Command23.Click事件代碼為:
thisform.text1.value=alltrim(str(1/val(thisform.text1.value),20,4))
(17)[sqrt] 按鈕
Command24.Caption=’ sqrt ’
Command24.Click事件代碼為:
thisform.text1.value=alltrim(str(sqrt(val(thisform.text1.value)),20,4))
(18)[退格] 按鈕
Command25.Caption=’ 退格’
Command25.Click事件代碼為:
thisform.text1.value=substr(alltrim(thisform.text1.value),1,len(alltrim(thisform.text1.value))-1)
(19)[CE] 按鈕
Command26.Caption=’CE’
Command26.Click事件代碼為:thisform.text1.value=''
(20)[C] 按鈕
Command27.Caption=’CE’
Command27.Click事件代碼為:thisform.text1.value=''
thisform.ls=0 thisform.tag=''
完成之后修改它們的FontBold、FontName、ForeColor屬性進(jìn)行美化。
添加三個(gè)文本框,text1,text2,text3,Text3.ReadOnly=.T.text2.ReadOnly=.T.指定用戶不能編輯此控件。
完成之后的界面:
2、創(chuàng)建菜單
3、為“編輯”菜單創(chuàng)建子菜單
4、為“查看”菜單添加子菜單
最后生成菜單。
5、設(shè)置菜單屬性
設(shè)為頂層表單。
(四)、創(chuàng)建程序和配置文件
程序代碼為:
do form calculator.scx read events
配置文件代碼為: Screen=off
修改表單:
Form1.init=do calculator.mpr with this,.T.Form1.Destroy=thisform.release clear events
(五)、小結(jié)
剛開始得知要自己用VFP編寫程序的時(shí)候,我覺得這幾乎是不可能完成的任務(wù),同時(shí)也很后悔自己上學(xué)期沒有認(rèn)真聽講。在毫無想法地度過了幾天之后,我開始面對(duì)現(xiàn)實(shí)。最初的想法是編寫一個(gè)工資管理系統(tǒng),表做得很順利,但之后做菜單時(shí)遇到了問題,絞盡腦汁無法解決后我便放棄了這個(gè)系統(tǒng),轉(zhuǎn)而設(shè)計(jì)程序簡單卻很實(shí)用的計(jì)算器。剛開始跟著書本亦步亦趨,但是越做越發(fā)現(xiàn)書上的代碼好像有點(diǎn)問題,中間步驟也似乎不是很完整,我決定不按書上的套路來。在查閱了書本、瀏覽了幾個(gè)程序設(shè)計(jì)網(wǎng)站之后,我制作了一個(gè)和書上代碼不同的計(jì)算器程序,添加了一個(gè)菜單。計(jì)算器程序編寫完成之后,我感到自己的程序過于單薄,便又添加了一個(gè)歡迎界面。最后連編時(shí)又遇到了大問題,無論怎么連編,最后生成的程序都無法運(yùn)行,為解決這個(gè)問題,我用別人的電腦試過,還重裝了VFP軟件,還瀏了許許多多網(wǎng)頁,最后很湊巧地成功了。在制作過程中,我對(duì)表單的背景、字體等的設(shè)置都是經(jīng)過深思熟慮的,雖然這個(gè)程序很簡單,但畢竟是自己的勞動(dòng)成果,我還是很滿意的。
VFP程序設(shè)計(jì)的過程,不僅是完成必須任務(wù)的過程,這個(gè)過程還讓我收獲了除了學(xué)術(shù)知識(shí)方面的其他果實(shí)。
第一,我體會(huì)到了自主學(xué)習(xí)的重要性。VFP程序設(shè)計(jì),不是只有我覺得困難,大家都很苦惱,在這種時(shí)候能夠依靠的就只有自己,要學(xué)會(huì)自己搜取需要的資源。
第二,自主學(xué)習(xí)不代表各管各,只掃自家門前雪,不管他人瓦上霜。遇到實(shí)在無法解決的問題時(shí),互幫互助是很重要的。自己不懂的,別人也許很擅長,幫他人解決問題時(shí),自己也可能會(huì)學(xué)到新的技巧;
第三,耐性很重要。做完計(jì)算器程序之后其實(shí)我有點(diǎn)后悔,因?yàn)楫?dāng)我回過頭去看被我放棄的工資管理系統(tǒng)時(shí),我發(fā)現(xiàn)之前弄不明白的問題在編寫計(jì)算器程序的過程中已經(jīng)找到了答案,如果當(dāng)初我能多查閱一些資料,也許就能成功完成工資管理系統(tǒng)了。但同時(shí)我又慶幸自己堅(jiān)持做完了計(jì)算器。所以做任何事情,碰到任何困難,都不能立即判死刑,再多點(diǎn)耐心,再堅(jiān)持一會(huì)兒,方能柳暗花明又一村;
第四,相信自己!我能編寫出一個(gè)程序這就是最好的例證!