0 / 0 / 0
Регистрация: 11.11.2014
Сообщений: 9
1

Описать абстрактный класс "фигура", от этого класса сделать 3 потомка: треугольник, круг и квадрат

02.04.2015, 21:17. Показов 2469. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать абстрактный класс "фигура", от этого класса сделать 3 потомки - фигуры на плоскости: равносторонний треугольник, круг и квадрат, от каждого из них сделать еще по одному потомку соответственно: треугольная призма, конус, прямоугольная призма.
Для фигур на плоскости определить площадь, для объемных - Объем. Классы не перегружать лишними функциями и методами.
Вся информация должна быть в файле, для каждого тела в отдельности. От фигур зависит количество полей.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2015, 21:17
Ответы с готовыми решениями:

Реализовать в программе класс фигура, потомки класса треугольник, круг и квадрат
Доброго времени суток. Есть задача: реализовать в программе класс фигура, потомки класса...

Описать класс "треугольник" на основе класса "линия"
вот мой код: using System; using System.Collections.Generic; using System.Linq; using...

Создать абстрактный базовый класс "Фигура" с виртуальной функцией: "Площадь"
Создать абстрактный базовый класс фигура с виртуальной функцией — площадь. Создать производные...

Класс "Графический объект", от которого будут наследоваться классы "круг" и "квадрат"
Реализовать класс Графический объект от которого будут наследоваться классы "круг" и "квадрат"....

1
228 / 225 / 220
Регистрация: 03.07.2012
Сообщений: 466
04.04.2015, 15:14 2
Лучший ответ Сообщение было отмечено olena_rehush как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
uses
  crt;
type
  TFigura = object
    x,y : real;
    procedure Init(ax,ay:real);
  end;
  procedure TFigura.Init(ax,ay:real);
  begin
    x := ax; y := ay;
  end;
 
type
  TTriang = object(TFigura)
    a,s : real;
    procedure Init(ax1,ay1,ax2,ay2:real);
    procedure Area;
  end;
  procedure TTriang.Init(ax1,ay1,ax2,ay2:real);
  begin
    Inherited Init(ax1,ay1);
    a := sqrt(sqr(x-ax2)+sqr(y-ay2));
  end;
  procedure TTriang.Area;
  begin
    s := sqrt(3)/4*sqr(a);
  end;
 
type TCircl = object(TFigura)
     r,s : real;
     procedure Init(ax1,ay1,ax2,ay2:real);
     procedure Area;
  end;
  procedure TCircl.Init(ax1,ay1,ax2,ay2:real);
  begin
    inherited Init(ax1,ay1);
    r := sqrt(sqr(x-ax2)+sqr(y-ay2));
  end;
  procedure TCircl.Area;
  begin
    s := 2*Pi*sqr(r);
  end;
 
type TSquar = object(TFigura)
     a,s : real;
     procedure Init(ax1,ay1,ax2,ay2:real);
     procedure Area;
  end;
  procedure TSquar.Init(ax1,ay1,ax2,ay2:real);
  begin
    inherited Init(ax1,ay1);
    a := sqrt(sqr(x-ax2)+sqr(y-ay2));
  end;
  procedure TSquar.Area;
  begin
    s := sqr(a);
  end;
 
type TPrsmTr = object(TTriang)
     h,V : real;
     procedure Init(ax1,ay1,ax2,ay2,ah:real);
     procedure VPrs;
  end;
  procedure TPrsmTr.Init(ax1,ay1,ax2,ay2,ah:real);
  begin
    inherited Init(ax1,ay1,ax2,ay2);
    h := ah;
  end;
  procedure TPrsmTr.VPrs;
  begin
    inherited Area;
    V := s*h;
  end;
 
type TPrsmSq = object(TSquar)
     h,V : real;
     procedure Init(ax1,ay1,ax2,ay2,ah:real);
     procedure VPrs;
  end;
  procedure TPrsmSq.Init(ax1,ay1,ax2,ay2,ah:real);
  begin
    inherited Init(ax1,ay1,ax2,ay2);
    h := ah;
  end;
  procedure TPrsmSq.VPrs;
  begin
    inherited Area;
    V := s*h;
  end;
type TCone = object(TCircl)
     h,V : real;
     procedure Init(ax1,ay1,ax2,ay2,ah:real);
     procedure VCone;
   end;
   procedure TCone.Init(ax1,ay1,ax2,ay2,ah:real);
   begin
     inherited Init(ax1,ay1,ax2,ay2);
     h := ah;
   end;
   procedure TCone.VCone;
   begin
     inherited Area;
     V := s*h/3;
   end;
 
var T : TTriang;
    C : TCircl;
    Sq : TSquar;
    PTr : TPrsmTr;
    PSq : TPrsmSq;
    Cn : TCone;
    x1, y1, x2, y2, h : real;
    s : real;
begin
  clrscr;
  write('x1 = '); readln(x1);
  write('y1 = '); readln(y1);
  write('x2 = '); readln(x2);
  write('y2 = '); readln(y2);
  T.Init(x1,y1,x2,y2);
  T.Area;
  writeln('Area of triangle :',T.s:7:3);
  C.Init(x1,y1,x2,y2);
  C.Area;
  writeln('Area of circle :',C.s:7:3);
  Sq.Init(x1,y1,x2,y2);
  Sq.Area;
  writeln('Area of square :',Sq.s:7:3);
  write('h = '); readln(h);
  PTr.Init(x1,y1,x2,y2,h);
  PTr.VPrs;
  writeln('Volume of triangular prism :',PTr.V:7:3);
  PSq.Init(x1,y1,x2,y2,h);
  PSq.VPrs;
  writeln('Volume of rectangular prism :',PSq.V:7:3);
  Cn.Init(x1,y1,x2,y2,h);
  Cn.VCone;
  writeln('Volume of cone :',Cn.V:7:3);
  readln;
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 15:14
Помогаю со студенческими работами здесь

Создать абстрактный класс "Треугольник" и производный - "Равнобедренный треугольник"
Задание Создать абстрактный класс треугольник. Предусмотреть в классе методы проверки...

Описать класс "Многочлен" и перегрузку операций для этого класса — сложения, умножения, вычитания
Доброго времени суток)) Как можно описать класс "Многочлен" ну и перегрузку операций для этого...

Описать класс "Фигура" ("Шашка", "Дамка")
1. Класс “фигура”: координаты на шахматной доске, цвет. Метод – “ход” – в одном из двух...

Описать базовый класс "Точка". Производные: "Окружность" и "Правильный треугольник"
Помогите, пожалуйста. Базовый класс «Точка». Классы «Окружность» и «Правильный треугольник»...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru