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

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

相关文章

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3