
                                 ++
                                    
                           .  ࠨ .堭
                               AT&T Bell Laboratories
                                                                            
            
            ________.     ⨯   ।  -
       쭮 騥 ᢮⢠ ꥪ⮢, ࠭     ⮬-
       ᪨ 㦨  ᮢ⨬ ᯮ짮.  ।⢠ -
       ࠪ樨  ++ । 室  ⮣ .
            
            
                몠 ணࠬ஢ । ⢠ -
       稭  樨,    믮  ⨬ 稭,  
           ।  ᢮⢠, 易  ॠ쭮 騬
       ꥪ⠬  稭, ⠪,   ७ ( ࠧ) -
       ᪨ 稭. ⮬ ணࠬ ।⢠   ﭨ  
         訡,  騥  १⮬  ᮢ⨬ ᯮ짮
       ணࠬ ꥪ⮢.
            祭   ।  ࠧ୮  ணࠬ
       ।⢠ 㦨 ⥫  訡 [1-4], ࠢ,  -
         易⥫쭮  ᯮ㥬 몠. , ᫨ ᯮ-
       㥬   ᮮ⢥騥 ।⢠ ࠪ樨 ,  -
         २,    ࠧ୮,   
         몠.
              樨    २    ᯮ
       ।⢠ ࠪ樨  몠 ++ [5], ਬ塞    ॠ樨
        ࠧ୮. ++   騬, ᮢ⨬ ७
       몠    [6],  ᯥ稢騬  ।⢠ ࠪ樨 , 뢠
       ᠬ.  ⮩  । ⢮ ᮢ,  -
         ணࠬ  ⮬᪮ ஢મ  ७ (-
        ᫮,   ࠧ୮)  ⮬᪨ ॢ 
        ७  㣨  ᮢ⨬ (  )  
       ७.
            
            
                                ⮬᪨ 
                                 
            ⮬᪨    ࠧ୮   ਫ, -
        䨧᪨ ꥪ⮢, ⠪  ஡孨, , 樭,
       ᪮     [7]. ਬ,  ,    
         AT&T  Bell Labs, ᮧ  ,  ன ࠭ ⠪ -
       ࠪ⨪,  ᮯ⨢   ⮢  ஭--
       ⥫ ।.  ⢥ত,  ⮬᪨  ࠧ୮-
        ᬮ  ࠭   ଠ樨, ।⠢塞  ࠧ-
        , ⠪    ࠤ.
             樨   ࠧ୮ ᬮਬ ᫥-
       騥  ६, ।⠢騥 䨧᪨ 稭:   㬥୮
       ࠭⢥, 頤, ꥬ.
            
                                                                  1.
       ______________________________________________________________________
                                                                            
                                  ਩
       ______________________________________________________________________
                                                                             
        +頤        ⨬   ᫠  ᫮    -
                                          頤
            
        頤=ꥬ        ⨬   ᫠    ᢠ  ꥬ
                                          ꥪ ६,  ।⠢饩
                                          頤
            
        頤= ਭ    訡      樨 (*).-
                                           ⨯  ᯥ稢  -
                                          ⥫쭮    ࠢ  -
                                          . ଠ  ࠧ୮ 
                                            ᯮ짮  ⠭-
                                            樨 㬭.
       ______________________________________________________________________
            
            
             ⠡ 1 ਢ  樨, ᯮ騥   ६,
        ਬ  , 祬  ⨯  筮
           ࠧ୮.    訡묨, ⠪  
         ࠧ୮,   訡  ᯮ  ࠭-
       ஬,  ⮬      ଠ樨   ७ ६-
       .  쥩 樨   樨; ଠ  -
        ७    ࠢ 訡.
            堭 । ⨯   ଠ樨    -
          ६, ᫥⥫쭮, ࠭   ﭨ ᤥ
       뢮,     権,   ⠥  ⨬묨,
        ᠬ  ⨬.
              堭, ।⢠ 몠, ᯥ稢騥 ⮬᪨
        ࠧ୮,  ᪮쪮 २.
            *   訡 (,    ᮢ⨬ -
        ७),   ।﫨  ᯮᮡ.
            *  ᯥ祭  襩 ணࠬ 㬥樨 (⮬  ண-
       ࠬ   ଠ樨  ६).
            * ⮬᪨ ॢ   ७   㣨  (ண-
       ࠬ 㪠뢠 ⭮襭  ).
            *  ᯥ祭  襩 ⮬᪮ ४樨 訡 (ਬ,
          ७ ࠭; ४騩 訡  ࠭-
         ᬮ  ࠢ쭮 ⠭ 騩  -
       樨).
            । ॠ樥   ࠧ୮    ணࠬ  室
       ᯥ ।⢠  ⮣, ⮡:
            - ।  ७  㬥   ;
            - 뢠  ७  ᫥묨 祭ﬨ;
            - ࠭஢,   祭  ᯮ짮 ᮢ⨬
         栬 ७;
            -  ᯥ ⮬᪨ ॢ   ७ (ࠧ-
       ,  ᮢ⨬)  㣨.
            
            
                                      ++
                        
            堭 ࠪ樨    ++  뢠  ᮬ.  ᠭ
       ᮢ    ⥩: ᯥ䨪樨  ⥫ .
            䨪     ।⠢  짮⥫᪨  䥩
         ᮤন  ଠ    짮⥫. 䨪-
         ⠪ ᮤন  ଠ    ࠭    祭
        ꥪ⮢.
              ᮤন ⥫ 㭪権, ᠭ  ᯥ䨪樨 -
       .
            䨪樨   :
            
                     class name {
                       private components
                     public:
                       public components
                     };
            
            묨  (private) ⠬     
       㭪樨,   ॠ ꥪ .     ।-
       ⠢ ७ ⠫      㯭 ᢮ -
       ⥫.
            饤㯭묨  (public)  ⠬    
       ,  (constructors),   (destructors),  -
         (member) 㭪樨  㦥⢥ (friend) 㭪樨. 饤-
       㯭  ।⠢ 짮⥫᪨ 䥩 .  
         ⠪  ⠬,   짮⥫   -
       짮  맢.  뢠 ⮬᪨  ᮧ-
         .  ⠪  ⮬᪨ 뢠-
       묨  室   ꥪ  (   ꥪ  㤠-
       )  -  ।  ⪨.   㦥⢥-
        㭪樨 㫨  ꥪ⠬ . ( ⮩     -
         ࠧ稩  묨  㦥⢥묨 㭪ﬨ. ⨬
       ⮫쪮,   ᨭ⠪  ࠧ砥).
             ⢥ ਬ   ᬮਬ      ᥫ,
       ᠭ ண ࠦ  .1.
                                             
                 .1              ᥫ
       ______________________________________________________________________
                          
                        class complex {
                          double re,im;
                        public:
                          complex(double r,double i);
                          complex(double r);
                          complex();
                          
                          double real();
                          double imag();
                                       
                          friend complex operator+(complex,complex);
                          friend complex operator-(complex,complex);
                          friend complex operator-(complex);
                          friend complex operator*(complex,complex);
                          friend complex operator/(complex,complex);
                          friend int operator==(complex,complex);
                          friend int operator!=(complex,complex);
                        };
       ______________________________________________________________________
                                                                           
              ப  饤㯭 (public)   -
         ᥫ   ᠭﬨ ஢. 室騩 ,
       롨ࠥ  ᮮ⢥⢨  樠㥬묨 祭ﬨ, ⮬-
        뢠   ।  ६.  騥  
       ப  ᠭﬨ  㭪権 (⢨⥫쭮  -
       ); ⠫ ப । 㦥⢥ .
            ᬮਬ  ।  㭪樨-,  -
       ୮ 㭪樨   㦥⢥ :
                          
                        #include"complex.h"
                        complex::complex(double r,double i)
                        {
                          re=r;im=i;
                        }
                        double complex::real()
                        {
                          return re;
                        }
                        complex operator+(complex a,complex b)
                        {
                          return complex(a.re+b.re,a.im+b.im);
                        }
            
             ᫥饬 ਬ  ᯮ짮   -
       ᥫ:
                          
                        complex a=complex(5.0,6.0)
                          b=complex(1.0,1.0);
                        complex c;
                        double x;
                          ...
                        x=a.real();
                        c=a+b;
                          
             來 ६ a  b 樠஢ ,   c  -
       .    ᮧ  砫 祭 a  b ⮬᪨ 뢠
        ,  ᮧ 砫쭮 祭  c,  ਭ
        㬮砭, 뢠 ⨩ . ,   -
       뢠,   室 祭,  (  ) 
        । ६ .
                          
                          
                              ࠧ୮ ᮢ
                                      
              ਬ    ।    ॠ樨
        ७: units, doubleu  intu. (䨪  ⨯  
       祭    窨,  ⮡ ⫨   䨪஢ ᮢ 
       㣨 権.)  units ।  ७.   -
       ন  樨   । 㭤⠫  ந 
       ७, ࠦ  祭  ८ࠧ   ७.
        doubleu  ⨯ "double"  ᥫ  筮, ⮫쪮
         ⠪ । ᮮ⢥騥  ७.  -
       ন  "double"  祭    ᮮ⢥騥    ७ 
       ᯥ稢 ⢨  ஢થ   ७    䬥᪨
       ࠦ, ࠦ ᢠ  ८ࠧ.  intu -
        doubleu  ᪫祭 ⮣,   ᯮ  楫 稭
       (⨯ int)  "double" 祭 (⠪   intu  
       double,      ।).   筮 ।
        ᮡ⢥ ਠ doubleu  intu, ⠪ ,    floatu  
       ᥫ  饩 窮.
            ᫥ ᠭ  ७ (   units),  -
       ᠭ  ।  ᯮ짮 ⨯ "intu"  "doubleu".
             units.  units ᮤন:
            - ⭮   ७ (u_name);
            -  ८ࠧ騩  ⥫  ८ࠧ  ᮢ⨬묨
       (묨) 栬 ७ (u_factor);
            - ᨢ u_exp,    ᮤন  ᯮ    ७
       (ਬ,  ᯮ ன   ࢮ ⥯ , ਬ,
       **2  ᥪ**-1).
             .2 ࠦ ᯥ䨪   units.   (&)
        ᠭ 㭪樨   樨 뢠,  㬥 ।-
         뫪.
            㭤⠫  ( ᭮)  ७ 뢠 
       樠  ᢮ 묨 :
                      
                      units m = "meters";
                      units kg = "kilograms";
                      units s = "seconds";
                                             
             ।  ⢮    ७  (⠪,  
       ,  ᥪ㭤,    ), ஥ ࠧ  
        ࠧ  室 .
            
            . 2.     䨪   units.
       ______________________________________________________________________
                                                                            
                      const U_NDIMS=8;
                      typedef char SMALLINT;
                        
                      class units{
                        char *u_name;
                        double u_factor;
                        SMALLINT u_exp[U_NDIMS];
                        
                      public:
                         units();
                         units(char*);
                         units(char*,units);
                         units(double);
                         ~units();
                         
                        char *names of()    {return u_name;};
                        double factor of(); {return u_factor;};
                        
                        char *sprintunits(char*);
                        int dimensionless();
                        void initunits(char*,double);
                        
                        units operator[](int),
                              operator[](double);
                        
                        friend double compatible(units&,units&);
                        
                        friend units operator*(units,units&),
                                     operator/(units&,units&);
                        
                        friend int operator==(units&,units&),
                                   operator!=(units&,units&);
                      };
       ______________________________________________________________________
                        
            
            ந  ७ 뢠   樠  
       ᢮ 묨   㫠   祭.  -
         ᥫ, ࠭ ᠭ  ७ (।塞  ந-
       )      権 *, /  [] (   ⥯). 
       祭   ⥯  ᯮ짮 **  ^ , ⠪ 
        祭  饨ᯮ㥬묨. ,      -
         - ⮣,  **    樨  ++ (
       祭  ⨯   ᯮ짮 ⮫쪮  騥
        権,   権   ।),  ^ 
       ࠢ  ਮ  (ਮ 権  㤥   ++).
         롮 祭 []  ᯮ. 騩 ࠣ -
       뢠,   ࠦ:
            
                      units km=units("km",1000*m);
                      units N=units("newtons",kg*m/s[2]);
                      units J=units("joules",N*m);
                      units W=units("watts",J/s);
            
            ࠧ  (⢥)  ७  -
       묨   ।  ७.  뢠  뢮-
         ७:
            
                      units rad=units("radians",1);
                      units deg=units("degrees",PI*rad/180.0);
                                                            
             ७  ᮢ⨬묨,  ᫨    ।⠢
         䨧᪨ 稭 ( ᬮ  ,   
        ࠧ ⠡ 樥) -  , ᫨   ⭮襭
       ࠧ୮.   㭪   ஢ન   ᮢ⨬      ७
       compatible(a,b)   unit 頥 ⭮襭 b/a  ᮢ⨬
        ७  0, ᫨  ᮢ⨬. ਬ,  "m"  
       "in" (), ।塞 ,  ᮢ⨬묨:
            
                      units cm="cm";
                      units in=units("in",2.54*cm);
                      compatible(cm,in); /* returns 2.54 */
            
            ୠ (member) 㭪 sprintunits   units ᯥ-
       뢠  㤮  ⥭  ( , 㪠뢠  ⢥ -
       ࠬ)  ࠦ  ७  㭤⠫ , -
       ⠢ ⢮  ७.  頥  祭  ᢮
       㬥.
              ⮣,  ⮡  ஥ ।⠢  ।
       ࠧࠡ⪥, ᬮਬ ࠣ ணࠬ   㭪樨  compatible  
         units         doubleu. 㭪 compatible
        :
            
                      double compatible(units&a,units&b)
                      {
                        int i;
                        for(i=0,i<U_NDIMS;i++)
                          if(a.u_exp[i]!=b.u_exp[i])
                            return 0;
                        return b.u_factor/a.u_factor;
                      }
                        
            ७ ।⠢  ७ (  units) -
          ⥩:  u_exp,  ஬ ࠭ ᯮ -
        ७,  ⠡ 樥  ८ࠧ   -
       묨 栬.
             ࠬ   doubleu :
            
                  doubleu&doubleu::operator=(doubleu&a)
                  {
                    double x=compatible(u,a.u);
                    if(x){
                      d=a.d*x;
                      return *this;
                    }
                    uerror("=");
                  }
                  doubleu operator+(doubleu&a,doubleu&b)
                  {
                    double x=compatible(b.u,a.u);
                    if(x)
                      return doubleu(x*a.d+b.d,b.u);
                    uerror("+");
                  }
            
            ⢥묨 ஡묨 ᯮ⠬,    ᬠਢ  
       襩  ࠧࠡ⪥,   ,  1/2. ஡ ᯮ
        ७ ।   ࠪ⨪    筮  -
       ⭮  ᫮  ࠧ 묨 1/2 (ਬ, . ⠡ 稭 ࠧ-
       ⥩, ᠭ ⮬ [8]).
             ࠧࠡ⪠ ᯥ稢  ⮬᪮  ८ࠧ
         栬  ७, 騬  ᨬ u1=alpha*u2, 
       ui -  ७, alpha - ⠭. ਬ,  ᯮ  ᮮ-
       騥  ।,   ⮬᪨ ८ࠧ뢠  
       ᠭ⨬   ( ⭮襭: 1 =2.54 ).
            設⢮  ७ 室  ⭮襭 ⠪  ⨯.
         ⥪饩 ࠧࠡ⪥  ८ࠧ , 騥 㣮 ⨯ -
       襭. ਬ,  ஢ ⮬᪮  ८ࠧ  
       ⥬ன  ७ (F)    (), ⭮襭  -
       묨: 1F=1.8C+32.
            ८ࠧ ⠪ ⭮襭 ⮥. ਬ, ८ࠧ-
         ⥬ࠬ  ७      -
       ᮫  ⥬  誠  좨 (),  室 ⥬
       ⠭  ⭮襭  ⥬୮ 誠   ७, 
        . ਬ,
                                        
            50F/30C = (273.16+(50-32)*(5/9))K / (273.16+30)K = 0.934
            
            ८ࠧ, 믮  誠 ७  , -
          ࠢ १. ஬ ⮣, ᫨ ᮫⭠ 誠
        ᯮ, १ ਢ  ⥬୮  ⭮襭
       㤥 ࠢ:
            
            50F/30C = (50-32)*(5/9)C / 30C = 1/3 = 0.333
            
       
            
            50F/30C = 50F / (32+(30*(9/5)))F = 50/86 = 0.581
                                                            
              ⮬,   ᫥  , -
        ,  10/1 ࠢ 10/1,  10  ࠢ 10.
            
            . 3. ᯮ짮  doubleu  ।  -
                    ७   筮  饩 窮.
       ______________________________________________________________________
      
            class doubleu {
              double d;
              units u;
            public:
              double(double=0);
              doubleu(double,units);
              doubleu(doubleu&);
            
              char *sprintdoubleu(char*);
            
              double valueof() {return d;};
              units units of() {return u;};
            
              void change_units(units uu) {u=uu};
            
              doubleu &operator=(doubleu&);
            
              friend doubleu operator-(doubleu&),
                             operator-(doubleu&,doubleu&),
                             operator+(doubleu&,doubleu&),
                             operator*(doubleu&,doubleu&),
                             operator/(doubleu&,doubleu&);
            
              friend int operator<(doubleu&,doubleu&);
            
              friend doubleu cast(doubleu&,units);
              friend double todouble(doubleu);
            };
       ______________________________________________________________________
            
            
            ____ d_o_u_b_l_e_u.  doubleu । 祭 
       ७   筮  饩 窮 (..3).  
       㭪権   ஢  doubleu  ᠬ᭨묨,  
       - :
            *   㭪樨    public-।   㭪ﬨ-
       ࠬ,   ᮧ 祭 ⨯ "doubleu",  
         祭  ⨯  "doubleu"    ࢮ  㭪樨,  祭  ⨯
       "doubleu"   祭 ⨯ "units"  ன 㭪樨  ⮫-
        祭 ⨯ "units"  쥩 㭪樨.
            *   sprintdoubleu(s), ᫥饬  ६ doubleu 㭪-
       ﬨ-ࠬ, ᮤঠ  ७, 易  ꥪ-
       ⠬  doubleu,    㤮   ଠ  ப s; 頥
       祭 - s.
            *   ணࠬ (.3) 室  cast(a,u), -
       騩  doubleu ꥪ,  a    栬  ७
       u.
             祭 ॡ, ⮡  ࠭  ᮢ⨬
        ७ (  ६ 믮  訡). -
       稭 ࠢ ࠭ ८ࠧ  栬 ७ 稭, -
          ࠭,  ⥬ ࠭   ࠭.
            ⢨  ᫮    ⠭ ⠪ ॡ, ⮡  ࠭
        ᮢ⨬  (,  ,  ६ 믮 -
        訡).      ७,    -
        ࠭.
             .4 ,  ᯮ짮   ॠ樨  
       ७. ணࠬ  ᪮즥    孮.
                                                      
            .4. ਬ ணࠬ, ॠ饩  ७  -
                     ᮢ
       ______________________________________________________________________
                                                                             
         #include<stdio.h>
         #include"units.h"
         #include"doubleu.h"
                                       
         extern double sqrt(double);
                         
         char *prdu(doubleu); //print value with units
         char *pru(units); //print units
         doubleu get_quant(char*,units); //read unit value
         doubleu height(doubleu); //returns y coordinate
           
         main()
         {
           units cm="cm",
                 gm="gm",
                 sec="sec",
                 ft=units("feet",30.48*cm/2.0);
           
           doubleu block_mass=doubleu(1000.0,gm),
                         delta_t=doubleu(0.01,sec),
                         delta_x=doubleu(0.01,cm),
                         delta_y=doubleu(0.01,cm),
                         max_time=doubleu(0,sec),
                         friction=doubleu(20.0,gm/sec),
                         gravity=doubleu(980.7,cm/sec[2]),
                         t=doubleu(0,sec),
                         v=doubleu(0,cm/sec),
                         x=doubleu(0,cm),
                         y=doubleu(0,cm);
           
           double cos_angle,slope;
           
           v=get_quant("initial velocity",cm/sec);
           max_time=get_quant("time limit",sec);
                                           
           for(;t<max_time;t=t+delta_t){
               delta_y=height(x+delta_x)-y;
               slope=todouble(delta_y/delta_x);
               cos_angle=1/sqrt(a+slope*slope);
               x=x+v*delta_t*(gravity*slope*cos_angle-v*friction/block_mass);
               printf("at t=%s,y=%s,v=%s/n",prdu(y),prdu(x),prdu(y),prdu(v));
             }
         }
       ______________________________________________________________________
                                                                            
                    
           
            .4b. ਬ ணࠬ, ॠ饩 । 㦥 㭪-
                    権
       ______________________________________________________________________
           
         #include<stdio.h>
         #include<string.h>
         #include"units.h"
         #include"doubleu.h"
                        
         char *strsave(const char *s)
         {
           return s?strcpy(new char[1+strlen(s)],s):0;
         }
           
         char *prdu(doubleu x)
         {
           char buf[BUFSIZ];
           return strsave(u.sprintunits(buf));
         }
         doubleu get_quant(char *prompt,units u)
         {
           double z;
           
           print("%s(%s)?",prompt,pru(u));
           if(scanf("%lf",&z)!=1)
             exit(1);
           return double(z,u);
         }
         double height(doubleu x)
         {
           return .5*x; //straight line
         }
       ______________________________________________________________________
           
            
            
                                    ⨢
                              
            ᭮묨  २⢠ ᯮ짮 । ࠪ樨 
       ( ७ 몠  ॠ樨  ७)  ,
         ⠥ ᫮ 몠  ,      ॡ  
       ࠭.  ,  ᫨      ७  ⢥
       㭤⠫쭮  몠 (     ⨯),  -
        ᪮쪮  ⮢  ᯮ짮 । -
       ࠪ樨 :
            *  ஫   ᮢ   ६  믮.
       ७    ࠧ୮      訡 
       ⠤ ࠭樨.
            * ࠭  ᯮ ଠ    ७  
       襩 ४樨 訡, ⮬   ଠ 㯭 ࠭-
       .
            *  ᯮ  ⨯  "into"   "doubleu",  । ᨢ,
        ண      ७. 
       ᨢ ᯮ짮 ᮢ⨬  ࠧ묨 栬  ७,
         ᭮  楯 (ᨢ ⮨  த ⮢),
        ।⢠ ࠪ樨 ⬥砫 ⠪  ᨢ.
            *   ७   ᮢ ॡ -
       ⥫쭮    ६  栬 ७.  ਬ,
       ॠ doubleu ॡ ⥫쭮 20 . ( 砥 -
         㪠⥫  ,    ᠬ , ஥ -
         .) ਬ, ᬮਬ ᨢ ⮢  -
        ७.    ॡ ⥫쭮  20 . 
       ᫨    ७   ࠭   ,  ⥫쭮
        ॡ 20   ᥣ ᨢ (   20      -
       ).  ⮣, ࠭ ᬮ ࠭஢,   
       㤥    ७. ⥬ ।  -
           ᨢ,  ᪠, "vectoru",  ᮮ⢥⢥ १㦠
        ᨢ,   ࠭ ଠ   ⮫쪮  
          ᨢ vectoru,   ଠ   
       ᨢ.
            * ⨪  祭 , ⮬       ।
        ப,  ன ந諠 訡.
            
            
                                ++  ࠢ  ADA
                                 
            ADA     १㧪 祭, ᫥⥫쭮, אַ
         ॠ樨 , ॠ饣 ਬ  ७ 
        ஫  ⮬᪨ ८ࠧ    
       ६  믮  ⢨ 祭, 砥 ᠭ ᯥ樠쭮
       饩 楤 (뢠  Assign).  㤮,  ⮬
        祭 ⮣   ᠭ  Assign(var,expression);.
            
            .5. ਬ । ஢   ७  ADA
       ______________________________________________________________________
                                                                            
            function"*"(A,B:FLOATU)return FLOATU;
            function"*"(A:FLOATU;B:FLOAT)return FLOATU;
            function"*"(A:FLOAT;B:FLOATU)return FLOATU;
            function"/"(A,B,FLOATU)return FLOATU;
            function"/"(A:FLOATU;B:FLOAT)return FLOATU;
            function"/"(A:FLOAT;B:FLOATU)return FLOATU;
       ______________________________________________________________________
                                                                             
            
              ⫨稥   ADA, ++  ⮬᪮ ८ࠧ 
       ⨯, । 짮⥫.  㬥蠥 ࠧ ணࠬ,  -
         짮⥫  ++   . ਬ,  ++ ।
       権  ࠭ ⨯,  ।﫨 :
            
                  doubleu operator*(doubleu&,doubleu&),
                  doubleu operator/(doubleu&,doubleu&);
            
       ⠪ 뢠 砩,   ࠭  ⨯ "doubleu", ⮬
         ।   doubleu  ।  -,
         ⮬᪨  ८ࠧ  祭 ⨯ "double"  祭
       ⨯ "doubleu". C 㣮 ஭,  ADA     ।-
          , ⮡  砩,   ࠭ -
         祭  饩 窮.  .5  ਢ  ਬ
        [2].
            䨭஢᪨   [9]   ࠧ୮, ᠭ 
       ADA,     ᯥ樠쭮 饩 楤
       ⥬ ᯮ짮 ⠪ । ADA,       ਬ⠬
       (ࠬࠬ)  ⨯.  ⮬    ६   㭨-
         ⢮  ࠧ୮⥩    ।  ⨯.
        ⨯ ।   樨  ਬ,  
       祭 㤮 ( ⨬ ᮣᥭ  䨭). ਬ,  
       ६  X,  max_time   V,  ७  - ᠭ⨬,
       ᥪ㭤  ᪮ ᮮ⢥⢥, ॡ ᫥騥 ᠭ:
            
                    CM:constant QUANT:=UNIT0;
                    SEC:constant QUANT:=UNIT1;
                     ...
                    subtype DISTANCE is QUANT(1,0,0,0);
                    subtype TIME is QUANT(0,1,0,0);
                                
            樮    ।    ७    祭
       㤮  ⥭.
            ६ X  V  ᥩ  ᠭ :
            
                    X:DISTANCE:=0.0*CM
                    V:VELOSITY:=0.0*(CM/SEC)
                              
             ++  ⨥ 㭪樨-,  ⮬᪨ -
       뢠,    ⢨ ꥪ . -
        , ⠪ ࠧ, ᯮ짮, ਬ,  ⪨ -
       ᪨ 뤥塞 .  ++   ७ (  units)
       ࠭  㪠⥫ﬨ  ᪨ .   뫠 -
        ஬.
             ADA   ,     㦥   ॠ-
       樨    ADA  , ন饣  ७, ⮬ 
          ࠭  ᪨  ᨢ,  ࠧ饭  
       ⥪.  ,     묨  ADA  㣨 -
       , ⠪  ॠ ᯨ᪮.
             ++ ।⠢  ⮩  ன ॠ樨
         ࠧ୮⥩.
             units  ᪮쪮 饤㯭 (public) 㭪権, -
         ᯮ짮 ⮫쪮 ࠧࠡ稪 ⥬  ,    
       砥  doubleu    intu.      㭪権  ᮢ intu 
       doubleu (  ⤥   짮⥫) ந   ᯮ-
         堭  ࠧ   ᮢ   units, 
       ⨢ ⠪ ᯮᮡ 襭   ࠧ, ⮬   -
       砥   ᯥ樠樥   (⨧
       ᢮⢠),    intu   doubleu   ᯥ樠ﬨ  
       units.
             , ᫥ ⬥,   襩 窨  ७
       ।⢮     㤮 堭  ॠ樨 ⮬-
       ᪮  ࠧ୮  ਥ 訬  짮⥫᪨  -
       䥩ᮬ, ⮬   ।⠢  १㧪 ⠭-
        ஢  ஢ન  ७.
            
            
                                          
            
            1.  N.H.Gehani,"Units  of  Measure as a Data Attribute," Computer
       Languages, No.3, 1977, pp.93-111.
            2.  N.H.Gehani,"ADA's  Derived  Types  and  Units  of   Measure,"
       Software Practice and Experience, June 1985, pp.555-569.
            3.  M.Karr  and  D.B.Loveman  III,"Incorporation  of  Units  into
       Programming Languages," Comm.ACM, May 1978, pp.385-391.
            4. R.T.House,"A Proposal for an Extended Form of Type Checking of
       Expressions," Computer Journal, No.4, 1984, pp.366-374.
            5. B.Stroustrup,"The C++ Programming  Language,"  Addison-Wesley,
       Reading, Mass., 1986.
            6.  B.W.Kernighan  and  D.M.Ritchie,"The C Programming Language,"
       Prentice-Hall, Englewood Cliffs, N.J., 1978.
            7.  N.H.Gehani,"Databases  and  Units  of  Measure,"  IEEE Trans.
       Software Eng., June 1982, pp.605-611.
            8.  R.C.Pankhurst,  "Dimensional  Analysis  and  Scale  Factors,"
       Chapmen & Hall, London, 1964.
            9. P.N.Hilfinger,"An Ada Package for Dimensional Analysis," tech.
       report,  Computer  Sciense Div., Univ.of California, Berkeley, Calif.,
       1985.
            
