`
javatar
  • 浏览: 1704515 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

四则运算(官方程序)

J# 
阅读更多
四则运算(官方程序)
****四则运算****
]10 CLS
]20 DIM OPERAND(6),OPERATOR(6),EPS(12)
]30 DIM PRIORITY(6,6),STACK1(6),STACK2(6)
]40 RANGE=10:AMOUNT=10:DIFFICULTY=1
]50 FOR I=0 TO 6
]60 FOR J=0 TO 6
]70 READ PRIORITY(I,J)
]80 NEXT J
]90 NEXT I
]200 CLS
]210 LOCATE 1,4:PRINT "小学四则运算":PRINT "1,开始测试" /*主菜单*/
]220 PRINT "2,选择难度"
]230 PRINT "3,题目数量"
]240 PRINT "请选择(1-3):";
]250 LOCATE 5,13:CHOICE$=INDEX$ /*定位光标*/
]252 IF ASC(CHOICE$)=27 THEN GOTO 9999
]260 IF NOT (CHOICE$="b" OR CHOICE$="n" OR CHOICE$="m") THEN GOTO 200
]272 IF CHOICE$="b" GOTO 400
]273 IF CHOICE$="n" GOTO 500
]274 IF CHOICE$="m" GOTO 600
]400 IF DIFFICULTY<6 THEN IF DIFFICULTY=5 THEN GOTO 1000 ELSE GOTO 700
]500 CLS
]510 PRINT "1,加法 2,减法": PRINT "3,乘法 4,除法" /*二级菜单*/
]520 PRINT "5,四则混合 6,小于10": PRINT "7,小于100"
]540 PRINT "请选择(1-7):";
]550 LOCATE 5,13:CHOICE$=INDEX$
]562 IF CHOICE$="b" THEN DIFFICULTY=1: GOTO 200
]563 IF CHOICE$="n" THEN DIFFICULTY=2: GOTO 200
]564 IF CHOICE$="m" THEN DIFFICULTY=3: GOTO 200
]565 IF CHOICE$="g" THEN DIFFICULTY=4: GOTO 200
]566 IF CHOICE$="h" THEN DIFFICULTY=5: GOTO 200
]567 IF CHOICE$<>"j" AND CHOICE$<>"t" THEN GOTO 500
]570 IF CHOICE$="j" THEN RANGE=10 ELSE IF CHOICE$="t" THEN RANGE=100
]580 GOTO 200
]600 CLS
]610 PRINTRINT "请输入题目数量:";
]620 INPUT " ";A$
]630 AMOUNT=INT(VAL(A$)) /*将字符转化为数值*/
]640 IF AMOUNT <=0 THEN GOTO 600
]660 GOTO 200
]700 REM 简单运算
]701 RIGHT=0
]710 FOR TIMES=1 TO AMOUNT
]730 NUM1=INT(RANGE*RND(1)) /*使所取的随机数小于10,由RANGE值决定*/
]740 NUM2=INT(RANGE*RND(1))
]750 IF DIFFICULTY=4 AND NUM2<=1 THEN GOTO 740
]760 ON DIFFICULTY GOSUB 3500,3600,3700,3800
]770 IF ANSWER <0 THEN GOTO 730
]775 IF ANSWER <>INT(ANSWER) AND DIFFICULTY=4 THEN GOTO 730 /*答题错误转730重做此题*/
]780 CLS: PRINT NUM1;
]790 ON DIFFICULTY GOSUB 2510,2520,2530,2540
]800 PRINT NUM2;"=";
]810 INPUT REPLY$
]815 IF LEN(REPLY$)>0 AND VAL(REPLY$)=0 AND REPLY$<>"0" THEN GOTO 780
]820 IF ABS(VAL(REPLY$)-ANSWER)<.01 THEN PRINT "太棒了!^_^":RIGHT=RIGHT+1:GOTO 830
]825 PRINT "加油喔!":PRINT "正确答案:";INT(ANSWER+0.5)
]830 IF TIMES<>AMOUNT THEN PRINT "按任意键继续...";:GOSUB 3900
]880 NEXT TIMES
]890 PRINT "总共答对:";RIGHT;" 答错:",AMOUNT-RIGHT
]900 PRINT "是否继续(Y/N)";
]910 CON$=INKEY$
]920 IF CON$<>"n" THEN GOTO 700
]930 GOTO 200
]1000 REM 四则混合运算
]1001 RIGHT =0
]1010 FOR TIMES=1 TO AMOUNT
]1019 REM 生成表达式
]1020 FOR I=0 TO 6
]1024 OPERAND(I)=0:OPERATOR(I)=0
]1050 EPS(I)=0:EPS(12-I)=0
]1060 NEXT I
]1069 REM NUM:操作数的个数(2-4)
]1070 NUM=INT(3*RND(1))+2
]1080 FOR I=0 TO NUM-1
]1090 OPERAND(I)=INT(RANGE*RND(1))
]1110 NEXT I
]1120 IF INT(4*RND(1))=1 AND NUM<>2 THEN GOTO 1170
]1130 FOR I=0 TO NUM-2
]1140 OPERATOR(I)=INT(4*RND(1))+1
]1150 NEXT I
]1160 GOTO 1300
]1169 REM 生成带括号的表达式
]1170 BRACKET=INT((NUM-1)*RND(1))
]1180 FOR I=0 TO NUM
]1190 OPERATOR(I)=INT(4*RND(1))+1
]1200 NEXT I
]1210 OPERATOR(BRACKET)=5
]1220 OPERATOR(BAACKET+2)=6
]1299 REM 为计算表达式的值做准备
]1300 J=0: I=0 :EXPROI=0
]1310 WHILE INT(I+0.5)<INT(NUM+0.5)
]1320 IF OPERATOR(J)=5 THEN J=J+1:EPS(EXPROI)=-5:EXPROI=EXPPOI+1
]1330 EPS(EXPPOI)=OPERAND(I):EXPROI=EXPPOI+1
]1340 ON OPERATOR(J) GOSUB 2000,2100,2200,2300
]1350 IF OPERATOR(J)=6 THEN J=J+1:EPS(EXPPOI)=-6:EXPPOI=EXPPOI+1:GOTO 1340
]1360 I=I+1:j=J+1
]1370 WEND
]1390 EPS(EXPPOI)=-7
]1499 REM 计算运算式的值
]1500 ST1=0: ST2=0: EXPPOI=0
]1510 STACK2(ST2)=-7:ST2=ST2+1
]1520 CH=EPS(EXPPOI):EXPPOI=EXPPOI+1
]1530 WHILE NOT (CH-7 AND STACK2(ST2-1)=-7)
]1540 IF CH>0 THEN GOSUB 1570 ELSE GOSUB 1580
]1550 WEND
]1560 GOTO 1600
]1570 STACK1(ST1)=CH:ST1=ST1+1:CH=EPS(EXPPOI):EXPPOI=EXPPOI+1
]1575 RETURN
]1580 ON PRIORITY(-STACK2(ST2-1)-1,-CH-1) GOSUB 3100,3200,3300 '注意ON语句的用法
]1585 RETURN
]1599 REM 判断用户答案是否正确
]1600 IF STACK1(ST1-1)<0 THEN GOTO 1020
]1610 ANSWER=STACK1(ST1-1)
]1615 CLS
]1620 FOR K=0 TO EXPPOI-1
]1630 IF EPS(K)>=0 THEN PRINT EPS(K);ELSE ON -EPS(K) GOSUB 2510,2520,2540,2550,2560
]1650 NEXT K
]1660 PRINT "=";
]1670 INPUT REPLY$
]1675 IF LEN(REPLY$)>0 AND VAL(REPLY$)>0 AND VAL(REPLY$=0 AND REPLY$<>"0" THEN GOTO 1615
]1680 IF ABS(VAL(REPLY$)-ANSWER)<.01 THEN GOSUB 1910 ELSE GOSUB 1930
]1690 IF TIMES <> AMOUNT THEN PRINT "按任意键继续...";:GOSUB 3900
]1700 NEXT TIMES
]1710 PRINT "总共答对:";RIGHT;" 答错:";AMOUNT-RIGHT
]1720 PRINT "是否继续(Y/N)";
]1730 CON$=INKEY$
]1740 IF CON$<>"n" THEN GOTO 1000
]1800 GOTO 200
]1910 PRINT "太棒了!^_^":PRINT=RIGHT+1
]1920 RETURN
]1930 PRINT "加油喔!":PRINT "正确答案:";:IF ANSWER<1 THEN PRINT "0";
]1940 PRINT INT (ANSWER*1000+0.5)/1000
]1950 RETURN
]2000 EPS(EXPROI)=-1:EXPPOI=EXPPOI+1
]2010 RETURN
]2100 EPS(EXPPOI)=-2:EXPPOI=EXPPOI+1
]2110 RETURN
]2200 EPS(EXPPOI)=-3:EXPPOI=EXPPOI+1
]2210 RETURN
]2300 EPS(EXPPOI)=-4:EXPPOI=EXPPOI+1
]2310 RETURN
]2510 PRINT "+";:RETURN
]2520 PRINT "-";:RETURN
]2530 PRINT "X";:RETURN
]2540 PRINT "/";:RETURN
]2550 PRINT "(";:RETURN
]2560 PRINT ")";:RETURN
]3100 STACK2(ST2)=CH:ST2=ST2+1
]3310 CH=EPS(EXPPOI):EXPPOI=EXPPOI+1
]3120 RETURN
]3200 ST2=ST2-1:STACK2(ST2)=0
]3210 CH=EPS(EXPPOI):EXPPOI=EXPPOI+1
]3220 RETURN
]3300 ST2=ST2-1:THETA=STACK(ST2):STACK2(ST2)=0
]3310 ST1=ST1-1:NUM2=STACK1(ST1):STACK1(ST1)=0
]3320 ST1=ST1-1:NUM1=STACK1(ST1):STACK1(ST1)=0
]3330 ON-THETA GOSUB 3500,3600,3700,3810
]3340 STACK1(ST1)=ANSWER:ST1=ST1+1
]3350 IF THETA=-4 AND ANSWER=9999 THEN GOTO 1020
]3360 RETURN
]3500 ANSWER=NUM1+NUM2: RETURN
]3600 ANSWER=NUM1-NUM2:RETURN
]3700 ANSWER=NUM1*NUM2:RETURN
]3800 ANSWER=NUM1/NUM2:RETURN
]3810 IF NUM2=0 THEN ANSWER=9999 ELSE ANSWER=NUM1/NUM2
]3820 RETURN
]3900 KEYVAL$=CHR$(255)
]3910 WHILE 1
]3920 IF KEYVAL$<>INKEY$ THEN GOTO 3940
]3930 WEND
]3940 RETURN
]4001 DATA 3,3,1,1,1,3,3
]4002 DATA 3,3,1,1,1,3,3
]4003 DATA 3,3,3,3,1,3,3
]4004 DATA 3,3,3,3,1,3,3
]4005 DATA 1,1,1,1,1,2,0
]4006 DATA 3,3,3,3,0,3,3
]4007 DATA 1,1,1,1,1,0,2
]9999 END

 
分享到:
评论

相关推荐

    四则运算测试程序

    四则运算测试程序是一种用于验证和测试基本数学加法、减法、乘法和除法功能的应用。在编程领域,这种程序通常被用来教授初学者基础的编程逻辑和算法设计。MFC,全称为Microsoft Foundation Classes,是微软提供的...

    帮助小学生练习四则运算的c语言程序

    【标题】:“帮助小学生练习四则运算的C语言程序” 这个程序是用C语言编写的,旨在辅助小学生进行加、减、乘、除这四种基本数学运算的练习。C语言是一种广泛应用的编程语言,它的语法简洁明了,适合用来编写各种...

    汇编语言编写的四则运算小程序

    《汇编语言实现的四则运算程序解析》 在计算机科学的世界里,汇编语言是一种低级编程语言,它直接对应于机器指令,是计算机硬件能够理解和执行的代码。本篇我们将深入探讨一个使用汇编语言编写的四则运算小程序,这...

    C++ Builder写的《ZEC 四则运算练习程序》 v0.6

    《ZEC 四则运算练习程序》是一款使用C++ Builder开发的应用软件,旨在帮助小学生进行四则运算的训练。这款程序提供了图形用户界面(GUI),使得用户能够更直观、便捷地进行操作。C++ Builder是Borland公司推出的一款...

    Python一个随机生成四则运算题目的小程序

    这段Python代码实现了一个随机出题的四则运算程序。它包含以下几个函数: 1. `generate_random_number()`: 生成一个随机整数,范围在1到100之间。 2. `generate_random_operator()`: 从加减乘除四个运算符中随机...

    vb四则运算程序

    在这个“vb四则运算程序”中,我们很显然会遇到一些基础的编程概念和VB的关键特性。下面,我将详细解释这个程序可能涉及的知识点。 1. **基本语法**:VB的语法基于英语,易于理解。四则运算程序会包含变量声明、...

    c语言,实现带括号的四则运算的程序(使用Visual Studio )

    1. **字符串处理**:程序从用户那里接收一个包含括号和四则运算符的字符串。C语言中的`char`类型和字符串常量用于存储和操作这些字符序列。`strlen()`函数用于计算字符串长度,`strcpy()`和`strcat()`用于复制和连接...

    C++ Builder写的《ZEC 四则运算练习程序》 源代码 v0.9.1

    《ZEC 四则运算练习程序》是一款专为小学生设计的数学学习软件,利用C++ Builder编程语言开发,旨在帮助孩子们通过图形用户界面(GUI)进行四则运算的实践和练习。C++ Builder是一款强大的集成开发环境(IDE),它...

    随机四则运算小程序

    随机四则运算小程序是一种实用的计算工具,特别适用于教育领域,尤其是帮助小学生进行数学练习。这个小程序能够自动生成包括加法、减法、乘法和除法在内的四则运算题目,为学生提供丰富的算术练习材料。对于VB...

    四则运算的Java程序

    本程序是以Java为语言编写的一个能进行四则运算的程序。

    C++ Builder写的《ZEC 四则运算练习程序》 源代码 v0.9.2

    《ZEC四则运算练习程序》是一款专为小学生设计的教育软件,利用C++ Builder进行开发,旨在帮助孩子们通过图形用户界面(GUI)在海底海星情景中进行四则运算的练习。版本v0.9.2是该软件的一个更新版本,引入了音效和...

    C语言实现产生随机数的四则运算小程序

    "C语言实现产生随机数的四则运算小程序" 在本课程设计中,我们将使用 C 语言实现一个产生随机数的四则运算小程序。该程序将具备以下功能: 1. 实现一个加减乘除运算的小型系统,进行整数的加、减、乘、除运算。 2....

    c++四则运算程序

    根据给定的信息,本文将详细解释C++中的一个四则运算程序,并且深入解析其中涉及的关键概念和技术要点。 ### C++四则运算程序概述 在通信专业的实习课题中,经常会出现设计并实现一个能处理复杂四则运算的程序的...

    四则运算JAVA程序

    在Java编程语言中,四则运算(加法、减法、...通过这个简单的四则运算程序,我们可以学习到Java的基本语法、运算符、异常处理、用户输入和方法调用等核心概念。对于初学者,这是一个很好的练习项目,有助于巩固基础。

    c#编写的四则运算图形程序

    在本文中,我们将深入探讨由C#编程语言构建的四则运算图形程序。C#是一种广泛应用于开发桌面应用、游戏、移动应用以及Web服务的强大语言,由微软公司开发。四则运算,即加法、减法、乘法和除法,是基本数学运算,也...

    小学生四则运算程序

    ### 小学生四则运算程序的关键知识点解析 #### 一、项目概述 本项目是一款针对小学生的四则运算训练软件,旨在通过计算机辅助教学的方式帮助学生掌握基础的数学运算技能。该软件基于Microsoft Foundation Classes ...

    C++ Builder写的《ZEC 四则运算练习程序》 v0.9

    《ZEC 四则运算练习程序》是一款专为小学生设计的数学学习软件,利用C++ Builder这一强大的编程环境开发而成。C++ Builder是Borland公司推出的一种集成开发环境(IDE),它支持C++语言,并提供了丰富的控件库和VCL...

    四则运算测试程序(供小学生测试非常实用)

    四则运算测试程序是一种专为小学生设计的教育软件,它旨在帮助孩子们巩固和提升他们在数学四则运算(加法、减法、乘法和除法)方面的技能。这个程序通过随机生成两个在10以内的数字,让学生进行计算,以此模拟实际的...

    C++ Builder编写的《ZEC 四则运算练习程序》 v0.2

    《ZEC四则运算练习程序》是一款利用C++ Builder开发的教育软件,旨在帮助小学生进行四则运算的训练。这款程序采用图形用户界面(GUI),使得用户操作更加直观易用,为孩子们提供了一个友好的学习环境。以下是该程序...

    四则运算 程序 , vc++ 6.0 编辑

    四则运算程序是计算机科学中最基础的算法之一,它涵盖了加法、减法、乘法和除法四种基本算术操作。在这个特定的程序中,它是在VC++ 6.0这个经典集成开发环境中编写的。VC++ 6.0是由微软公司推出的C++编译器,它为...

Global site tag (gtag.js) - Google Analytics