Advertisement
555oya

дз 3 часть 3

Dec 18th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.80 KB | None | 0 0
  1. program ex3;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils;
  7.  
  8. type
  9.  
  10.   apt = object
  11.     cost:integer;
  12.     size:integer;
  13.     procedure init;
  14.     procedure output;
  15.     function cpm:real;
  16.   end;
  17.  
  18.   house = object
  19.     num:integer;
  20.     mas: array [1..100] of apt;
  21.     procedure init2;
  22.     procedure output2;
  23.     function costs:integer;
  24.   end;
  25.  
  26.   Procedure apt.init;
  27.   begin
  28.     writeln('Enter cost of apt: ');
  29.     readln(cost);
  30.     writeln('Enter size of apt: ');
  31.     readln(size);
  32.   end;
  33.  
  34.   Procedure apt.output;
  35.   begin
  36.     writeln('Cost of apt: ',cost);
  37.     writeln('Enter size of apt: ',size);
  38.   end;
  39.  
  40.   function apt.cpm;
  41.   begin
  42.     cpm:=cost/size;
  43.   end;
  44.  
  45.   Procedure house.init2;
  46.   var i:integer;
  47.   begin
  48.     writeln('Enter number of apt in this house: ');
  49.     readln(num);
  50.     writeln('Enter apt. properties: ');
  51.     for i := 1 to num do begin
  52.       mas[i].init;
  53.     end;
  54.   end;
  55.  
  56.   Procedure house.output2;
  57.   var i:integer;
  58.   begin
  59.     writeln('Number of apt in this house: ',num);
  60.     for i:= 1 to num do begin
  61.       writeln('Apt. propertied: ');
  62.       mas[i].output;
  63.     end;
  64.   end;
  65.  
  66.   function house.costs;
  67.   var max,overallcost,n,i:integer;
  68.   begin
  69.     n:=0;
  70.     overallcost:=0;
  71.     writeln('Enter max cost of apt: ');
  72.     readln(max);
  73.     for i := 1 to num do begin
  74.       overallcost:=overallcost+mas[i].cost;
  75.     end;
  76.     writeln('House cost: ', overallcost);
  77.     for i := 1 to num do begin
  78.       if mas[i].cost <= max then begin
  79.         inc(n);
  80.       end;
  81.     end;
  82.     costs:=n;
  83.   end;
  84.   var flat:apt;
  85.       home:house;
  86.       f:real;
  87.       n:integer;
  88. begin
  89.   flat.init;
  90.   flat.output;
  91.   f:=flat.cpm;
  92.   writeln('Cost of a meter: ',f:0:3);
  93.   home.init2;
  94.   home.output2;
  95.   n:=home.costs;
  96.   writeln('Number of flats with required cost: ',n);
  97.   readln;
  98. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement