 {~ Adding and subtracting excersizes, conversating in Czech ~}

Program Tada; {po‡¡t n¡ pro Tade ¨e, od Jen¡ka Hollana}
uses solar_ut;
var
 f,sig,s,r,wrong_pos:integer;
 c:char;
 resp:string;
 MJD_start,duration:real;
const
 NoOK: word=0;
 NoErr:byte=0;
 cl=#13#10;
begin
 MJD_now;
 MJD_start:=MJD;
 writeln('(Kon‡¡ se pr zdnou odpovˆd¡.) (Terminate by an empty answer.)');
 repeat

  randomize;

  f:=random(100)+1;            {first number}

  sig:=random(2);              {plus or minus}
  if sig=0 then
   begin
    sig:=-1;
    c:='-'
   end
  else
   c:='+';

  s:=random(100)+1;            {second number}

  if (sig=-1) and (s>f) then   {reverse first and second if result<0}
   begin
    r:=f;
    f:=s;
    s:=r
   end;

  repeat
   write(f:3,' ',c,s:3,'=');
   readln(resp);
   val(resp,r,wrong_pos);
   if resp<>'' then
    if r=f+sig*s then
     begin
      {writeln('Jo (Yes)');}
      inc(NoOK)
     end
    else
     begin
      writeln('NE! (No!)');
      inc(NoErr)
     end
  until (r=f+sig*s) or (resp='');  {until OK or end}

 until resp='';
 MJD_now;
 duration:=(MJD-MJD_start)*86400;

 if NoErr>0 then
  begin
   write(NoOK,' spr vnˆ (OK)');
   writeln(' a ',NoErr,' ¨patnˆ (wrong).')
  end
 else
  if NoOK>0 then
   writeln('V¨ech ',NoOK,' p©¡klad– spr vnˆ! (All OK!)');
 if NoOK>0 then
  begin
   writeln('Pr–mˆrn  doba na p©¡klad byla ',duration/NoOK:4:1,
          ' s. (Average duration.)');
   If NoErr>0 then
    writeln('Po p©i‡ten¡ jedn‚ takov‚ doby za ka‘dou ¨patnou odpovˆƒ:',cl,
    (duration*(1 + NoErr/NoOK))/NoOK:4:1,' s.',cl,
    '   (When adding one such interval for each wrong answer.)');
  end;
 writeln(cl,
'( (C) Jan Hollan, N.Copernicus Observatory and Planetarium in Brno, 1999;'+cl+
' subject to the GNU General Public License, http://www.gnu.org/copyleft;'+cl+
' source code available at http://astro.sci.muni.cz/pub/hollan/programmes)'
);

end.
