Discordian date: Difference between revisions
Content added Content deleted
MaiconSoft (talk | contribs) (Added Delphi example) |
(Added Algol 68) |
||
Line 695: | Line 695: | ||
Setting Orange, day 26 of Bureaucracy in the YOLD 3178 |
Setting Orange, day 26 of Bureaucracy in the YOLD 3178 |
||
Setting Orange, day 73 of The Aftermath in the YOLD 3178</pre> |
Setting Orange, day 73 of The Aftermath in the YOLD 3178</pre> |
||
=={{header|ALGOL 68}}== |
|||
{{Trans|ALGOL W}} which was itself, {{Trans|MAD}} |
|||
<lang algol68>BEGIN # DISCORDIAN DATE CALCULATION - TRANSLATION OF MAD VIA ALGOL W # |
|||
INT greg, gmonth, gday, gyear; |
|||
[]STRING holys = []STRING( "MUNG", "MOJO", "SYA", "ZARA", "MALA" )[ AT 0 ]; |
|||
[]STRING holys0 = []STRING( "CHAO", "DISCO", "CONFU", "BURE", "AF" )[ AT 0 ]; |
|||
[]STRING disday = []STRING( "SWEETMORN", "BOOMTIME", "PUNGENday", "PRICKLE-PRICKLE", "SETTING ORANGE" )[ AT 0 ]; |
|||
[]STRING disssn = []STRING( "CHAOS", "DISCORD", "CONFUSION", "BUREAUCRACY", "THE AFTERMATH" )[ AT 0 ]; |
|||
[]INT mlengt = []INT( 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 )[ AT 0 ]; |
|||
CHAR slash1, slash2; |
|||
# input date should contain MM/DD/YYYY in the gregorian calendar # |
|||
read( ( gmonth, slash1, gday, slash2, gyear ) ); |
|||
IF slash1 /= "/" OR slash2 /= "/" THEN print( ( "Invalid date format", newline ) ); stop FI; |
|||
IF gmonth = 2 AND gday = 29 |
|||
THEN print( ( "SAINT TIB'S DAY IN THE Y.O.L.D. ", whole( gyear + 1166, -4 ), newline ) ) |
|||
ELSE |
|||
INT yrday := mlengt[ gmonth ] + gday; |
|||
INT season := yrday OVER 73; |
|||
INT day := yrday - ( season * 73 ); |
|||
INT wkday := ( yrday - 1 ) MOD 5; |
|||
print( ( disday[ wkday ], ", DAY ", whole( day, -2 ), " OF ", disssn[ season ] |
|||
, " IN THE Y.O.L.D ", whole( gyear + 1166, 0 ), newline |
|||
) |
|||
); |
|||
IF day = 5 THEN print( ( "CELEBRATE ", holys[ season ], "DAY" ) ) |
|||
ELIF day = 50 THEN print( ( "CELEBRATE ", holys0[ season ], "FLUX" ) ) |
|||
FI |
|||
FI |
|||
END</lang> |
|||
{{out}} |
|||
<pre> |
|||
11/04/1167 |
|||
PUNGENday, day 16 OF THE AFTERMATH IN THE Y.O.L.D 2333 |
|||
08/15/2017 |
|||
BOOMTIME, DAY 8 OF BUREAUCRACY IN THE Y.O.L.D 3183 |
|||
12/06/2020 |
|||
SETTING ORANGE, DAY 48 OF THE AFTERMATH IN THE Y.O.L.D 3186 |
|||
07/12/1969 |
|||
PUNGENday, DAY 47 OF CONFUSION IN THE Y.O.L.D 3135 |
|||
07/05/2005 |
|||
SWEETMORN, DAY 40 OF CONFUSION IN THE Y.O.L.D 3171 |
|||
09/26/1995 |
|||
PRICKLE-PRICKLE, DAY 50 OF BUREAUCRACY IN THE Y.O.L.D 3161 |
|||
CELEBRATE BUREFLUX |
|||
11/30/2021 |
|||
PRICKLE-PRICKLE, DAY 42 OF THE AFTERMATH IN THE Y.O.L.D 3187 |
|||
</pre> |
|||
=={{header|ALGOL W}}== |
=={{header|ALGOL W}}== |