山东新高考等级赋分如何快速转换

2023-12-14 12:59

本文主要是介绍山东新高考等级赋分如何快速转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目前,山东新高考成绩采用3+3模式,即语数外使用原始分,其余三门选课参照正态分布原则,采用等级赋分制进行计算,将三门科总成绩与语数外三门课相加形成学生最后的总成绩。学校在进行等级赋分转换时需要充分考虑以下几个方面:
1:总分相同时的排名问题。
2:选课走班生,其走班科目的成绩应放在其教学班进行对比,而非行政班对比。
目前很多学校或软件,并未将选课走班生单独拿出来,而是一并归入采用行政班,这虽然在总成绩上没有影响,但对于观察班级整体成绩则会出现数据失真问题。

那么我们如何在全年级对某科进行等级赋分呢?下面以山东省选课等级赋分规则为例,对物理这一科目在算法上进行讲解。其余科目一样

注:举例数据 名字全是系统生成的化名,但成绩和班级都是真实的
一:山东省等级赋分规则
在这里插入图片描述

图为山东省等级赋分规则
在这里插入图片描述
该校共有1158名学生参加物理考试。计算步骤如下

1:不占位排序算法

先对学生成绩进行排序,排序规则为成绩相同,名次相同,如 A B C D四位学生 成绩分别为 98 87 87 34 名次则为 1 2 2 4即不占位排序。使用mysql数据则很容易完成这个排序工作

select  studentName,score  ,RANK() OVER(order by  score DESC ) ranks  from exam  where 科目=物理

2:确定等级区间

如第一区间是0-3%。那么第一区间 最高名次为 1158 * 0.03= 34.74,这里采用向下取整原则,Math.floor(34.74),第34名就是3%的最高名次。这里,很多学校和软件在这里四舍五入了,这样有可能会把第二区间的第一名纳入到第一区间,造成计算错误。
如图:
在这里插入图片描述

实际上这里的前3%的名次最高到25名,共计34个学生。这样我们就可以获取该区间原始分最高分和原始分最低分为98-84分。计算完后,按赋分等级公式计算:

(原始成绩区间最高分-等级区间最低分)/ (考生原始分-原始成绩区间最低分)

(等级区间最高分-转换后的等级分) / (转换后的等级分- 赋分区间最低分)
简化公式为:为了java开发方便计算可将公式转换转换为
1:原始最高分-原始分=a
2:区间最高分- 原始分=b
3: a/b=y(注意Y不是原始分) 带入公式得:(区间最高+y * 区间最低 ) / 1+y = 最终赋分

在这里插入图片描述
(对上面的代码我必须吐槽,全是坑啊!!!!,为了怕算错,分开一步一步的写,愣是把一数学硕士给写晕)

如:17班的肖泽强 物理87分, 在前3%内 首先确认其等级为A , 经过等级赋分计算:
在这里插入图片描述
肖泽强最终物理为93分。
这里得93分 是 显示成绩,数据库中保留的则是92.9285分。为什么要保留4为小数呢?
1:是后面还需要进行线性拟合等运算,以预测学生的成绩和 班级 科目的增量运算,这需要精确的数值。
2:是计算总排名。
实际上,很多学生科目总分相同,但实际高考中存在同名次的情况几乎不会发生,我们也是模拟了真正高考的算法,小数点精确到了4位数。这也就是我们为什么看到有的学生总分相同,但名次却不同的原因。那么真的遇到相同总分、相同名次的情况怎么办呢?实际的算法是先看语数外总分谁高谁就排到在前面,再看综合分,这样如果还是相同,那就名次相同。

班级排名

班级排名很麻烦,因为必须考虑到这个学生是否走班,如果走班,该生的成绩不能在本行政班排名。

区间统计

完成赋分后,对区间统计就简单多了
在这里插入图片描述
这样我们可以通过数据库完成区间统计,效果如下:

在这里插入图片描述

就写这么多吧,这几天又在搞增量算法了,在工作量和难度上,这两根本不是一个等级,程序员真特么累!
希望天下老师没这么累,以前我也是一名教师,知道老师们也很辛苦,欢迎使用这款软件,希望能够帮助各位老师们从繁琐的工作中解脱出来,有任何的建议,敬请下面留言

测试地址
http://117.50.162.64:8082/
可以注册,也可以使用测试账号:xm123 密码 :123456

这篇关于山东新高考等级赋分如何快速转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/492611

相关文章

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

python实现svg图片转换为png和gif

《python实现svg图片转换为png和gif》这篇文章主要为大家详细介绍了python如何实现将svg图片格式转换为png和gif,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录python实现svg图片转换为png和gifpython实现图片格式之间的相互转换延展:基于Py

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核