Ero sivun ”Keskustelu mallineesta:Qvaih” versioiden välillä

Kotivalosta
Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
pEi muokkausyhteenvetoa
Rivi 5: Rivi 5:
On yksinkertaisinta laskea kuiden vaiheiden vuosikohtaiset päivät muualla ja panna ne muuttujiin.
On yksinkertaisinta laskea kuiden vaiheiden vuosikohtaiset päivät muualla ja panna ne muuttujiin.


4564:
Kummankin kuun vaiheille lienee joku yhden rivin laskukaava kun otetaan vuosi, kuukausi ja päivä. Wikin matematiikkafunktiot eivät ehkä riitä mutta php:llä ne saisi. Alla on huono "brute force" -ratkaisu.
<pre>
 
<nowiki>
<nowiki>
{{#ifexpr:{{{2}}}=1 and {{{3}}}=13|<span style="color:#606060">&#128901;</span><span style="color:#e00000">&#128901;</span>|}}
<?php
</nowiki>
//Kotivalon kuiden vaiheiden laskenta.
//Daran ja Mang olivat molemmat täysiä 13.1.4564.
//Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.


Daran:
function kuuhullu() {
Uusi <span style="color:#606060">&#9677;</span>
    global $daran, $mang, $dd, $kk;
1. neljännes <span style="color:#606060">&#9680;</span>
Täysi <span style="color:#606060">&#128901;</span>
Viimeinen neljännes <span style="color:#606060">&#9681;</span>


Mang:
    //Täysi
Uusi <span style="color:#e00000">&#9677;</span>
    if ($daran==31) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#128901;</span>}}'; $daran = 0; }
1. neljännes <span style="color:#e00000">&#9680;</span>
    if ($mang==29) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#128901;</span>|}}'; $mang = 0; }
Täysi <span style="color:#e00000">&#128901;</span>
Viimeinen neljännes: <span style="color:#e00000">&#9681;</span>


    //Viimeinen neljännes
    if ($kk%2!=0) $dmod=7; else $dmod=8;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#9681;</span>}}';
    if ($kk%2!=0) $dmod=7; else $dmod=8;
//  if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#9681;</span>|}}';
    //Uusi
    if ($kk%2!=0) $dmod=15; else $dmod=16;
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#9677;</span>}}';
    if ($kk%2!=0) $dmod=14; else $dmod=15;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#9677;</span>|}}';


<nowiki>


<?php
    //1. Neljännes
//Kotivalon kuiden vaiheiden laskenta. Toistaiseksi vasta täysikuut.
    if ($kk%2!=0) $dmod=31-8; else $dmod=31-9;
//Daran ja Mang olivat molemmat täysiä 13.1.4564.
    if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#9680;</span>}}';
//Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.
    if ($kk%2!=0) $dmod=29-7; else $dmod=21-8;
    if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#9680;</span>|}}';
}


//Vuosi 4564:
$dd = 1;
$dd = 1;
$daran = (31-14);
$daran = (31-12);
$mang = (29-14);
$mang = (29-12);
 
//Vuosi 4565:
//$daran=29;
//$mang=22;


for ($kk=1;$kk<4;$kk++) {
for ($kk=1;$kk<4;$kk++) {
   for ($dd=1;$dd<30;$dd++) {
   for ($dd=1;$dd<30;$dd++) {
     if ($daran%31==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#128901;</span>}}';
     kuuhullu($daran,$mang,$dd,$kk);
    if ($mang%29==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#128901;</span>|}}';
     $daran++; $mang++;
     $daran++; $mang++;
   }
   }
Rivi 44: Rivi 57:
for ($kk=4;$kk<9;$kk++) {
for ($kk=4;$kk<9;$kk++) {
   for ($dd=1;$dd<31;$dd++) {
   for ($dd=1;$dd<31;$dd++) {
     if ($daran%31==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#128901;</span>}}';
     kuuhullu($daran,$mang,$dd,$kk);
    if ($mang%29==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#128901;</span>|}}';
     $daran++; $mang++;
     $daran++; $mang++;
   }
   }
Rivi 51: Rivi 63:
for ($kk=9;$kk<13;$kk++) {
for ($kk=9;$kk<13;$kk++) {
   for ($dd=1;$dd<30;$dd++) {
   for ($dd=1;$dd<30;$dd++) {
     if ($daran%31==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#128901;</span>}}';
     kuuhullu($daran,$mang,$dd,$kk);
    if ($mang%29==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#128901;</span>|}}';
     $daran++; $mang++;
     $daran++; $mang++;
   }
   }
Rivi 58: Rivi 69:
//Jumalkuu
//Jumalkuu
for ($dd=1;$dd<30;$dd++) {
for ($dd=1;$dd<30;$dd++) {
if ($daran%31==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">&#128901;</span>}}';
  kuuhullu($daran,$mang,$dd,$kk);
if ($mang%29==0) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">&#128901;</span>|}}';
  $daran++; $mang++;
$daran++; $mang++;
}
}
echo "\n";
echo "\n";
echo $daran."\n";
echo $mang."\n";
</nowiki>
</nowiki>
</pre>
</pre>

Versio 6. tammikuuta 2025 kello 07.59

Kotivalon kuiden vaiheiden laskenta. {{1}} = vuosi, {{2}} = kuukausi, {{3}} = päivä.

Daran ja Mang olivat molemmat täysiä 13.1.4564. Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29.

On yksinkertaisinta laskea kuiden vaiheiden vuosikohtaiset päivät muualla ja panna ne muuttujiin.

Kummankin kuun vaiheille lienee joku yhden rivin laskukaava kun otetaan vuosi, kuukausi ja päivä. Wikin matematiikkafunktiot eivät ehkä riitä mutta php:llä ne saisi. Alla on huono "brute force" -ratkaisu.

<?php //Kotivalon kuiden vaiheiden laskenta. //Daran ja Mang olivat molemmat täysiä 13.1.4564. //Vuodessa on 357 päivää. Daranin kiertonopeus on 31 päivää ja Mangin 29. function kuuhullu() { global $daran, $mang, $dd, $kk; //Täysi if ($daran==31) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">🞅</span>}}'; $daran = 0; } if ($mang==29) { echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">🞅</span>|}}'; $mang = 0; } //Viimeinen neljännes if ($kk%2!=0) $dmod=7; else $dmod=8; if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">◑</span>}}'; if ($kk%2!=0) $dmod=7; else $dmod=8; // if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">◑</span>|}}'; //Uusi if ($kk%2!=0) $dmod=15; else $dmod=16; if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">◍</span>}}'; if ($kk%2!=0) $dmod=14; else $dmod=15; if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">◍</span>|}}'; //1. Neljännes if ($kk%2!=0) $dmod=31-8; else $dmod=31-9; if ($daran==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#606060">◐</span>}}'; if ($kk%2!=0) $dmod=29-7; else $dmod=21-8; if ($mang==$dmod) echo '{{#ifexpr:{{{2}}}='.$kk.' and {{{3}}}='.$dd.'|<span style="color:#e00000">◐</span>|}}'; } //Vuosi 4564: $dd = 1; $daran = (31-12); $mang = (29-12); //Vuosi 4565: //$daran=29; //$mang=22; for ($kk=1;$kk<4;$kk++) { for ($dd=1;$dd<30;$dd++) { kuuhullu($daran,$mang,$dd,$kk); $daran++; $mang++; } } for ($kk=4;$kk<9;$kk++) { for ($dd=1;$dd<31;$dd++) { kuuhullu($daran,$mang,$dd,$kk); $daran++; $mang++; } } for ($kk=9;$kk<13;$kk++) { for ($dd=1;$dd<30;$dd++) { kuuhullu($daran,$mang,$dd,$kk); $daran++; $mang++; } } //Jumalkuu for ($dd=1;$dd<30;$dd++) { kuuhullu($daran,$mang,$dd,$kk); $daran++; $mang++; } echo "\n"; echo $daran."\n"; echo $mang."\n";