LoginSignup
1
0

TurboPascalでユリウス日

Last updated at Posted at 2023-09-21

今年はTurboPascalが発売されて40年になるようです。

久しぶりにcpm8266のTurboPascalをいじってみました。

ユリウス日を計算してみます。

を参考にしました。

JDAY.PAS
program jday;
function julday(year, month:integer; day:real):real;
var
a,b: integer;
gregorian: boolean;
begin
gregorian := TRUE;
if year < 1582 then gregorian := FALSE;
if (year = 1582) and (month < 10) then gregorian := FALSE;
if (year = 1582) and (month = 10) then
if day < 15 then gregorian := FALSE;

if month < 3 then begin
year := year -1;
month := month + 12;
end;
a := year div 100;

if gregorian then
b := 2 - a + a div 4
else
b := 0;

julday := int(365.25 * ( year + 4716)) + int(30.6001 * (month + 1)) +
 day + b - 1524.5

end;

var
r: real;
begin
r := julday(2023, 9, 21);
write(r);

doubleとかlongintとかは無いようです。

実行してみます。

Loading F:JDAY.PAS
Compiling 
  34 lines

Code:   488 bytes (7E70-8058)
Free: 25218 bytes (8059-E2DB)
Data:    42 bytes (E2DC-E306)

Running
  2.4602085000E+06

TurboPascalは方言がすくなく、原版について解説された、ここも参考になります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0