In Bavaria, nota media \(2{,}33\) aptitudinem ad Gymnasium \(2{,}34\) non certificat. Hoc acuto limite, ordo duarum operationum rotundationis determinare potest in quam partem puer incidat. Günther Felbinger potentiales consequentias huius effectus rotundationis in articulo interretiali disserit . Ex solo studio, ipse effectus per omnes combinationes notarum in exemplo permissas calculavi.
Quaestio mea centralis est: Quoties rotundatio praematura ad notas totius materiae ad diversum genus computationis scholasticae ducit quam computationes utentes mediis materiarum non rotundatis? Praeterea, interest videre quid mutetur si mediae singularum materiarum (ut ibi suggeritur) initialiter ad unum tantum locum decimalem rotundentur.
Secundum Sectionem 6 Regularum Scholarum Primariarum Bavariae, nota media ex notis in lingua Germanica, Mathematica, et Studiis Localibus et Generalibus computatur. Regulae exsecutivae limites usque ad \(2{,}33\) et usque ad \(2{,}66\) definiunt. In sequenti exemplo computationis, quaeque media generalis ad duas decimales truncatur et non iterum rotundatur. Sic, exempli gratia...
\[
\frac{2{,}33+2{,}34+2{,}34}{3}=2{,}3366\ldots \longrightarrow 2{,}33.
\]
Hoc ad classificationem maximi momenti est: \(2{,}3366\ldots\) non fit \(2{,}34\) , sed \(2{,}33\) et ideo adhuc sufficit pro schola grammatica.
Prima inscriptio rotundationem praematuram cum valoribus mediis specificis pro singulis subiectis assumptis \(1{,}6\) , \(2{,}6\) , et \(2{,}6\) illustrat. Ex his, gradus integri \(2\) , \(3\) , et \(3\) primum derivantur. Media earum est
\[
\frac{2+3+3}{3}=2{,}6666\ldots \longrightarrow 2{,}66,
\]
Quod significat discipulum non idoneum esse ad admissionem directam in scholam grammaticam. Sine rotundatione ad notas integras autem, eventus in exemplo hypothetico esset...
\[
\frac{1{,}6+2{,}6+2{,}6}{3}=2{,}2666\ldots \longrightarrow 2{,}26.
\]
In secundo exemplo, rotundatio in directionem oppositam operatur: \(2{,}4\) , \(3{,}4\) et \(2{,}4\) fiunt valores notae integrae \(2\) , \(3\) et \(2\) , officialiter \(2{,}33\) . Valores non rotundati autem resultant in \(2{,}73\) . Exempla effectum clare demonstrant. Attamen, nondum revelant quam frequenter accidat aut quae consequentiae alterius modi rotundationis essent.
Quapropter, ad calculum meum spatium resultatorum perspicuum utor. Quaeque media subiecti potest esse unus ex valoribus \(501\) intra se.
\[
1{,}00,\, 1{,}01,\, 1{,}02,\, \ldots, \, 5{,}99, \, 6{,}00
\]
Supponamus. Omnes combinationes ordinatas linguae Germanicae, mathematicae, et studiorum localium ac generalium aequaliter pondero. Ergo, sunt
\[
501^3=125\,751\,501
\]
Casus. Modus igitur non ambiguus est, sed artificialis: Medias materiarum aequaliter distributas, independentiam trium materiarum, et gradus exacte centesimarum assumit. Distributionem actualem discipulorum scholarum primariarum Bavariae non reflectit.
Pro tribus mediis subiectis \(d,m,h\) scribimus
\[
A(d,m,h)=\frac{\left\lfloor 100\cdot\frac{d+m+h}{3}\right\rfloor}{100}
\]
pro media generali ad duas decimales truncata. Nunc tres modos computationis comparamus.:
\[
\begin{aligned}
A_0 & = A(\operatorname{circuit}(d),\operatorname{circuit}(m),\operatorname{circuit}(h)),\
A_1 & = A(\operatorname{circuit}_1(d),\operatorname{circuit}_1(m),\operatorname{circuit}_1(h)),\
A_\mathrm{ref} & = A(d, m, h). (vel A\mathrm{ref} & = A(d, m, h).
\end{alignatus}
\]
\(A_0\) ` computationi utens notis integris respondet, \(A_1\) ` propositioni cum uno loco decimali, et \(A_\mathrm{ref}\) ` referentiae non rotundatae intra exemplar. Computatio, exempli gratia, directe in Rust implementari potest.:
const SCHOOL_GYMNASIUM: i32 = 0;
const SCHOOL_REALSCHULE: i32 = 1;
const SCHOOL_MITTELSCHULE: i32 = 2;
const FLOAT_TOLERANCE: f64 = 1e-9;
#[derive(Clone, Copy, Default)]
struct Statistic {
conflict_count: u64,
total_count: u64,
}
fn determine_school(average: f64) -> i32 {
if average <= 2.33 {
return SCHOOL_GYMNASIUM;
}
if average <= 2.66 {
return SCHOOL_REALSCHULE;
}
SCHOOL_MITTELSCHULE
}
fn calculate_average(note_deutsch: f64, note_mathe: f64, note_hsu: f64) -> f64 {
let average = (note_deutsch + note_mathe + note_hsu) / 3.0;
((average + FLOAT_TOLERANCE) * 100.0).floor() / 100.0
}
fn round_to_whole_grade(grade: f64) -> f64 {
grade.round()
}
fn round_to_one_decimal(grade: f64) -> f64 {
(grade * 10.0).round() / 10.0
}
fn normalize_grade(grade: f64) -> f64 {
(grade * 100.0).round() / 100.0
}
fn percentage(count: u64, total: u64) -> f64 {
count as f64 / total as f64 * 100.0
}
fn main() {
let mut combination_count = 0;
let mut official_reference_conflicts = 0;
let mut official_proposal_conflicts = 0;
let mut proposal_reference_conflicts = 0;
let mut statistics = [Statistic::default(); 4];
let mut note_deutsch = 1.0;
while note_deutsch <= 6.0 {
let mut note_mathe = 1.0;
while note_mathe <= 6.0 {
let mut note_hsu = 1.0;
while note_hsu <= 6.0 {
combination_count += 1;
let official_average = calculate_average(
round_to_whole_grade(note_deutsch),
round_to_whole_grade(note_mathe),
round_to_whole_grade(note_hsu),
);
let proposed_average = calculate_average(
round_to_one_decimal(note_deutsch),
round_to_one_decimal(note_mathe),
round_to_one_decimal(note_hsu),
);
let reference_average =
calculate_average(note_deutsch, note_mathe, note_hsu);
let official_school = determine_school(official_average);
let proposed_school = determine_school(proposed_average);
let reference_school = determine_school(reference_average);
if official_average == 3.0 {
statistics[0].total_count += 1;
if reference_school != SCHOOL_MITTELSCHULE {
statistics[0].conflict_count += 1;
}
}
if official_average == 2.66 {
statistics[1].total_count += 1;
if reference_school == SCHOOL_GYMNASIUM {
statistics[1].conflict_count += 1;
}
}
if official_average == 2.33 {
statistics[2].total_count += 1;
if reference_school != SCHOOL_GYMNASIUM {
statistics[2].conflict_count += 1;
}
}
if official_average == 2.66 {
statistics[3].total_count += 1;
if reference_school == SCHOOL_MITTELSCHULE {
statistics[3].conflict_count += 1;
}
}
if official_school != reference_school {
official_reference_conflicts += 1;
}
if official_school != proposed_school {
official_proposal_conflicts += 1;
}
if proposed_school != reference_school {
proposal_reference_conflicts += 1;
}
note_hsu = normalize_grade(note_hsu + 0.01);
}
note_mathe = normalize_grade(note_mathe + 0.01);
}
note_deutsch = normalize_grade(note_deutsch + 0.01);
}
println!(
"official/reference: {}%",
percentage(official_reference_conflicts, combination_count)
);
println!(
"official/proposal: {}%",
percentage(official_proposal_conflicts, combination_count)
);
println!(
"proposal/reference: {}%",
percentage(proposal_reference_conflicts, combination_count)
);
for (index, statistic) in statistics.iter().enumerate() {
println!(
"#{}: {}% ({}/{})",
index + 1,
percentage(statistic.conflict_count, statistic.total_count),
statistic.conflict_count,
statistic.total_count
);
}
}
Tolerantia parva in calculate_average valorem impedit qualis est \(2{,}67\) propter repraesentationem binariam fluctuum, perperam habitum est \(2{,}669999\ldots\) praecisum est. normalize_grade Praeterea, quemque valorem circuitionis ad centesimam ordinationem reducit. Saltem duo valores medii possibiles diversi existunt. \(1/300\) seorsum; tolerantia \(10^{-9}\) ergo satis parvum est ut nullum casum limitem realem mutet.
Programma compilatur et incipitur cum
rustc -O calc.rs && ./calc
Programma per omnes \(125\,751\,501\) combinationes iteratur et reddit:
| Comparatio | Portio |
| Notae integrae contra medias materiarum non rotundatas | \(10{,}4411\,\%\) |
| Gradus integri comparati cum propositione cum uno loco decimali | \(10{,}1521\,\%\) |
| Propositio cum uno loco decimali comparata cum mediis peritorum non rotundatis | \(0{,}6615\,\%\) |
Valor centralis mihi est \(10{,}4411\,\%\): In plus quam una ex decem combinationibus, rotundatio praematura ad gradus integros ad typum scholae computatum diversum a referentia non rotundata ducit. Haec proportio exclusive effectum rotundationis intra exemplar electum describit.
Commutatio ad medias peritorum cum uno loco decimali ad classificationem diversam in \(10{,}1521\,\%\) omnium casuum exemplarium comparatis cum methodo priori duceret. Attamen tertia comparatio maximi momenti est: comparata cum referentia non rotundata, methodus cum uno loco decimali tantum \(0{,}6615\,\%\) casuum deviantium relinquit. Deviatio a referentia ergo decrescit per...
\[
1-\frac{0{,}6615}{10{,}4411}\approx 93{,}7\,\%.
\]
Haec mihi ipsa dubia consequentia est huius methodi computandi: aestimatae facultates in singulis disciplinis immutatae manent; solum momentum temporis quo rotundatio fit genus scholae computatae mutare potest. Quamquam computatio cum uno loco decimali hunc effectum non omnino tollit, intra exemplar significanter minuit.
Hae autem figurae non nobis indicant quot pueri revera affecti sint. Notae in libellis scholasticis non necessario generantur ut mediae mechanice rotundatae, profectus academicus neque uniformiter distribuitur neque independens est, et ipsa electio generis scholae non solum ab his tribus figuris pendet. Meus calculus quaestioni specificiori respondet: Quoties rotundatio notam computatam mutat cum omnes combinationes centesimarum valorum aeque probabiles sint?
Denique, comparatio cum nuntio originali: Ratio generalis ibi commemorata, circiter \(10\,\%\) prope meum \(10{,}4411\,\%\) est. Nihilominus, calculationes meae quattuor casus singulos, quorum quisque ut \(1/6 \approx 17\,\%\) Pro "scholam secundariam omisisse cum \(3{,}00\) ", "scholam grammaticam omisisse cum \(2{,}33\) ", "scholam grammaticam consecuta cum \(2{,}66\) ", et "scholam secundariam consecuta cum \(2{,}66\) \(1{,}4615\,\%\) \(59{,}6096\,\%\) \(1{,}2023\,\%\) \(62{,}9395\,\%\) .
Quattuor valores sunt probabilitates conditionales cum coetibus referentialibus magnitudinum diversarum. Sine spatio exempli aliter definito \(1/6\) ex eis derivari non potest. Mea ergo calculatio effectum rotundationis confirmat, sed non has probabilitates individuales. Quoquo modo, affirmationes de numero reali puerorum affectorum distributiones graduum reales et earum dependentias requirerent.