Day of the week: Difference between revisions
Content added Content deleted
(Day of the week in various dialects BASIC (BASIC256, QBasic, True BASIC and XBasic)) |
|||
Line 623: | Line 623: | ||
2112 |
2112 |
||
2118</pre> |
2118</pre> |
||
==={{header|BASIC256}}=== |
|||
<syntaxhighlight lang="freebasic">for yr = 2008 to 2121 |
|||
if wd(12, 25, yr) = 0 then print "Dec 25 "; yr |
|||
next |
|||
end |
|||
function wd(m, d, y) |
|||
if m < 3 then # if m = 1 or m = 2 then |
|||
m += 12 |
|||
y -= 1 |
|||
end if |
|||
return (y + (y \ 4) - (y \ 100) + (y \ 400) + d + ((153 * m + 8) \ 5)) % 7 |
|||
end function</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|BBC BASIC}}=== |
==={{header|BBC BASIC}}=== |
||
Line 937: | Line 953: | ||
EndIf |
EndIf |
||
Next</syntaxhighlight> |
Next</syntaxhighlight> |
||
==={{header|QBasic}}=== |
|||
{{works with|QBasic|1.1}} |
|||
{{works with|QuickBasic|4.5}} |
|||
<syntaxhighlight lang="qbasic">FOR yr = 2008 TO 2121 |
|||
IF wd(12, 25, yr) = 0 THEN PRINT "Dec 25 "; yr |
|||
NEXT yr |
|||
END |
|||
FUNCTION wd (m, d, y) |
|||
IF m < 3 THEN |
|||
LET m = m + 12 |
|||
LET y = y - 1 |
|||
END IF |
|||
wd = ((y + INT(y / 4) - INT(y / 100) + INT(y / 400) + d + INT((153 * m + 8) / 5)) MOD 7) |
|||
END FUNCTION</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|QL SuperBASIC}}=== |
==={{header|QL SuperBASIC}}=== |
||
Line 1,164: | Line 1,198: | ||
2112 |
2112 |
||
2118</pre> |
2118</pre> |
||
==={{header|True BASIC}}=== |
|||
<syntaxhighlight lang="qbasic">FUNCTION wd (m, d, y) |
|||
IF m < 3 THEN |
|||
LET m = m + 12 |
|||
LET y = y - 1 |
|||
END IF |
|||
LET wd = REMAINDER ((y + INT(y / 4) - INT(y / 100) + INT(y / 400) + d + INT((153 * m + 8) / 5)), 7) |
|||
END FUNCTION |
|||
FOR yr = 2008 TO 2121 |
|||
IF wd(12, 25, yr) = 0 THEN PRINT "Dec 25 "; yr |
|||
NEXT yr |
|||
END</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|VBA}}=== |
==={{header|VBA}}=== |
||
Line 1,209: | Line 1,259: | ||
2118 |
2118 |
||
</pre> |
</pre> |
||
==={{header|XBasic}}=== |
|||
{{works with|Windows XBasic}} |
|||
<syntaxhighlight lang="xbasic">PROGRAM "progname" |
|||
VERSION "0.0000" |
|||
DECLARE FUNCTION Entry () |
|||
DECLARE FUNCTION wd (m, d, y) |
|||
FUNCTION Entry () |
|||
FOR yr = 2008 TO 2121 |
|||
IF wd(12, 25, yr) = 0 THEN PRINT "Dec 25 "; yr |
|||
NEXT yr |
|||
END FUNCTION |
|||
FUNCTION wd (m, d, y) |
|||
IF m < 3 THEN |
|||
m = m + 12 |
|||
DEC y |
|||
END IF |
|||
RETURN ((y + INT(y / 4) - INT(y / 100) + INT(y / 400) + d + INT((153 * m + 8) / 5)) MOD 7) |
|||
END FUNCTION |
|||
END PROGRAM</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Same as FreeBASIC entry.</pre> |
|||
==={{header|Yabasic}}=== |
==={{header|Yabasic}}=== |