• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    數(shù)學(xué)口算練習(xí)自動生成程序的設(shè)計(jì)與實(shí)現(xiàn)

    2018-03-16 13:19:07胡云峰
    科學(xué)與財(cái)富 2018年2期
    關(guān)鍵詞:程序設(shè)計(jì)

    胡云峰

    摘 要:在小學(xué)低年級數(shù)學(xué)教學(xué)中,口算的練習(xí)是一個很重要的組成部分,加大練習(xí)量,是提高學(xué)生口算能力的最有效途徑。文章論述了一種通過計(jì)算機(jī)程序自動生成口算練習(xí)題的實(shí)現(xiàn)方式。

    關(guān)鍵詞:程序設(shè)計(jì);HashSet;MIME協(xié)議

    0引言

    小學(xué)低年級的數(shù)學(xué)教學(xué),注重學(xué)生計(jì)算能力的培養(yǎng),而口算能力的訓(xùn)練,是其中一個重要組成部門。然而,巨大的習(xí)題需求量,加重了任課教師或者家長的出題負(fù)擔(dān),因此,一種由計(jì)算機(jī)自動生成練習(xí)題,并可直接打印的系統(tǒng),就顯得很有必要。

    1.系統(tǒng)分析與設(shè)計(jì)

    1.1 題型分析

    小學(xué)一二年級數(shù)學(xué)教學(xué),主要培養(yǎng)學(xué)生10以內(nèi)加減運(yùn)算、100以內(nèi)的加減運(yùn)算以及乘法口訣表的使用能力,在題型上,有單加減、單乘、連加連減、混加混減、加減乘混合等,一般每套練習(xí)題包含50道題目。

    1.2 需求分析

    根據(jù)題型及實(shí)際需要,系統(tǒng)向用戶提供題型選擇、生成題量設(shè)定、排版打印等功能。其中,題型選擇功能實(shí)現(xiàn)用戶選擇題型,系統(tǒng)根據(jù)選擇生成相對應(yīng)的題目;題量設(shè)定功能向用戶提供自主設(shè)定生成練習(xí)題數(shù)量的功能;排版打印功能實(shí)現(xiàn)將系統(tǒng)生成的練習(xí)題按照一定格式,自動生成WORD文檔,并可直接打印的功能。

    1.3 開發(fā)技術(shù)選擇

    考慮到用戶的非專業(yè)性,系統(tǒng)要求簡單易用、即點(diǎn)即用,因此,使用不用安裝客戶端的B/S模式及不使用數(shù)據(jù)庫的技術(shù)手段就顯得比較合適。本系統(tǒng)最終選擇采用JSP+JavaBean模式[1]開發(fā),成品放于WEB服務(wù)器上,使用戶打開瀏覽器訪問服務(wù)網(wǎng)址即可使用。

    2.系統(tǒng)實(shí)現(xiàn)

    2.1 練習(xí)題自動生成功能的實(shí)現(xiàn)

    系統(tǒng)使用JSP+JavaBean的技術(shù)手段開發(fā),邏輯實(shí)現(xiàn)部分,使用JavaBean實(shí)現(xiàn)。以10以內(nèi)的加減法、100以內(nèi)的加減法及乘法口訣練習(xí)題的生成為例,利用數(shù)組存放所生成的練習(xí)題,實(shí)現(xiàn)代碼如下:

    package com.hyf;

    import java.util.*;

    public class MyTools {

    static int array[]=new int[10];

    static ArrayList myList=new ArrayList();

    public MyTools() {

    for(int i=0;i<10;i++) {

    array[i]=i; }} //練習(xí)題只由數(shù)字0—9構(gòu)成,生成裝有0—9共10個數(shù)字的數(shù)組

    public static ArrayList withinTen() { //10以內(nèi)的加減練習(xí)題生成

    for(int i=0;i<10;i++) {

    for(int j=0;j<10;j++) {

    myList.add(i + " + " + j + " = "); //生成加法練習(xí)題

    if(i>=j) myList.add(i + " - " + j + " = ");}} //減法練習(xí)題,控制被減數(shù)必須大于減數(shù),避免出現(xiàn)負(fù)數(shù)

    return myList; }

    public static ArrayList withinHundred() { //100以內(nèi)的加減練習(xí)題生成

    for(int i=10;i<100;i++) {

    for(int j=10;j<100;j++) {

    if(i+j<=100) myList.add(i + " + " + j + " = ");

    if(i>=j) myList.add(i + " - " + j + " = "); }} //減法練習(xí)題,控制被減數(shù)必須大于減數(shù),避免出現(xiàn)負(fù)數(shù)

    return myList; }

    public static ArrayList multiplication() { //乘法口訣練習(xí)題生成

    for(int i=1;i<10;i++) {

    for(int j=1;j<=i;j++) {

    myList.add(j + " × " + i + " = ");}}

    return myList; }}

    2.2 隨機(jī)選取50道練習(xí)題功能的實(shí)現(xiàn)

    學(xué)生進(jìn)行練習(xí)時,綜合考慮低年級學(xué)生注意力及能力的特點(diǎn),結(jié)合考核要求,一般每套練習(xí)題包含50道題目。實(shí)現(xiàn)從生成的所有題目數(shù)組中隨機(jī)地、不重復(fù)地抽取其中50道組成1套練習(xí)題,系統(tǒng)采用了HashSet對象及其只能存放不同的值的特性來實(shí)現(xiàn)。主要實(shí)現(xiàn)代碼如下:

    public void randomSet(int min, int max, int n, HashSet set) {

    if (n > (max - min + 1) || max < min) {

    return; }

    for (int i = 0; i < n; i++) {

    // 調(diào)用Math.random()方法

    int num = (int) (Math.random() * (max - min)) + min;

    set.add(num); } // 利用HashSet的不能存放相同內(nèi)容的特性,將不同的數(shù)存入HashSet中

    int setSize = set.size(); // 如果存入的數(shù)小于指定生成的個數(shù),則調(diào)用遞歸再生成剩余個數(shù)的隨機(jī)數(shù),如此循環(huán),直到達(dá)到指定大小

    if (setSize < n) {

    randomSet(min, max, n - setSize, set);}} // 遞歸

    public int[] getArrayListSubscript(){ //返回隨機(jī)50道題的數(shù)組

    int subscript[]=new int[50];

    int i=0;

    HashSet hs=new HashSet(); //隨機(jī)數(shù)結(jié)果集

    randomSet(0,100,50,hs);

    for(Integer s:hs){

    subscript[i]=s;

    i++;}

    return subscript;}

    2.3 生成WORD文檔功能的實(shí)現(xiàn)

    在Java Web程序開發(fā)中,MIME 協(xié)議指示 MIME 用戶代理如何顯示附加的文件[2]。我們可以修改MIME協(xié)議的擴(kuò)展Content-Disposition為attachment,當(dāng) Internet Explorer接收到請求后,它會激活文件下載對話框,以實(shí)現(xiàn)下載功能。

    程序中,利用表格布局,將隨機(jī)生成的50道題進(jìn)行排版,對應(yīng)WORD文檔的一頁,顯示結(jié)果時設(shè)置MIME協(xié)議的擴(kuò)展Content-Disposition為attachment,達(dá)到下載附件的效果。關(guān)鍵實(shí)現(xiàn)代碼如下:

    response.setHeader("Content-disposition","attachment;filename=" + java.net.URLEncoder.encode(xm, "UTF-8") + ".doc"); //設(shè)置協(xié)議頭為attachment,文件名稱設(shè)置為Request對象獲取到的表單提交的值,文件類型為DOC

    2.4系統(tǒng)運(yùn)行效果

    參考文獻(xiàn):

    [1]賈志成,王云. JSP程序設(shè)計(jì)慕課版[M]. 北京:人民郵電出版社,2016:16.

    [2]曾是土木人. header中Content-Disposition的作用[EB/OL]. http://www.cnblogs.com/hongfei/archive/2012/06/12/2546758.html,2017.12.18

    猜你喜歡
    程序設(shè)計(jì)
    基于SolidWorks和VBA的電機(jī)階梯軸建模程序設(shè)計(jì)
    高職Java程序設(shè)計(jì)課程體系建設(shè)思考
    基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
    從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
    電子制作(2019年9期)2019-05-30 09:42:04
    基于LabVIEW的車載充電機(jī)控制程序設(shè)計(jì)
    電子測試(2018年13期)2018-09-26 03:29:16
    淺談基于C語言的計(jì)算機(jī)軟件程序設(shè)計(jì)
    電子制作(2017年24期)2017-02-02 07:14:40
    高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
    OBE理念下基于Greenfoot的Java程序設(shè)計(jì)課程教學(xué)改革
    模塊化程序設(shè)計(jì)在一體化檢定平臺中的應(yīng)用
    PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
    呼伦贝尔市| 汉源县| 普陀区| 陇南市| 黄冈市| 米泉市| 都昌县| 合作市| 东平县| 太保市| 全椒县| 聂荣县| 麻栗坡县| 新津县| 常山县| 大名县| 天台县| 兴化市| 蚌埠市| 杭州市| 德阳市| 扶绥县| 鄢陵县| 望都县| 新竹县| 南投县| 昌邑市| 兴安盟| 夏邑县| 黔江区| 蕉岭县| 舟山市| 沾益县| 万年县| 普定县| 永嘉县| 凯里市| 永吉县| 兴安盟| 永仁县| 石台县|