Program na analýzu teplot

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Category: KMP (Club of young programmers)

Author: Miroslav Lízal, Tomáš Okurek
web: pascalweb.wz.cz/index86.html

Program: Analyzte.pas
File exe: Analyzte.exe

Program na analýzu teplot. Program si vyžiada počet dní a počet meraní za deň. Potom sa zadajú jednotlivé teploty.
{ ANALYZTE.PAS           Copyright (c) Miroslav Lízal, TomᚠOkurek }
{ Program na analyzu teplot.                                        }
{                                                                   }
{ Datum:29.11.2002                             http://www.trsek.com }
 
program Teploty;
uses crt;
var dpv,dps,dlv,dls,dsv,dvo,pr,lv,vr,dol,kr,sv,vo,m:char;
 
(*var i1,i2:integer;  var p,n:integer;*)
var xova,yova:integer;
var n,i1,i2,p,t,tkles,tmax,klesani,tmin,mtmin,dennejnit:integer;
 
begin
 textmode(co80+font8x8);
 xova:=0;
 yova:=5;
 clrscr;
 textcolor(white);
 
 repeat
  write('Pocet mereni za den (1-9): ');
  readln(p);
 until p<10;
 
 repeat
  write('Pocet merenych dnu (1-20):  ');
  read(n);
 until n<21;
 
 clrscr;
 dpv:=chr(187);
 dps:=chr(188);
 dlv:=chr(201);
 dls:=chr(200);
 pr:=chr(182);
 lv:=chr(199);
 vr:=chr(209);
 dol:=chr(207);
 kr:=chr(197);
 sv:=chr(179);
 vo:=chr(196);
 dvo:=chr(205);
 dsv:=chr(186);
 m:=chr(32);
 write(dlv,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,vr);
 
 for i1:=1 to p-1 do
   write(dvo,dvo,dvo,dvo,vr);
 
 write(dvo,dvo,dvo,dvo,dpv);
 write(m,dlv,dvo,dvo,dvo,dvo,dvo,vr,dvo,dvo,dvo,dvo,dvo,vr,dvo,dvo,dvo,dvo,dvo,dpv);
 writeln;
 write(dsv,m,'Mereni',m,chr(26),m,sv);
 
 for i1:=1 to p-1 do
   write(m,m,i1,m,sv);
 
 write(m,m,i1+1,m,dsv);
 write(m,dsv,m,'Min',m,sv,m,'Max',m,sv,m,'Kle',m,dsv);
 writeln;
 write(dsv,m,m,m,m,'Den',m,chr(25),m,sv);
 
 for i1:=1 to p-1 do
   write(m,m,m,m,sv);
 
 write(m,m,m,m,dsv,m,dsv,m,m,m,m,m,sv,m,m,m,m,m,sv,m,m,m,m,m,dsv);
 writeln;
 
 for i2:=1 to n do begin
   write(lv,vo,vo,vo,vo,vo,vo,vo,vo,vo,vo,kr);
   for i1:=1 to p-1 do
     write(vo,vo,vo,vo,kr);
   write(vo,vo,vo,vo,pr,m,lv,vo,vo,vo,vo,vo,kr,vo,vo,vo,vo,vo,kr,vo,vo,vo,vo,vo,pr);
   writeln;
   write(dsv,m,m,m,i2:2,m,m,m,m,m,sv);
   for i1:=1 to p-1 do
     write(m,m,m,m,sv);
   write(m,m,m,m,dsv,m,dsv,m,m,m,m,m,sv,m,m,m,m,m,sv,m,m,m,m,m,dsv);
   writeln;
 end;
 
 write(dls,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dol);
 for i1:=1 to p-1 do
   write(dvo,dvo,dvo,dvo,dol);
 write(dvo,dvo,dvo,dvo,dps,m,dls,dvo,dvo,dvo,dvo,dvo,dol,dvo,dvo,dvo,dvo,dvo,dol,dvo,dvo,dvo,dvo,dvo,dps);
 writeln;
 writeln;
 writeln(dlv,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,
 dvo,dvo,dvo,dvo,dvo,dvo,dpv);
 writeln(dsv,m,'Nejnizsi teplota byla',m,m,m,m,'. den',m,m,m,dsv);
 writeln(dls,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,dvo,
 dvo,dvo,dvo,dvo,dvo,dvo,dps);
 
 
 textcolor(yellow);
 dennejnit:=1;
 for i1:=1 to n do
  begin
    xova:=13;
    gotoxy(xova,yova);
    readln(t);
    tkles:=t;
    tmax:=t;
    tmin:=t;
    klesani:=0;
 
    if i1=1 then
       mtmin:=tmin;
 
    for i2:=1 to p-1 do begin
       xova:=xova+5;
       gotoxy(xova,yova);
       read(t);
       if t>tmax then tmax:=t;
       if t<tmin then tmin:=t;
       if tkles>t then klesani:=klesani+1;
       if tmin<mtmin then dennejnit:=i1;
       tkles:=t;
    end;
 
    gotoxy(p*5+17,yova);write(tmin);
    gotoxy(p*5+22,yova);writeln(tmax);
    gotoxy(p*5+27,yova);writeln(klesani);
 
    yova:=yova+2;
  end;
 
 gotoxy(26,yova+2);write(dennejnit);
end.