Diskuze: Výpočet data velikonoc
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zkus si nastudovat toto http://cs.wikipedia.org/…ta_Velikonoc
MOD je zbytek po celočíselném dělení, v céčkových jazycích se místo něj používá znak procenta %.
no takhle by nějak mohl vypadat ten výpočet, co vy na to?
int a = Y % 19;
int b = Y / 100;
int c = Y % 100;
int d = b / 4;
int e = b % 4;
int f = (b + / 25;
int g = (b - f + 1) / 3;
int h = (19 * a + b - d - g + 15) % 30;
int i = c / 4;
int k = c % 4;
int L = (32 + 2 * e + 2 * i - h - k) % 7;
int m = (a + 11 * h + 22 * L) / 451;
int mesic = (h + L - 7 * m + 114) / 31;
int den = ((h + L - 7 * m + 114) % 31) + 1;
Nikdy! Tagy Code?
public DateTime EasterDate(int year)
{
int month = 3,
golden = year % 19 + 1,
century = year / 100 + 1,
X = (3 * century) / 4 - 12,
Y = (8 * century + 5) / 25 - 5,
sunday = (5 * year) / 4 - X - 10,
epact = (11 * golden + 20 + Y - X) % 30;
epact += (epact == 24) ? 1 : ((epact == 25) && (golden > 11)) ? 2 : 0;
int n = 44 - epact;
if (n < 21) { n = n + 30; }
int p = (n + 7) - ((sunday + n) % 7);
if (p > 31)
{
p -= 31;
month = 4;
}
return new DateTime(year, month, p);
}
Achjo - no jo - omlouvám se... :[
public DateTime EasterDate(int year)
{
int month = 3,
golden = year % 19 + 1,
century = year / 100 + 1,
X = (3 * century) / 4 - 12,
Y = (8 * century + 5) / 25 - 5,
sunday = (5 * year) / 4 - X - 10,
epact = (11 * golden + 20 + Y - X) % 30;
if (epact == 24) { epact++; }
if ((epact == 25) && (golden > 11)) { epact++; }
int n = 44 - epact;
if (n < 21) { n = n + 30; }
int p = (n + 7) - ((sunday + n) % 7);
if (p > 31)
{
p -= 31;
month = 4;
}
return new DateTime(year, month, p);
}
Proměnné by se měly jmenovat podle toho, co uchovávají. Ta abeceda co jsi tam vyjmenoval není nejlepší nápad.
Zobrazeno 10 zpráv z 10.