Ma Bavaria, ʻo ka awelika māka holoʻokoʻa o \(2{,}33\) e hōʻoia i ke kūpono no Gymnasium \(2{,}34\) . Ma kēia palena ʻoi, hiki i ke kauoha o ʻelua mau hana hoʻopuni ke hoʻoholo i ka ʻaoʻao e hāʻule ai ke keiki. Kūkākūkā ʻo Günther Felbinger i nā hopena hiki o kēia hopena hoʻopuni ma kahi pou blog . Ma muli o ka hoihoi maʻemaʻe, ua helu wau i nā hopena iaʻu iho ma nā hui pū ʻana o nā māka āpau i ʻae ʻia i ke kumu hoʻohālike.
ʻO kaʻu nīnau nui: Pehea ka pinepine o ka hoʻopuni mua ʻana i nā māka kumuhana holoʻokoʻa e alakaʻi ai i kahi ʻano helu kula ʻokoʻa ma mua o nā helu e hoʻohana ana i nā awelika kumuhana i hoʻopuni ʻole ʻia? Eia kekahi, he mea hoihoi ia e ʻike i nā loli inā e hoʻopuni mua ʻia nā awelika o kēlā me kēia kumuhana (e like me ka mea i hōʻike ʻia ma laila) i hoʻokahi wahi decimal wale nō.
Wahi a ka Māhele 6 o nā Rula Kula Haʻahaʻa Bavarian, ua helu ʻia ka māka awelika mai nā māka ma ka Kelemānia, Makemakika, a me nā Haʻawina Kūloko a me nā Haʻawina Laulā. Kuhikuhi nā lula hoʻokō i nā palena a hiki i \(2{,}33\) a hiki i \(2{,}66\) . Ma ke kumu hoʻohālike helu ma lalo nei, ua ʻoki ʻia kēlā me kēia awelika holoʻokoʻa i ʻelua mau wahi decimal a ʻaʻole i hoʻopuni hou ʻia. No laila, no ka laʻana...
\[
\frac{2{,}33+2{,}34+2{,}34}{3}=2{,}3366\ldots \longrightarrow 2{,}33.
\]
He mea koʻikoʻi kēia no ka hoʻokaʻawale ʻana: ʻaʻole lilo \(2{,}3366\ldots\) i \(2{,}34\) , akā, \(2{,}33\) a no laila ua lawa nō ia no ke kula haʻahaʻa.
Hōʻike ka hoʻokomo mua i ka hoʻopōʻai mua ʻana me nā waiwai awelika kikoʻī i manaʻo ʻia \(1{,}6\) , \(2{,}6\) , a me \(2{,}6\) . Mai kēia mau mea, ua loaʻa mua nā māka holoʻokoʻa \(2\) , \(3\) , a me \(3\) . ʻO ko lākou awelika
\[
\frac{2+3+3}{3}=2{,}6666\ldots \longrightarrow 2{,}66,
\]
ʻo ia hoʻi, ʻaʻole kūpono ka haumāna no ke komo pololei ʻana i ke kula grammar. Eia naʻe, me ka ʻole o ka hoʻopuni ʻana i nā māka holoʻokoʻa, ʻo ka hopena ma ka laʻana kuhiakau...
\[
\frac{1{,}6+2{,}6+2{,}6}{3}=2{,}2666\ldots \longrightarrow 2{,}26.
\]
Ma ka lua o ka laʻana, hana ka hoʻopōʻai ʻana ma ke ʻaoʻao ʻē aʻe: \(2{,}4\) , \(3{,}4\) a me \(2{,}4\) e lilo i nā waiwai nota holoʻokoʻa \(2\) , \(3\) a me \(2\) , ma ke ʻano kūhelu \(2{,}33\) . Eia naʻe, ʻo nā waiwai i hoʻopōʻai ʻole ʻia e hopena i ka \(2{,}73\) . Hōʻike maopopo nā laʻana i ka hopena. Eia naʻe, ʻaʻole lākou e hōʻike i ka pinepine o kona hana ʻana a i ʻole nā hopena o kahi ʻano hoʻopōʻai ʻokoʻa.
No laila, no kaʻu helu ʻana, hoʻohana wau i kahi hakahaka hopena maopopo. Hiki i kēlā me kēia awelika kumuhana ke lilo i hoʻokahi o nā waiwai \(501\) i loko.
\[
1{,}00,\, 1{,}01,\, 1{,}02,\, \ldots, \, 5{,}99, \, 6{,}00
\]
Manaʻo. Ke kaupaona like nei au i nā hui pū ʻana o ka Kelemānia, ka makemakika, a me nā haʻawina kūloko a me nā haʻawina laulā. No laila, aia nā
\[
501^3=125\,751\,501
\]
Nā Hihia. No laila, ʻaʻole kānalua ke kumu hoʻohālike, akā he mea hana: Manaʻo ia i nā awelika kumuhana i hoʻokaʻawale like ʻia, ke kūʻokoʻa o nā kumuhana ʻekolu, a me nā ʻanuʻu o hoʻokahi haneli. ʻAʻole ia e hōʻike i ka hoʻokaʻawale maoli ʻana o nā keiki kula haʻahaʻa Bavarian.
No nā kumuhana ʻekolu, ʻo ia hoʻi \(d,m,h\) kākau mākou
\[
A(d,m,h)=\frac{\left\lfloor 100\cdot\frac{d+m+h}{3}\right\rfloor}{100}
\]
no ka awelika holoʻokoʻa i ʻoki ʻia i ʻelua mau wahi decimal. I kēia manawa ke hoʻohālikelike nei mākou i ʻekolu mau ʻano helu.:
\[
\begin{aligned}
A_0 &= A(\inoa mea hoʻohana{pōʻai}(d),\inoa mea hoʻohana{pōʻai}(m),\inoa mea hoʻohana{pōʻai}(h)),\\
A_1 &= A(\inoa mea hoʻohana{pōʻai}_1(d),\inoa mea hoʻohana{pōʻai}_1(m),\inoa mea hoʻohana{pōʻai}_1(h)),\\
A_\mathrm{ref} &= A(d,m,h).
\end{aligned}
\]
Pili \(A_0\) i ka helu ʻana me ka hoʻohana ʻana i nā māka holoʻokoʻa, \(A_1\) i ka manaʻo me hoʻokahi wahi decimal, a ʻo \(A_\mathrm{ref}\) i ka kuhikuhi i hoʻopuni ʻole ʻia i loko o ke kumu hoʻohālike. Hiki ke hoʻokō pololei ʻia ka helu ʻana ma Rust , no ka laʻana.:
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
);
}
}
ʻO ke ahonui liʻiliʻi i loko calculate_average pale i kahi waiwai e like me \(2{,}67\) ma muli o kona ʻano lana binary, ua manaʻo hewa ʻia \(2{,}669999\ldots\) ua ʻoki ʻia. normalize_grade Eia kekahi, hoʻemi ia i kēlā me kēia waiwai loop i kahi grid haneli. Aia ma ka liʻiliʻi he ʻelua mau waiwai awelika like ʻole. \(1/300\) kaʻawale; ke ahonui o \(10^{-9}\) no laila he liʻiliʻi ia e hiki ʻole ai ke hoʻololi i kekahi hihia palena maoli.
Ua hoʻopili ʻia ka polokalamu a hoʻomaka me
rustc -O calc.rs && ./calc
Hoʻomau ka papahana ma o nā hui āpau \(125\,751\,501\) a me nā hoʻihoʻi:
| Hoʻohālikelike | ʻĀpana |
| Nā māka holoʻokoʻa e kūʻē i nā awelika kumuhana i hoʻopuni ʻole ʻia | \(10{,}4411\,\%\) |
| Nā māka holoʻokoʻa i hoʻohālikelike ʻia me ka manaʻo me hoʻokahi wahi decimal | \(10{,}1521\,\%\) |
| Manaʻo me hoʻokahi wahi decimal i hoʻohālikelike ʻia me nā awelika loea i hoʻopuni ʻole ʻia | \(0{,}6615\,\%\) |
ʻO ke kumukūʻai waena noʻu \(10{,}4411\,\%\): Ma mua o hoʻokahi i loko o nā hui ʻumi, ʻo ka hoʻopōʻai mua ʻana i nā māka holoʻokoʻa e alakaʻi ai i kahi ʻano kula i helu ʻia ʻokoʻa ma mua o ke kuhikuhi i hoʻopōʻai ʻole ʻia. Hōʻike wale kēia ʻāpana i ka hopena hoʻopōʻai i loko o ke kumu hoʻohālike i koho ʻia.
ʻO ka hoʻololi ʻana i nā awelika loea me hoʻokahi wahi decimal e alakaʻi i kahi hoʻokaʻawale ʻokoʻa ma \(10{,}1521\,\%\) o nā hihia hoʻohālike āpau i hoʻohālikelike ʻia me ke ʻano hana ma mua. Eia nō naʻe, he mea koʻikoʻi ke kolu o ka hoʻohālikelike: i hoʻohālikelike ʻia me ka kuhikuhi i hoʻopuni ʻole ʻia, ʻo ke ʻano hana me hoʻokahi wahi decimal e waiho wale ana i \(0{,}6615\,\%\) nā hihia e haʻalele ana. No laila e emi ana ka haʻalele ʻana mai ka kuhikuhi ʻana e
\[
1-\frac{0{,}6615}{10{,}4411}\approx 93{,}7\,\%.
\]
ʻO kēia, noʻu, ʻo ia ka hopena kānalua o ke ʻano helu o kēia manawa: ʻaʻole i loli nā hoʻokō i manaʻo ʻia no ke kumuhana; ʻo ka manawa wale nō e hiki ai ke hoʻopuni ʻia ke hoʻololi i ke ʻano kula i helu ʻia. ʻOiai ʻaʻole e hoʻopau loa ka helu ʻana me hoʻokahi wahi decimal i kēia hopena, hoʻemi nui ia i loko o ke kumu hoʻohālike.
ʻAʻole naʻe kēia mau helu e haʻi mai iā mākou i ka nui o nā keiki i hoʻopilikia maoli ʻia. ʻAʻole pono e hoʻopuka ʻia nā māka kāleka hōʻike ma ke ʻano he awelika i hoʻopuni ʻia e ka mīkini, ʻaʻole i hoʻolaha like ʻia ka hana hoʻonaʻauao a kūʻokoʻa paha, a ʻo ke koho maoli o ke ʻano kula ʻaʻole hilinaʻi wale ʻia ma kēia mau helu ʻekolu. Pane kaʻu helu ʻana i kahi nīnau kikoʻī: Pehea ka pinepine o ka hoʻololi ʻana o ka hoʻopuni ʻana i ka māka i helu ʻia i ka wā e like like ai nā hui pū ʻana o nā waiwai haneli āpau?
ʻO ka mea hope loa, he hoʻohālikelike me ka pou mua: ʻO ka helu holoʻokoʻa i ʻōlelo ʻia ma laila, ma kahi o \(10\,\%\) ua kokoke i kaʻu \(10{,}4411\,\%\) . Eia naʻe, ʻaʻole i hōʻoia kaʻu mau helu i nā hihia pākahi ʻehā, i hōʻike ʻia kēlā me kēia he \(1/6 \approx 17\,\%\) No ka "haʻalele i ke kula kiʻekiʻe me \(3{,}00\) ", "haʻalele i ke kula haʻahaʻa me \(2{,}33\) ", "hoʻokō i ke kula haʻahaʻa me \(2{,}66\) %", a me "hoʻokō i ke kula kiʻekiʻe me \(2{,}66\) \(1{,}4615\,\%\) \(59{,}6096\,\%\) \(1{,}2023\,\%\) \(62{,}9395\,\%\) .
ʻO nā waiwai ʻehā he mau kūlana kūlana me nā hui kuhikuhi nui like ʻole. Me ka ʻole o kahi ākea laʻana i wehewehe ʻokoʻa ʻia \(1/6\) mai iā lākou. No laila, hōʻoia kaʻu helu ʻana i ka hopena hoʻopuni, akā ʻaʻole kēia mau kūlana pākahi. I kēlā me kēia hihia, ʻo nā ʻōlelo e pili ana i ka helu maoli o nā keiki i hoʻopilikia ʻia e koi i nā hoʻolaha māka maoli a me ko lākou mau hilinaʻi.