Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2017, 09:56   #1
alex_1111
Новичок
Джуниор
 
Регистрация: 19.11.2017
Сообщений: 2
По умолчанию помогите с ООП (Turbo delphi)

Разработать и реализовать диаграмму классов для описанных объектов предметной области, используя механизмы композиции. Проверить ее на тестовом примере, с демонстрацией всех возможностей разработанных классов на конкретных данных.
Объект - вещественное число, записанное с точкой. Параметры - значение числа в числовом виде и его запись в символьном изображении. Методы: процедура инициализации, процедура вывода значения параметров на экран и функция, определяющая и возвращающая по запросу количество цифр в целой части числа.
Объект – массив вещественных чисел. Параметры: количество и массив чисел. Методы: Процедура инициализации. Процедура вывода на экран значений полей и функции определения среднего значения чисел массива и среднего количества цифр в целых частях этих чисел.
alex_1111 вне форума Ответить с цитированием
Старый 06.12.2017, 09:57   #2
alex_1111
Новичок
Джуниор
 
Регистрация: 19.11.2017
Сообщений: 2
По умолчанию

то, что есть
Код:
 program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils,
  Unit1 in 'Unit1.pas';
Type Massiv=object
  k1:integer;
  mas:array of Number;
  procedure init(k2:integer; const mas1:array of Number);
  procedure print1(a:Number);
  function srch:real;
  function srk:real;
end;
procedure Massiv.init(k2: Integer; const mas1: array of Number);
 var i:integer;
 begin
  k1:=k2;
  For i:=1 to k1 do begin
    mas[i]:=mas1[i];
  end;
 end;
procedure Massiv.print1;
 var i:integer;
 begin
  For i:=1 to k1 do begin
    mas[i].print;
  end;
 end;
function Massiv.srch;
 var i,k:integer;
     s:extended;
 begin
 k:=0;
 s:=0;
  For i:= 1 to k1 do begin
   s:=s+mas[i].n;
   k:=k+1;
  end;
  Result:=s/k;
 end;
function Massiv.srk;
 var i,s:integer;
 begin
  s:=0;
  For i:=1 to k1 do begin
   s:=s+mas[i].k;
  end;
  Result:=s/k1;
 end;
var m:Massiv;
    n:Number;
    i:integer;
    ch:char;
begin
 WriteLn('Vvedite kol-vo');
 ReadLn(m.k1);
 WriteLn('Vvedite chisla');
 For i:=1 to m.k1 do begin
  ReadLn(m.mas[i].n);
  n.ch:=chr(m.mas[i].n);
  n.init(m.mas[i].n; n.ch);
 end;
 m.init(k1);
 WriteLn('Vvedenniy massiv');
 m.print1;
 WriteLn('Sredee chislo',m.srch);
 WriteLn('Srednee kolichestvo',m.srk);
 ReadLn;
end.
Код:
unit Unit1;
interface
   Type Number=object
     n:extended;
     ch:char;
     procedure init(n1:real;ch1:char);
     procedure print;
     function k:integer;
   end;
implementation
procedure Number.init(n1:real;ch1:char);
 begin
  n:=n1;
  ch:=ch1;
 end;
procedure Number.print;
 begin
  WriteLn('n=',n);
  WriteLn('ch:',ch);
 end;
function Number.k;
 var x:integer;
 begin
  k:=0;
  x:=Trunc(n);
  While x>=1 do begin
   x:=x div 10;
   k:=k+1;
  end;
  Result:=k;
 end;
end.

Последний раз редактировалось alex_1111; 06.12.2017 в 10:08.
alex_1111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите!!! Turbo Delphi Lamer2015 Общие вопросы Delphi 8 27.01.2015 14:48
помогите с turbo delphi rutkov Софт 2 23.05.2008 11:56