1 创建 存储题目 的资源表:
CREATE TABLE SYSDBA.MATH100(ID INT,C1 VARCHAR2(32),C2 VARCHAR2(32),C3 VARCHAR2(32));
2 创建存储过程:
L1 :题目行数 * 3列 ,
N1 :参与运算的 加数 / 减数 最大值
CREATE PROCEDURE MATH_IN_100(L1 INT,N1 INT) AS
DECLARE
--循环次数
L INT :=L1;--加数/减数 最大值
N INT = N1;--计数器
I1 INT :=1;
I2 INT :=1;
I3 INT :=1;
--可变数字
NUM INT :=0;
NUM1 INT := 0;
NUM2 INT := 0;
NUM3 INT := 0;BEGINDELETE FROM SYSDBA.MATH100;WHILE (I1<=L) LOOPNUM1 := ((ROUND( RAND() * N)));NUM2 := ((ROUND( RAND() * N)));NUM3 := ((ROUND( RAND() * N)));NUM := NUM1 + NUM2 - NUM3;IF(NUM1>9&&NUM2>9&&NUM3>9&&NUM10) THENINSERT INTO MATH100 (C1,ID)VALUES(NUM1 || '+' || NUM2 || '-' || NUM3 || '='||'___',I1);I1 :=I1+1;END IF;END LOOP;WHILE (I2<=L) LOOPNUM1 := ((ROUND( RAND() * N)));NUM2 := ((ROUND( RAND() * N)));NUM3 := ((ROUND( RAND() * N)));NUM := NUM1 + NUM2 - NUM3;IF(NUM1>9&&NUM2>9&&NUM3>9&&NUM10) THENUPDATE MATH100 SET C2 = (NUM1 || '+' || NUM2 || '-' || NUM3 || '='||'___') WHERE ID=I2;I2 :=I2+1;END IF;END LOOP;WHILE (I3<=L) LOOPNUM1 := ((ROUND( RAND() * N)));NUM2 := ((ROUND( RAND() * N)));NUM3 := ((ROUND( RAND() * N)));NUM := NUM1 + NUM2 - NUM3;IF(NUM1>9&&NUM2>9&&NUM3>9&&NUM10) THENUPDATE MATH100 SET C3 = (NUM1 || '+' || NUM2 || '-' || NUM3 || '='||'___')WHERE ID=I3;I3 :=I3+1;END IF;END LOOP;COMMIT;
END;
3 调用存储过程:
L1 :题目行数 * 3列 ,
N1 :参与运算的 加数 / 减数 最大值
CALL SYSDBA.MATH_IN_100(L1 INT,N1 INT);
CALL SYSDBA.MATH_IN_100(10,100);
4 在管理工具查询SYSDBA.MATH100 表,
SELECT C1,C2,C3 FROM "SYSDBA"."MATH100";
结果集:
5 在结果集右键 导出所有(w) 到excel
6 打开excel,每列展开,选择打印预览,缩放比例调整为 200%,打印即可
上一篇:JVM虚拟机
下一篇:VS Code配置C语言环境