|教案下载
搜索
    上传资料 赚现金
    立即下载
    加入资料篮
    3.4 口算作业批改项目分析报告样例教案01
    3.4 口算作业批改项目分析报告样例教案02
    还剩2页未读, 继续阅读
    下载需要20学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    3.4 口算作业批改项目分析报告样例教案

    展开
    这是一份3.4 口算作业批改项目分析报告样例教案,共4页。

    “口算批改”项目作业报告

     为了帮助小学生检查口算作业,你所在的软件开发团队计划开发一款“口算批改”APP,以提高口算批改的效率。该程序的基本设想是:将手机对着作业本拍照,利用OCR(光学字符识别)技术,从图片中识别出算式,然后逐一计算,判断答案是否正确。

    一、口算等式采集

     为了便于学生进行后面的“口算批改”项目的进行,可以采用手工录入、互联网查找、OCR采集等各种方式,采集口算等式,并将所有等式存入“算式.csv”文件中。

     

    二、抽象与建模过程                                                                  

     采集到的算式存储在“算式.csv”文件中,每行一个口算等式。判断一个等式是否正确,需要计算等号左边的运算式的值。等式中包括数字与运算符号,可以以字符串的形式,整体读入,存入字符串变量中。对于等号左边的算式,计算其结果时,用数字栈存储算式中的数字,用符号栈存储运算符号。由于算式中的运算符号加、减、乘、除、括号等存在着优先级别,以算式中的运算符号与符号栈栈顶元素进行比较,如果算式中的优先级别小于等于栈顶元素的优先级别,则栈顶元素出栈,否则入栈。如果是左括号,则直接入栈。如果是右括号,则栈中元素依次出栈,直至左括号。数字与运算符号的计算,把数字栈、符号栈结合起来操作。

     

    三、算法与设计

     采用文件读取的方式,从“算式.csv”中读取所有的算式。一个算式占一行,以字符串存储该算式。利用字符串的find函数,找到“=”在算式中的位置,并用字符串中求子串的操作,取出等号左边的算式与右边的值。对于左边等式,建立数字栈和符号栈,从左往右扫描,依次处理算式的中间计算过程。按如下方式处理:

    1)当遇到的字符是数字时,继续扫描,直至遇到非数字字符。把这次的数字串转换成整数,压入数字栈中。

    2)当遇到的是非数字时,必定为运算符号(因为字符串中仅有数字字符与运算符号),设该运算符号为x,符号栈顶元素为y,分以下几种情况处理:

    如果x为“(”时,或栈空时,则把x压入符号栈。

    如果x为“+”或“-”时,同时y为“(”,则入栈,否则, y出栈,同时,把数字栈最顶上的两个元素出栈,用运算符号y进行运算,并把运算结果压入数字栈。再把x压入符号栈。

    如果x为“*”或“/”时,同时y为“*”或“/”时,则y出栈,同时,把数字栈最顶上的两个元素出栈,用运算符号y进行运算,并把运算结果压入数字栈。再把x压入符号栈。

     如果x为“)”时,则把符号栈中元素逐一出栈,直至遇到第一个左括号。

    继续扫描,直至左边的算式结束,则数字栈中的元素为左边的答案。

    如果答案与等号右边的值一样时,则输出“”,否则输出“?”。

    四、编写程序与测试

    用Python语言编程实现。

    import csv

    number=[0]*100

    ops=[' ']*100

    top1=-1

    top2=-1

    #数字栈顶两个元素参与运算,并将运算结果压入栈

    def cal():

        op1=number[top1]

        top1-=1

        op2=number[top1]

        top1-=1

        op=ops[top2]

        top2-=1

        anwser=0

        if op=='+':

            anwser=op2+op1

        if op=='-':

            anwser=op2-op1

        if op=='*':

            anwser=op2*op1

        if op=='/':

            anwser=op2/op1

        top1+=1

        number[top1]=anwser

    f=open("算式.csv","r")

    f_csv=csv.reader(f)

    for row in f_csv:

        exp=row[0]

        pos=exp.find('=')

        expleft=exp[0:pos]

        expright=exp[pos+1:]

        print(expleft)

        explen=len(expleft)

        i=0

        top1=-1

        top2=-1

        while i<explen:

            num=0

            while i<explen and expleft[i]>='0' and expleft[i]<='9':

                num*=10+ord(expleft[i])-48

                i+=1

            top1+=1

            number[top1]=num

            if i<explen and expleft[i]=='+' or expleft[i]=='-':

                if top2>-1 and ops[top2]!='(':

                    cal;

                top2+=1

                ops[top2]=expleft[i]

            if i<explen and expleft[i]=='*' or expleft[i]=='/':

                if top2>-1 and ops[top2]=='*' or ops[top2]=='/':

                    cal;

                top2+=1

                ops[top2]=expleft[i]

            if expleft[i]=='(':

                top2+=1

                ops[top2]=expleft[i]

            if expleft[i]==')':

                while(ops[top2]!='('):

                    cal;

                    top2-=1

                top2-=1

            i+=1

        if number[top1]==int(expright):

            print("对")

        else:

            print("错")

    f.close()

    四、结论与建议

     本项目在用字符串存储后,在处理左边的算式时,也可以先把中缀表达式转后缀表达式,再用栈结构处理后缀表达式的值。

     

     

    免费资料下载额度不足,请先充值

    每充值一元即可获得5份免费资料下载额度

    今日免费资料下载份数已用完,请明天再来。

    充值学贝或者加入云校通,全网资料任意下。

    提示

    您所在的“深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载 10 份资料 (今日还可下载 0 份),请取消部分资料后重试或选择从个人账户扣费下载。

    您所在的“深深圳市第一中学”云校通为试用账号,试用账号每位老师每日最多可下载10份资料,您的当日额度已用完,请明天再来,或选择从个人账户扣费下载。

    您所在的“深圳市第一中学”云校通余额已不足,请提醒校管理员续费或选择从个人账户扣费下载。

    重新选择
    明天再来
    个人账户下载
    下载确认
    您当前为教习网VIP用户,下载已享8.5折优惠
    您当前为云校通用户,下载免费
    下载需要:
    本次下载:免费
    账户余额:0 学贝
    首次下载后60天内可免费重复下载
    立即下载
    即将下载:资料
    资料售价:学贝 账户剩余:学贝
    选择教习网的4大理由
    • 更专业
      地区版本全覆盖, 同步最新教材, 公开课⾸选;1200+名校合作, 5600+⼀线名师供稿
    • 更丰富
      涵盖课件/教案/试卷/素材等各种教学资源;900万+优选资源 ⽇更新5000+
    • 更便捷
      课件/教案/试卷配套, 打包下载;手机/电脑随时随地浏览;⽆⽔印, 下载即可⽤
    • 真低价
      超⾼性价⽐, 让优质资源普惠更多师⽣
    VIP权益介绍
    • 充值学贝下载 本单免费 90%的用户选择
    • 扫码直接下载
    元开通VIP,立享充值加送10%学贝及全站85折下载
    您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送
      充值到账1学贝=0.1元
      0学贝
      本次充值学贝
      0学贝
      VIP充值赠送
      0学贝
      下载消耗
      0学贝
      资料原价
      100学贝
      VIP下载优惠
      0学贝
      0学贝
      下载后剩余学贝永久有效
      0学贝
      • 微信
      • 支付宝
      支付:¥
      元开通VIP,立享充值加送10%学贝及全站85折下载
      您当前为VIP用户,已享全站下载85折优惠,充值学贝可获10%赠送
      扫码支付0直接下载
      • 微信
      • 支付宝
      微信扫码支付
      充值学贝下载,立省60% 充值学贝下载,本次下载免费
        下载成功

        Ctrl + Shift + J 查看文件保存位置

        若下载不成功,可重新下载,或查看 资料下载帮助

        本资源来自成套资源

        更多精品资料

        正在打包资料,请稍候…

        预计需要约10秒钟,请勿关闭页面

        服务器繁忙,打包失败

        请联系右侧的在线客服解决

        单次下载文件已超2GB,请分批下载

        请单份下载或分批下载

        支付后60天内可免费重复下载

        我知道了
        正在提交订单

        欢迎来到教习网

        • 900万优选资源,让备课更轻松
        • 600万优选试题,支持自由组卷
        • 高质量可编辑,日均更新2000+
        • 百万教师选择,专业更值得信赖
        微信扫码注册
        qrcode
        二维码已过期
        刷新

        微信扫码,快速注册

        还可免费领教师专享福利「樊登读书VIP」

        手机号注册
        手机号码

        手机号格式错误

        手机验证码 获取验证码

        手机验证码已经成功发送,5分钟内有效

        设置密码

        6-20个字符,数字、字母或符号

        注册即视为同意教习网「注册协议」「隐私条款」
        QQ注册
        手机号注册
        微信注册

        注册成功

        下载确认

        下载需要:0 张下载券

        账户可用:0 张下载券

        立即下载
        账户可用下载券不足,请取消部分资料或者使用学贝继续下载 学贝支付

        如何免费获得下载券?

        加入教习网教师福利群,群内会不定期免费赠送下载券及各种教学资源, 立即入群

        即将下载

        3.4 口算作业批改项目分析报告样例教案
        该资料来自成套资源,打包下载更省心 该专辑正在参与特惠活动,低至4折起
        [共10份]
        浏览全套
          立即下载(共1份)
          返回
          顶部
          Baidu
          map