亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GGB的拖動交互式練習(xí)題

        2023-05-30 18:25:24蔣維
        電腦知識與技術(shù) 2023年2期
        關(guān)鍵詞:輸入框指令按鈕

        蔣維

        關(guān)鍵詞:GeoGebra;輸入框;按鈕;指令

        中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2023)02-0084-03

        1概述

        GeoGebra(簡稱GGB)= Geometry(幾何)+ Algebra (代數(shù)),是一款同時擁有處理幾何繪圖與代數(shù)運算能力的完全免費的、功能強大的、動態(tài)的數(shù)學(xué)軟件[1]。GeoGebra可免費用于學(xué)習(xí)、教學(xué)和考評,它不僅功能強大、使用簡單、交互性強,同時也支持多種語言,可適用于各種課程或項目的制作??梢詮墓ぞ?、指令(函數(shù)和命令)、腳本三個層次來使用其功能,其中腳本可以看成是由多個指令組合而成。GeoGebra工具和指令的配合使用可以實現(xiàn)許多功能:課堂動態(tài)演示、出題、出卷、交互、探索等。現(xiàn)在的學(xué)習(xí)都講究探索式學(xué)習(xí)即在做中進(jìn)行學(xué)習(xí)(Learning by doing),這就要求做出的課件是能夠提供探索、互動和交互的,而交互是探究的重要途徑,GeoGebra中的交互可體現(xiàn)在多個方面,如:任何對象是可以選擇、拖動、變換的,利用變量和滑動條,以及動點、軌跡等。本文制作了一個拖動式交互練習(xí)題,進(jìn)而對質(zhì)數(shù)的性質(zhì)進(jìn)行探索,文中主要使用腳本制作出了一些更復(fù)雜的交互控制。

        2 事件與腳本

        2.1 事件

        事件(Events)在GeoGebra 中主要指點擊或者改變對象屬性等某種操作的發(fā)生,比如:點擊按鈕、數(shù)字滑桿運動引起的數(shù)值變化、對象屬性中顯示條件的變化或?qū)ο笪恢玫淖兓?,只要發(fā)生上述的操作,在GeoGebra中就可以說發(fā)生了事件,當(dāng)事件發(fā)生時,就可以針對事件寫一些指令,這一系列指令稱為腳本。

        2.2 腳本

        腳本(Scripting)在GeoGebra中是指多條指令寫在一起,這些腳本也可以稱為程序,但這些腳本程序比一般意義上的程序要簡單,在GeoGebra中的腳本程序沒有一般意義上程序的循環(huán)、結(jié)構(gòu)等復(fù)雜語句,在GeoGebra中理解腳本就是當(dāng)某件事件發(fā)生時需要做的事情,有時也可能需要做多件事情,這時就需要把多條指令寫在一起,這就是GeoGebra中的腳本。

        2.3 針對事件寫腳本

        腳本可以寫入任意對象的屬性中,在對象的屬性里面選擇腳本(Scripting)。腳本里會列出三種事件:單擊時(On Click)、更新時(On Update)、全局(Global)[2]。有的對象的腳本里可能只有On Click、On Update 兩種事件中的一種。On Click、On Update是針對具體的對象,Global不針對某一個具體對象,它是全局使用的。On Click、On Update腳本用的是GGB中的指令,Global腳本需要用JavaScript編寫[3]。編寫Global腳本需要有一定的編程基礎(chǔ),所以在GeoGebra中編寫的腳本大多數(shù)是針對On Click、On Update 兩種事件來編寫。

        3 程序的設(shè)計與實現(xiàn)

        3.1 程序?qū)崿F(xiàn)的目標(biāo)

        程序的主要目標(biāo)是實現(xiàn)用戶能在輸入欄中輸入任意數(shù),把輸入正確的數(shù)拖動到對應(yīng)的方框中,在輸入和拖動的過程中,程序會根據(jù)用戶所做的選擇進(jìn)行對錯判斷、界面變化等。

        3.2 程序主要的處理工具和指令

        (1) 輸入框:用戶在輸入框中輸入數(shù)據(jù)。

        (2) 按鈕:確認(rèn)用戶輸入的內(nèi)容和刷新界面內(nèi)容并清除拖入?yún)^(qū)域框中的數(shù)據(jù)。

        (3) 文本:接收輸入框中輸入的數(shù)據(jù)以及顯示各種提示語。

        (4) 如果\if()指令:if(,)/如果(<條件>,<結(jié)果>),如果條件滿足,創(chuàng)建一個對象;如果條件不滿足,創(chuàng)建一個未定義對象。if(,,)/如果(<條件>,<結(jié)果>,<否則>),如果條件滿足,創(chuàng)建一個對象;如果條件不滿足,創(chuàng)建另一個對象[4]。所有對象必須是相同的類型。本文用if()指令判斷各種文本對象是否顯示以及對一些對象的值進(jìn)行選擇設(shè)置等。

        (5) 角點\Corner()指令:角點(<文本>,<角點數(shù)字1 —4>),創(chuàng)建文本對象的角點坐標(biāo)點(數(shù)值n=1,2,3,4),角點的編號按逆時針方向排序,起點是左下角[5]。例如:text1 = "確認(rèn)輸入",文本text1四個角點A、B、C、D 的坐標(biāo)值如圖1所示。

        3.3 程序的設(shè)計

        本程序設(shè)計過程:第一,界面上有一個輸入欄,輸入欄由輸入框和確認(rèn)輸入按鈕組成,用戶可以在輸入框中輸入任意的數(shù)值,按確認(rèn)按鈕后,如果輸入的數(shù)值不符合要求,會提示“重新輸入”,當(dāng)輸入正確數(shù)值按“確認(rèn)輸入”按鈕后會形成數(shù)字文本,同時輸入欄隱藏;第二,拖動數(shù)字文本到對應(yīng)的方框中,如果數(shù)值拖入正確的方框則會提示“放置正確”,同時輸入欄出現(xiàn),可繼續(xù)輸入下一個數(shù)值,如果拖放位置錯誤則會提示重新“進(jìn)行選擇”,直到數(shù)字拖入正確位置;第三,操作過程中可隨時點擊界面上的“刷新”按鈕,清空界面上所有的內(nèi)容回到程序開始的界面。

        3.4 程序的實現(xiàn)過程

        (1) 在繪圖區(qū)用多邊形工具繪制出兩個矩形框poly1和poly2,指令欄中分別輸入:質(zhì)數(shù)= "質(zhì)數(shù)",非質(zhì)數(shù)= "非質(zhì)數(shù)",把名稱文本拖動到兩個矩形框合適的位置,標(biāo)注出兩個矩形框?qū)?yīng)的名稱。指令欄中分別輸入:正確1 = "正確",錯誤1 = "錯誤!請重新選擇!",正確2 = "正確",錯誤2 = "錯誤!請重新選擇!",為兩個矩形框標(biāo)注好提示語,拖動創(chuàng)建好的提示語文本放置在對應(yīng)矩形框的適當(dāng)位置。文中所有的文本也可用文本工具制作。

        (2) 指令欄中依次輸入:A = (3,5),text1 = "",輸入提示= "",a = 2。其中點A的坐標(biāo)值根據(jù)實際情況設(shè)置,用于對象的附著,a用于存放輸入的數(shù)據(jù),text1用于存放a轉(zhuǎn)換為文本后的數(shù)字文本,文本"輸入提示" 用于用戶輸入數(shù)據(jù)格式錯誤時的提示,輸入提示語可放置于界面上的適當(dāng)位置或附著于A點上。

        (3) 指令欄中輸入指令:InputBox1 = 輸入框(a),創(chuàng)建輸入框后可打開其屬性框進(jìn)行輸入框格式的設(shè)置,此處是把對象的顯示標(biāo)簽功能取消,也可以在屬性框中設(shè)置輸入框的標(biāo)題名為$$。輸入框也可通過工具創(chuàng)建,創(chuàng)建時關(guān)聯(lián)對象選擇變量a 即可。

        (4) 指令欄中依次輸入:button1 = 按鈕("$確認(rèn)$"),button2 = 按鈕("$刷新$"),創(chuàng)建2個按鈕,按鈕也可用工具創(chuàng)建,創(chuàng)建按鈕后可打開其屬性框進(jìn)行按鈕格式的設(shè)置。此處設(shè)置按鈕的標(biāo)題時引用了兩個$符號,把標(biāo)題放置"$$"中間代表標(biāo)題的顯示模式引用了LaTex公式的形式,還可以使用LaTex公式語法對標(biāo)題進(jìn)行屬性的設(shè)置,如:button1 = 按鈕("$\red{確認(rèn)}$"),此時按鈕的標(biāo)題被設(shè)置為紅色;button1 = 按鈕("$\large{\red{確認(rèn)}}$"),此時按鈕的標(biāo)題設(shè)置為紅色并且字體變大。設(shè)置對象標(biāo)題時可根據(jù)實際情況進(jìn)行LaTex的引用。

        (5) 指令欄中依次輸入:對錯顯示= false,數(shù)字顯示= true,輸入欄顯示= true,創(chuàng)建3個布爾變量。

        (6) 指令欄中依次輸入:設(shè)置顯示條件( Input?Box1 , 輸入欄顯示),設(shè)置顯示條件( button1, 輸入欄顯示),用"輸入欄顯示"布爾變量控制輸入欄的顯示與否。

        (7) 打開button1腳本編輯,在"單擊時"標(biāo)簽下輸入以下腳本:

        if(是否為整數(shù)(a)&&a>1&&數(shù)字顯示,復(fù)制自由對象(text1))

        if(是否為整數(shù)(a)&&a>1,{賦值(text1,文本(a)),設(shè)置坐標(biāo)(text1,x(A)+0.5,y(A)+0.5),賦值(輸入欄顯示,false), 賦值(對錯顯示,true),賦值(輸入提示,"")},{賦值(對錯顯示,false),賦值(輸入提示,"請輸入大于1的整數(shù)!"),賦值(InputBox1,"")})

        腳本中的第二個if函數(shù)的作用:單擊“確認(rèn)”按鈕時判斷輸入的數(shù)據(jù)是否正確,如果正確,把數(shù)字轉(zhuǎn)換為文本存于text1中,把text1放置在繪圖區(qū)固定位置,把“輸入欄顯示”布爾變量的值設(shè)為false,此時輸入欄隱藏,把“對錯顯示”的布爾值設(shè)為true,讓拖動對象到對應(yīng)方框時的對錯提示語可顯示,同時隱藏數(shù)據(jù)輸入錯誤時的提示語;如果輸入錯誤,讓拖動對象到對應(yīng)方框時的對錯提示語不可顯示,界面上出現(xiàn)輸入數(shù)據(jù)錯誤提示語,同時把輸入框中的數(shù)據(jù)清空,執(zhí)行過程如圖2、圖3所示。

        腳本中的第一個if函數(shù)的作用:當(dāng)text1拖入正確方框時,輸入欄出現(xiàn)(輸入欄出現(xiàn)的條件會在第(9)中設(shè)置說明),繼續(xù)輸入下一個正確數(shù)字并按確認(rèn)按鈕時,復(fù)制text1內(nèi)容以保存當(dāng)前的數(shù)字,復(fù)制的副本對象會放置在方框中text1被拖動到的位置處,接著執(zhí)行第二個if函數(shù),text1則可以繼續(xù)接收下一個數(shù)據(jù),再進(jìn)行下一輪的拖放交互,效果如圖4所示。if函數(shù)條件中的"數(shù)字顯示"布爾變量是用于控制方框中所有復(fù)制對象的顯示與否的。

        (8) 指令欄中依次輸入:

        設(shè)置顯示條件( 正確1, 角點(text1, 1)∈poly1 ∧ 角點(text1, 2) ∈ poly1∧ 角點(text1, 3) ∈ poly1∧ 角點(text1, 4)∈poly1∧ 是否為質(zhì)數(shù)(a) ∧ 對錯顯示)

        設(shè)置顯示條件( 正確2, 角點(text1, 1) ∈ poly2 ∧ 角點(text1, 2) ∈ poly2 ∧ 角點(text1, 3) ∈ poly2 ∧ 角點(text1, 4) ∈ poly2 ∧ (?是否為質(zhì)數(shù)(a)) ∧ 對錯顯示)

        設(shè)置顯示條件( 錯誤1, 角點(text1, 1) ∈ poly1 ∧ 角點(text1, 2) ∈ poly1 ∧ 角點(text1, 3) ∈ poly1 ∧ 角點(text1, 4) ∈ poly1 ∧ (?是否為質(zhì)數(shù)(a)) ∧ 對錯顯示)

        設(shè)置顯示條件( 錯誤2, 角點(text1, 1)∈poly2 ∧ 角點(text1, 2) ∈ poly2∧ 角點(text1, 3) ∈ poly2∧ 角點(text1, 4)∈poly2∧ 是否為質(zhì)數(shù)(a) ∧ 對錯顯示) 設(shè)置對象的顯示條件也可以在對象的屬性框中進(jìn)行。此處指令是設(shè)置拖動對象入對應(yīng)方框時的對錯提示語,通過判斷數(shù)字文本四個角點是否都在方框內(nèi)(即判斷對象是否拖入方框)和數(shù)據(jù)是否滿足所設(shè)條件而進(jìn)行提示語句的顯示選擇,此處“對錯顯示”布爾變量的主要作用是在于無論何時點擊“刷新”按鈕都能清空界面上的拖動對錯的提示語。

        (9)打開“正確1”“正確2”的腳本編輯,在“更新時”標(biāo)簽下輸入以下腳本:

        if(角點(text1, 1) ∈ poly1 ∧ 角點(text1, 2) ∈ poly1 ∧ 角點(text1, 3) ∈ poly1 ∧ 角點(text1, 4) ∈ poly1∧ 是否為質(zhì)數(shù)(a) ,賦值(輸入欄顯示,true)) //正確1

        if(角點(text1, 1) ∈ poly2 ∧ 角點(text1, 2) ∈ poly2 ∧ 角點(text1, 3) ∈ poly2 ∧ 角點(text1, 4) ∈ poly2 ∧ (?是否為質(zhì)數(shù)(a)) ,賦值(輸入欄顯示,true)) //正確2

        以上腳本也可寫入“錯誤1”“錯誤2”文本對象中,或者兩條指令合寫在一個文本對象的腳本中。此處指令的作用是當(dāng)對象拖入方框時,對錯提示語發(fā)生更新事件從而執(zhí)行腳本,腳本指令中的“賦值(輸入欄顯示,true)”,用于對象拖入正確方框時,可顯示輸入欄進(jìn)行下一個對象的輸入。執(zhí)行過程如圖4、圖5所示。

        (10)打開button2腳本編輯,在“單擊時”標(biāo)簽下輸入以下腳本:

        刪除(數(shù)字顯示) //清空方框中的所有數(shù)字

        數(shù)字顯示=true //可以在方框中寫入數(shù)據(jù)

        輸入欄顯示=true //顯示輸入欄

        對錯顯示=false //清除拖動對錯提示信息

        text1="" //清空text1內(nèi)容,重新接收新數(shù)據(jù)

        輸入提示="" //清除輸入對錯提示語

        賦值(InputBox1,"") //清空輸入框

        設(shè)置坐標(biāo)(text1,x(A),y(A)) //重新固定text1 數(shù)據(jù)文本的位置

        執(zhí)行過程如圖6所示。

        4結(jié)論

        本文利用GeoGebra中的工具、指令和腳本實現(xiàn)了拖動式交互式練習(xí)題,文中使用指令制作的對象,如輸入框、按鈕等,可選用對應(yīng)的工具制作,也可在此基礎(chǔ)上把程序稍做修改,制作為拖動幾何圖形進(jìn)行分類,或是制作成一個拼圖游戲等。GeoGebra的工具、指令和腳本三種類型的結(jié)合使用,可以制作出許多交互式和探索式的課件效果。

        猜你喜歡
        輸入框指令按鈕
        哪個是門鈴真正的按鈕
        聽我指令:大催眠術(shù)
        當(dāng)你面前有個按鈕
        拍一拍,圖片識文字
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        輸入框設(shè)計中需注意的9個細(xì)節(jié)
        死循環(huán)
        自編翻譯程序
        CHIP新電腦(2015年10期)2015-10-15 12:48:23
        內(nèi)心不能碰的按鈕
        国产亚洲精品福利在线| 人妻少妇精品视频三区二区一区 | 特级av毛片免费观看| 五月婷婷六月激情| 男女男在线精品免费观看| 美女视频一区二区三区在线 | 亚洲色欲色欲www在线播放| 久久久国产精品免费无卡顿| 日韩一级精品亚洲一区二区精品| 级毛片内射视频| 欧美最猛性xxxxx免费| 2021精品国产综合久久| 青青草绿色华人播放在线视频| 国产精品久久久天天影视| 东北妇女肥胖bbwbbwbbw| 亚洲精品亚洲人成在线下载| 日本在线一区二区三区四区| 天天综合天天爱天天做| 亚洲av之男人的天堂网站| 国产成人亚洲精品电影| 亚洲情久久久精品黄色| 肥老熟妇伦子伦456视频| 亚洲综合精品成人| 视频二区精品中文字幕| 人妻经典中文字幕av| 欧美一区二区三区视频在线观看| 巨大欧美黑人xxxxbbbb| 在线观看黄片在线播放视频| 亚洲处破女av日韩精品中出| 无码一区二区三区在线 | 人妖一区二区三区视频| 日本黄网站三级三级三级| 无码 制服 丝袜 国产 另类 | 久久国产精品一区av瑜伽| 九色九九九老阿姨| 在线播放国产女同闺蜜| 在线观看中文字幕不卡二区| 少妇被爽到高潮喷水久久欧美精品| 永久免费无码av在线网站| 国产一区二区三区最新视频| 在线观看视频日本一区二区|