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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 22:45   #1
Mg_Tasha
Новичок
Джуниор
 
Регистрация: 11.10.2009
Сообщений: 2
Печаль Классы в Делфи



1 Реалізувати клас, що містить наступні члени: поле FFirst – дробове число; поле FSecond – ціле число, показник степеня; метод power піднесення числа FFirst до степеня FSecond. Метод повинен коректно працювати при будь-яких допустимих значеннях FFirst і FSecond.

2 Створити клас TGoods (товар). У класі повинні бути поля: найменування товару, дата оформлення на складі, поточна ціна товару, кількість одиниць товару на складі, номер накладної, по якій товар прибув на склад. Реалізувати методи зміни ціни товару, зміни кількості товару, обчислення вартості всього товару одного виду. Метод ToString повинен видавати вартість товару у вигляді текстового рядку.

3 Задане лінійне рівняння виду y = Ax + B. Створити клас, що містить поля – коефіцієнти рівняння та метод root – обчислення кореня цього рівняння. Метод повинен перевіряти нерівність коефіцієнта B нулю.

4 Комплексне число подається парою дійсних чисел (a, b), де a – дійсна частина, b – уявна частина. Реалізувати клас TComplex для роботи з комплексними числами. Повинні бути реалізовані методи: Read – уведення з клавіатури пари чисел; Display – виведення на екран числа у формі a + b * I ; Add – додавання з іншим комплексним числом (a, b) + (c, d) = (a + c, b + d), результат заноситься в поля поточного числа; Div – ділення (a, b) / (c, d) = (ac + bd,bc –ad) / (c2 + d2); порівняння Equ – (a, b) = (c, d), якщо (a = c) і (b = d).

5 Створити клас TTriangle для подання трикутника. Поля повинні містити дані про довжини сторін і величину кутів. Потрібно реалізувати дії: отримання і зміни полів, обчислення периметра, площі обчислення довжин усіх висот, а також визначення виду трикутника (звичайний, рівносторонній, рівнобедрений, прямокутний).

6 Реалізувати клас TAccount , абстракцію банківського рахунку. Клас містить чотири поля: повне ім’я власника, номер рахунку (16 знаків), відсоток нарахування і сума в гривнях залишку на рахунку. Відкриття рахунку виконується спеціальним окремим методом. Також слід реалізувати наступні операції: зміна власника рахунку, зняття визначеної суми з рахунку, поповнення рахунку, нарахування відсотків, переведення суми на рахунку в євро по певному курсу, метод повернення залишку на рахунку прописом (числівник).


Переведено ибн Прагмой:

{ 1 Реализовать класс, который содержит следующие члены: полет FFirst - дробное число; полет FSecond - целое число, показатель степени; метод power подъема числа FFirst к степени FSecond. Метод должен корректно работать при любых допустимых значениях FFirst и FSecond.

2 Создать класс TGoods (товар). В классе должны быть поля: наименование товара, дата оформления на составе, текущая цена товара, количество единиц товара на составе, номер накладной, по которой товар прибыл на состав. Реализовать методы изменения цены товара, изменения количества товара, вычисления стоимости всего товара одного вида. Метод ToString должен выдавать стоимость товара в виде текстового строке.

3 Задано линейное уравнение вида в = Ax + B. Создать класс, который содержит поля - коэффициенты уравнения и метод root - вычисления корня этого уравнения. Метод должен проверять неравенство коэффициента B нулю.

4 Комплексное число подается парой вещественных чисел (а, b), где а - действительная часть, b - мнимая часть. Реализовать класс TComplex для работы с комплексными числами. Должны быть реализованы методы: Read - введение из клавиатуры пары чисел; Display - выведение на экран числа в форме а + b * I ; Add - добавление с другим комплексным числом (а, b) + (c, d) = (а + c, b + d), результат заносится в поля текущего числа; Div - деление (а, b) / (c, d) = (ас + bd,bc -ad) / (c2 + d2); сравнение Equ - (а, b) = (c, d), если и (b = d).

5 Создать класс TTriangle для представления треугольника. Поля должны содержать данные о длинах сторон и величине углов. Нужно реализовать действия: получение и изменения полей, вычисления периметра, площади вычисления длин всех высот, а также определения вида треугольника (обычный, равносторонний, равнобедренный, прямоугольный).

6 Реализовать класс TAccount, абстракцию банковского счета. Класс содержит четыре поля: полное им’ я владельца, номер счета (16 знаков), процент начисления и сумма в гривнях остатка на счете. Открытие счета выполняется специальным отдельным методом. Также следует реализовать следующие операции: изменение владельца счета, снятия определенной суммы из счета, пополнение счета, начисления процентов, перевода суммы на счете в евро по определенному курсу, метод возвращения остатка на счете прописью (числительное).

Последний раз редактировалось Rembo; 17.10.2009 в 18:08.
Mg_Tasha вне форума Ответить с цитированием
Старый 16.10.2009, 08:08   #2
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

1-я задача:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TPower = class
    private
      FFirst:Real;
      FSecond:integer;
    public
      constructor Create(First:Real; Second:integer);
      function power:Real;
  end;

var
  Form1: TForm1;
  Pow:TPower;

implementation

{$R *.dfm}

constructor TPower.Create(First: Real; Second: Integer);
begin
  FFirst:=First;
  FSecond:=Second;
end;

function TPower.power:Real;
var
  i:integer;
  p:real;
begin
p:=1;
  for i:= 1 to FSecond do
    p:=p*FFirst;
Result:=p;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Pow:=TPower.Create(2.0,3);
  ShowMessage(FloatToStr(Pow.power));
end;

end.
profi вне форума Ответить с цитированием
Старый 16.10.2009, 08:12   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

По поводу первого:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
type
 nyclass=class
  Private
    FFirst: Double;
    FSecond: Integer;
    procedure SetFirst(const Value: Double);
    procedure SetSecond(const Value: Integer);
  Public
   Property First:Double read FFirst write SetFirst;
   Property Second:Integer read FSecond write SetSecond;
   Function Power:Double;
 end;
{ nyclass }

function nyclass.Power: Double;
begin
 Result:=exp(FSecond*ln(FFirst));
end;

procedure nyclass.SetFirst(const Value: Double);
begin
  FFirst := Value;
end;

procedure nyclass.SetSecond(const Value: Integer);
begin
  FSecond := Value;
end;

var c:nyclass;
begin
 c:=nyclass.Create;
  c.First:=4;
  c.Second:=5;
  Write(c.power);
  readln;
 c.Free;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Смысл ясен?
Если да то так же реализуй остальные классы.

Цитата:
TPower = class
private
FFirst:Real;
FSecond:integer;
public
constructor Create(First:Real; Second:integer);
function power:Real;
end;
Не лучшай идея.
Если выностить этот класс в отдельный модуль - доступ к этим полям будет закрыт.
I'm learning to live...

Последний раз редактировалось Stilet; 16.10.2009 в 08:15.
Stilet вне форума Ответить с цитированием
Старый 17.10.2009, 17:39   #4
Mg_Tasha
Новичок
Джуниор
 
Регистрация: 11.10.2009
Сообщений: 2
По умолчанию Спасибочки большое

Смысл ясен. ПОпробую и остальные
Mg_Tasha вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Делфи, классы. Катерина_Ио Фриланс 3 18.05.2009 14:10
Классы, помогите разобраться Hacker19_90 Общие вопросы C/C++ 16 20.03.2009 22:24