Anhang 1
--------

PROGRAM sonne_perihel;
CONST N = 360;
      GravAbhVonUniversum = 300000.0 {km2/s2}
      SonnenRadius        = 696000.0 {km}
      RingGeschwindigkeit = 600000.0 {mm/s}
      RingRadius          =  90000.0 {km}
      SonnenOberflaechenBeschleunigung = 0.274 {km/s2}

FUNCTION perihel_verschiebung (SonnenAbstand:real) : real;
VAR   i: integer;
      GravAbhVonSonne:	real;
      alfa, geschwInRichtung, abstand, anteil, anteilSumme: real;
      geschwAnteil, geschwSumme: real;
      ResultatGeschw, AbstandVerhaeltnis, Resultat:real;
BEGIN
  SonnenAbstand := SonnenAbstand * 1000000.0; {umrechnen in km}
  GravAbhVonSonne := SonnenoberflaechenBeschleunigung
                     *sqr(SonnenRadius) / SonnenAbstand;
  AbstandVerhaeltnis := SonnenAbstand / RingRadius;

  geschwSummme := 0;
  anteilSumme  := 0;
  FOR i := 0 TO N-1 DO BEGIN
    alfa := 2*PI/N*i;
    geschwInRichtung := cos(alfa);
    abstand := sqrt ( sqr(AbstandVerhaeltnis-cos(alfa)) + sqr(sin(alfa)) );
    anteil  := 1 / abstand;
    anteilSumme  := anteilSumme + anteil;
    geschwAnteil := geschwInRichtung * anteil;
    geschwSumme  := geschwSumme + geschwAnteil;
  END {for};

  ResultatGeschw := RingGeschwindigkeit * geschwSumme / anteilSumme;
  ResultatGeschw := ResultatGeschw * GravAbhVonSonne /
                    (GravAbhVonUniversum + GravAbhVonSonne);
  Resultat := ResultatGeschw / 1000000.0;   { umrechnen km/s }
  Resultat := Resultat*3600*24*365*100;     { Distanz in 100 Jahren }
  Resultat := Resultat / (2*PI*SonnenAbstand);
  Resultat := Resultat * 360 * 60 * 80;     { in Bogensekunden }
  perihel_verschiebung := resultat; 
END {perihel_verschiebung};

BEGIN
  writeln ( 'Perihelverschiebung in 100 Jahren');
  writeln ( '  Merkur:	', perihel_verschiebung( 57.9) :6:1); 
  writeln ( '  Venus:   ', perihel_verschiebung(108.2) :6:1); 
  writeln ( '  Erde:    ', perihel_verschiebung(148.8) :6:1), 
  writeln ( '  Mars:    ', perihel_verschiebung(228.0) :6:1); 
  writeln ( '  Jupiter: ', perihel_verschiebung(778.0) :6:1);
END {sonne_perihel}.