100分问题,解决了再加分,高手们帮帮忙

qiying1984 2008-01-14 12:12:33
现在数据库中存在一组数据,就是一个班的学生成绩,现在要求这几个参数,不知道怎么编码,高手帮帮忙!万分感谢!
试题难度
试题区分度
试题信度
试题效度
具体名词解释如下:
指标说明:
http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=884495&PostID=12397475


谢谢大家了,帮帮忙吧!
...全文
419 37 打赏 收藏 转发到动态 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcwtitxu 2008-01-15
  • 打赏
  • 举报
回复
如果每个学生一条记录,上面代码应该可以算出区分度了.
number123456 2008-01-15
  • 打赏
  • 举报
回复
真是晕呼呼,啥意思没懂!
是想通过"里面三个字段:id,学生,成绩”
来算出那五度?好象不可能吧,没依据,电脑必竟不是人脑啊
xiao1zhao 2008-01-15
  • 打赏
  • 举报
回复
整晕了~~~

后悔没上大学了~~

哈哈~
qiying1984 2008-01-15
  • 打赏
  • 举报
回复
帖子再加分100
qiying1984 2008-01-15
  • 打赏
  • 举报
回复
我的表的结构是:一个成绩表,里面三个字段:id,学生,成绩
qiying1984 2008-01-15
  • 打赏
  • 举报
回复
好了,结题,谢谢各位
特别是;wcwtitxu 大哥
抱抱我的小猫 2008-01-15
  • 打赏
  • 举报
回复
实在是不想看。。。
wcwtitxu 2008-01-15
  • 打赏
  • 举报
回复
晕死,错了.
Set rs = conn.Execute("SELECT AVG(总分) FROM (SELECT TOP " & HSTotal & " 总分 FROM 总分统计 where 试卷编号=" & id & " ORDER BY 总分 DESC)")
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
wcwtitxu 2008-01-15
  • 打赏
  • 举报
回复
Set rs = conn.Execute("SELECT AVG(总分) FROM (SELECT TOP " & HSTotal & " 总分 FROM 总分统计 where 试卷编号=" & id & " ORDER BY 总分 DESC"))
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
qiying1984 2008-01-15
  • 打赏
  • 举报
回复
谢谢 wcwtitxu 大哥;

我加了一个条件,可是总是出错不知错在那里大家指点一下,谢谢!
' 高分区学生平均成绩
Set rs = conn.Execute("SELECT AVG(总分) FROM (SELECT TOP " & HSTotal & " 总分 FROM 总分统计 where 试卷编号=" & id ORDER BY 总分 DESC ))
AVGH = rs(0).Value
rs.Close
Set rs = Nothing
ajax666666 2008-01-15
  • 打赏
  • 举报
回复
太晕了
w7a321 2008-01-15
  • 打赏
  • 举报
回复
20楼不是把区分度弄出来了的哇
w7a321 2008-01-15
  • 打赏
  • 举报
回复
还要问个问题
你那成绩是 所有题目的总成绩
还是只是其中一道的成绩
qiying1984 2008-01-15
  • 打赏
  • 举报
回复
是的,再一张页面显示出来
w7a321 2008-01-15
  • 打赏
  • 举报
回复
楼主还在吗
你的意识是不是 在一张页面上把他 显示出来
我觉得应该简单啊
jbj001 2008-01-15
  • 打赏
  • 举报
回复
高数就no way了。顶顶


wcwtitxu 2008-01-15
  • 打赏
  • 举报
回复
不知道你的表结构是怎么样
假设表名是 "表"
每个考生一条记录
里面有一个列 "成绩" 记录着该考生本试题的成绩

Dim STotal, HSTotal, LSTotal, AVGH, AVGL, W, D
W = 100 ' 假设试题满分为 100 分

Set rs = conn.Execute("SELECT COUNT(*) FROM [表]") ' 学生总数
STotal = rs(0).Value
rs.Close
Set rs = Nothing
HSTotal = STotal * 27 \ 100 ' 高分区学生数
LSTotal = HSTotal ' 低分区学生数

' 高分区学生平均成绩
Set rs = conn.Execute("SELECT AVG([成绩]) FROM (SELECT TOP " & HSTotal & " [成绩] FROM [表] ORDER BY [成绩] DESC)")
AVGH = rs(0).Value
rs.Close
Set rs = Nothing

' 低分区学生平均成绩
Set rs = conn.Execute("SELECT AVG([成绩]) FROM (SELECT TOP " & LSTotal & " [成绩] FROM [表] ORDER BY [成绩] ASC)")
AVGL = rs(0).Value
rs.Close
Set rs = Nothing

' 试题区分度
D = (AVGH - AVGL) / W
Response.Write "试题区分度:" & D & "<br />"
If D >= 0.4 Then
Response.Write "试题区分度等级:优"
ElseIf D>=0.3 And D<0.4 Then
Response.Write "试题区分度等级:良"
ElseIf D>=0.2 And D<0.3 Then
Response.Write "试题区分度等级:可"
Else
Response.Write "试题区分度等级:差"
End If
BoyHaXin 2008-01-15
  • 打赏
  • 举报
回复
帮顶...

