用EXCEL宏编程完成学生分班工作

更新时间:2023-04-23 13:58:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

用EXCEL宏编程实现一种学生分班算法。

维普资讯

2 8 8月 0年 0

电脑学习

第4 期

用 E C L宏编程完学生分班工作 XE成刘青云摘要:用 E C L宏编程实现一种学生分班算法。 XE 关键词: E C L XE中图分类号: G 3 44

宏学生分班文献标识码: B文章编号: 0 2 2 2 ( o 8) 4 o 3 _ 2 10— 4 2 2 0 0 - o6 o

Dii i g S u e t n o Clse t XCE M a r o r m m i g v dn t d n s i t a ss wih E L c o Pr g a nLi n u u Qi ̄ nAb t a t r e p p r o d cs a l se - ii i g ag r h wi h XC c o p o rmmi g sr c: h a e n u t c a s s d vd n lo i m t t e E EL ma r r g a c t h n. Ke wo d EXCE Ma i y r: L cd C a s s d vd n ls— i g e i i

简单的数据统计,可以通过 E— x C L的菜单或工具按钮操作来实现。 E 而对于复杂的数据处理工作,通过创建 E C L宏来完成效果极佳。 XE E C L使用的宏编程语言是 X EVB ( iu l B sc fr Ap l ain), A Vs a a i o pi t c o

分班和未分班两部分;②从未分班的数据区依次取出 B S个学生的记录;③

Lo op xs= n一 4 k

遍历已分班的数据,分析各班级每个学科的当前总分,得出目前班级间总分差距最大的学科 (为 S并记下设 ),

n= 0:k= 2

Do Whie o s l N tIEmpy( ls( t Cel k, 2 ) )n= n+ 1

F ri= 1 0 k o T x s

该学科总分最低的班级

(设班号为

c n i= C l (,i+ 3 j(, ) es k )Ne t x ik= k+ l

以高级程序设计语言 Vsa B s i l ai u c为内核, E C L函数有机结合,能与 XE功

X);④在已取出的 B S条未分班记录中,出 S学科成绩最高的学生记录,找

强大,简单易学。通过创建“”,宏将烦琐和重复的数据处理过程交给程序代码自动完成,工作变得轻松愉快,使事半功倍。

将其各科成绩分别累

加到 x班级的对应学科总分中 (即分入该班级 ),记下该生所分班级的班号 X。同时,该学对

Lo op

Fri= l 0 b o T s

Frj= 1 T k o o xs¥m (,J= 0 u i )

生记录和 x班级做标记,使之不再参与本轮次的后续分班;⑤对剩下的 B— S l条已取记录重复③一步骤,④完

1提出问题每逢新学年开学之前,很多学校都面临着一项重要的工作一学生分班。分班的依据是学生的考试成绩,总体要求是:班级间各学科的平均成绩要互相接近,且相应分数段的男女生

N x,i etj R i数据处理 e nhm=0 u

成一轮次分班;⑥对未分班数据区的其余记录,重复②一步骤,⑤直至完成。

Do W hl ( un ie n l b< n) s= I一 ( u+ 1 fn hm ) bs< 0 Th n e z=

3编写代码在“班数据表”中,建名为分创

n— h m b s = b u sEle Z sFo = 1 To Z ri

F rJ= 1T k o o xs

人数也要大致均衡。

“分班”的宏,具体代码如下:S b分班 ( u )Re定义变量 m

c (t )= c (u十b ji J jnm s+i ),j Netj x,iFo i= 1 r T0 b s

2描述算法在平时的工作实践中设计了这样的解决方案: E C L软件中,“在 xE按班级”“、姓名”、性别”“文”““、语、数

Dm i J k n s xs nm s t i t t, t, k, u,,, bma x, z x As I tg r, ne e

xb ()= 0 tb ()= 0 sj i:,j i jNe i t x

Dm j(0 ), sm( 0 1 ), c 5 O i b 50 u 1, 0 j(O,1 0), ma s( 0), ris( 0) As I tg r x 1 an 1 ne e

F rk= 1 o Z o T F r i= 1 o To x s k

学”…一“‘总分“的字段顺序建立学生分班成绩表 (假定命名为“分班数据

Dm c(0 i s 1 ), m n 1, xb 1 ), lb(0) sj(0

ma 8( )= 0:mis( )= 1 0) x i n i 5( 0Ne t x i Fo = 1 o

x s ri T k

表” )。其中,班级”“字段的各单元格为空,留待运行宏代码时自动填入分班结果。为保证分班后各班同一分数段男

b j 1 ) A n gr j (0 b sI ee tR m读入数据及变量初始化 e b= V l (n uB x (“请输入班级 s a Ip to数:”))

女生数的均衡,将“先分班数据表”按“性别”(主要关键字 )“、总分”(次要关键字 )递减排序。分班过程由E C L宏代码实现,体算法是 ( XE具设班级数为 B ) S:①将学生数据分成已

F rJ= 1T s o 0b f bb j I ( j ()= 0 A d ( m(1 )> j ) n s j u i

Wokhes“ rset(分班数据”)A t a .ci t ven= 0

m () T e a8 i=sm( i s i ) hn m x () u j ),f bb () I (jj j= 0 A d (u j ) rn ) n sm(,i< a s in+ ( )) Th n i e

Do hi No[Empy ( ls (, W l e t s t Cel 1

1 ) )n= n+ 1

m n (= 8r ( i:l I i=J i i u j ) lI ) s ) a, l b( iEn dI f

收稿日期: 07 1 7 20— 1 刘青云江苏省涟水中学中学一级教师 (涟水 2 3 0 ) 240。 3 6

本文来源:https://www.bwwdw.com/article/nvtq.html

Top