qiying1984 2008-01-14
  • 打赏
  • 举报
回复
up一下~~~
qiying1984 2008-01-14
  • 打赏
  • 举报
回复
现在只要给出区分度的编码就可以了!

我的表中存着这门课的成绩,如何编写代码求出区分度!
http://211.81.200.18/jwglxt/sjfx/zbsm.htm?func_id=12 谢谢大家了,帮帮忙吧!
加载更多回复(17)
一个java编程问题,关于点菜 浏览次数:629次悬赏:15 | 解决时间:2010-1-14 13:10 | 提问者:aimiaozi 现在有一份菜单给客人察看,并要计算他们的消费。 要求:客人菜时要打印出菜单,而且只需输入菜号即点菜,并要打印出客人所点的菜,最后计算客人应付的菜钱。 编号 菜名 价钱 01 扬州炒饭 5.0 02 辣子鸡丁 9.0 03 羊肉串 5.0 04 鸡汤 15.0 各位高手帮帮忙吧~~~~~能做得了全部最好,谢谢!!!问题补充: 程序是要输入菜号就能知道菜名、菜价,我就是不会这点。。。 如果可以,希望能用一维数组做出来。我是初学者!!!!! 答得好能哦,谢谢!! 麻烦各位了,请多包涵! 最佳答案 package ddd; public class Dish { private String name; private String id; private double unit; private int number; private String text; public Dish(String id,String name,double unit,int number){ this.id=id; this.name=name; this.unit=unit; this.number=number; } public Dish(){ } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public double getUnit() { return unit; } public void setUnit(double unit) { this.unit = unit; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public String getText() { return text; } public void setText(String text) { this.text = text; } public Dish clone(){ Dish d=new Dish(); d.setId(id); d.setName(name); d.setUnit(unit); d.setNumber(number); return d; } } ----------------------------------------- package ddd; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.LinkedList; import java.util.List; public class Order { private String user; public List list; private double sumMoney; private String date; public Order(String user){ this.user=user; SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date=new Date(System.currentTimeMillis()); this.date=format.format(date); list=new LinkedList(); } public List getList() { return list; } public void setList(List list) { this.list = list; } public double getSumMoney() { return sumMoney; } public void setSumMoney(double sumMoney) { this.sumMoney = sumMoney; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public void printOrder(){ System.out.println("--------------------------------------------------------------"); System.out.println("+用户名:"+user+"+"); System.out.println("+消费日期:"+date+"+"); System.out.println("--------------------------------------------------------------"); System.out.println("编号 \t 名称 \t 价格(元) \t数量 \t 合计(元)"); for(Dish dish:list){ System.out.printf("%-5s \t %-12s \t %-5s \t %-2s \t %-5s\n",dish.getId(),dish.getName(),dish.getUnit(),dish.getNumber(),dish.getUnit()*dish.getNumber()); } System.out.println("--------------------------------------------------------------"); System.out.println("+消费合计:"+sumMoney+"+"); } } -------------------------------------------- package ddd; import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map; import java.util.Scanner; public class Main { private Map map; private Order order; public Main(String username){ map=new LinkedHashMap(); map.put("01",new Dish("01","扬州炒饭",5.0,10)); map.put("02",new Dish("02","辣子鸡丁",9.0,10)); map.put("03",new Dish("03","羊肉串 ",5.0,10)); map.put("04",new Dish("04","鸡汤 ",15.0,10)); map.put("05",new Dish("05","红烧排骨",25.0,10)); map.put("06",new Dish("06","清蒸鲤鱼 ",35.0,10)); map.put("07",new Dish("07","杂酱面 ",8.0,10)); map.put("08",new Dish("08","绿豆粥 ",2.0,10)); order=new Order(username); } public void printDishList(){ System.out.println("-------------------菜 谱-------------------"); System.out.println("编号 \t 名称 \t 价格(元) \t数量"); System.out.println("--------------------------------------------"); for(Dish dish:map.values()){ System.out.printf("%-5s \t %-12s \t %-5s \t %-2s\n",dish.getId(),dish.getName(),dish.getUnit(),dish.getNumber()); } System.out.println("--------------------------------------------"); } public static void main(String[] str) throws IOException{ Main main=new Main("佚名"); Scanner s=new Scanner(System.in); main.printDishList(); while(true){ String id=""; System.out.print("请输入菜单编号:"); id=s.nextLine(); if(!main.map.containsKey(id)) {System.out.println("没有该菜名编号!");continue;} Dish dish=main.map.get(id).clone(); System.out.println(dish.getName()); System.out.print("请输入所要菜名【"+dish.getName()+"】的数量(0表示全部都要;必须小于等于"+dish.getNumber()+"):"); int number=Integer.parseInt(s.nextLine()); if(numberdish.getNumber()){System.out.println("数量输入错误!");continue;} else if(number==0) ; else dish.setNumber(number); main.order.setSumMoney(main.order.getSumMoney()+dish.getNumber()*dish.getUnit()); main.order.list.add(dish); System.out.println("一种菜品添加成功!继续直接any key;结束输入exit并回车"); String tag=s.nextLine(); if("exit".equalsIgnoreCase(tag)) break; } main.order.printOrder(); } }

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