Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 56
1

Коментарий

19.12.2009, 11:49. Показов 505. Ответов 2
Метки нет (Все метки)

Прокоментируйте, пожалуйста, программу с использованием объектов (наследование), останавливаясь лишь на важных аспектах наследования. Программа выполняет действия (сложение, вычитание, скалярное и векторное произведение) с векторами.
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
uses
  crt;
type
  TVector=object
            private
              x,y:real;
            public
              procedure Init(x1,x2,y1,y2:real);
              procedure SetVector(valueX,valueY:real);
              procedure GetVector(var valueX:real;var valueY:real);
              function length:real;
          end;
  TOperation=object
               private
                 vector1,vector2:TVector;
               public
                 procedure SetVectors(valueVector1,valueVector2:TVector);
             end;
  TOperationAdd=object(TOperation)
                  procedure Add(var result:TVector);
                end;
  TOperationSub=object(TOperation)
                  procedure Sub(var result:TVector);
                end;
  TOperationMulScalyar=object(TOperation)
                         function MulScalyar:real;
                       end;
  TOperationMulVector=object(TOperation)
                        function MulVector:real;
                      end;
procedure TVector.Init(x1,x2,y1,y2:real);
  begin
    x:=x2-x1;
    y:=y2-y1;
  end;
procedure TVector.SetVector(valueX,valueY:real);
  begin
    x:=valueX;
    y:=valueY;
  end;
procedure TVector.GetVector(var valueX:real;var valueY:real);
  begin
    valueX:=x;
    valueY:=y;
  end;
function TVector.length:real;
  begin
    length:=sqrt(sqr(x)+sqr(y));
  end;
procedure TOperation.SetVectors(valueVector1,valueVector2:TVector);
  begin
    vector1:=valueVector1;
    vector2:=valueVector2;
  end;
procedure TOperationAdd.Add(var result:TVector);
  var
    vectorX1,vectorX2,vectorY1,vectorY2:real;
  begin
    vector1.GetVector(vectorX1,VectorY1);
    vector2.GetVector(vectorX2,VectorY2);
    result.SetVector(vectorX1+vectorX2,vectorY1+vectorY2);
  end;
procedure TOperationSub.Sub(var result:TVector);
  var
    vectorX1,vectorX2,vectorY1,vectorY2:real;
  begin
    vector1.GetVector(vectorX1,VectorY1);
    vector2.GetVector(vectorX2,VectorY2);
    result.SetVector(vectorX2-vectorX1,vectorY2-vectorY1);
  end;
function TOperationMulScalyar.MulScalyar:real;
  var
    vectorX1,vectorX2,vectorY1,vectorY2:real;
  begin
    vector1.GetVector(vectorX1,VectorX2);
    vector2.GetVector(vectorX2,VectorY2);
    MulScalyar:=vectorX1*vectorX2+vectorY1*vectorY2;
  end;
function TOperationMulVector.MulVector:real;
  var
    scalar, valueCos:real;
    MulScalyar      :TOperationMulScalyar;
  begin
    MulScalyar.SetVectors(vector1,vector2);
    scalar:=MulScalyar.MulScalyar;
    valueCos:=scalar/(vector1.length*vector2.length);
    MulVector:=2*scalar*valueCos;
  end;
var
  x,y,x1,x2,y1,y2       :real;
  vector1,vector2,result:TVector;
  operationAdd          :TOperationAdd;
  operationSub          :TOperationSub;
  operationMulScalyar   :TOperationMulScalyar;
  operationMulVector    :TOperationMulVector;
  mulScalyar,mulVector  :real;
begin
  clrscr;
  randomize;
  x1:=random(10);
  x2:=random(10);
  y1:=random(10);
  y2:=random(10);
  vector1.Init(x1,x2,y1,y2);
  vector1.GetVector(x,y);
  writeln('A(',x1:1:0,',',y1:1:0,'); B(',x2:1:0,',',y2:1:0,'); AB(',x:1:0,',',y:1:0,')');
  x1:=random(10);
  x2:=random(10);
  y1:=random(10);
  y2:=random(10);
  vector2.Init(x1,x2,y1,y2);
  vector2.GetVector(x,y);
  writeln('C(',x1:1:0,',',y1:1:0,'); D(',x2:1:0,',',y2:1:0,'); CD(',x:1:0,',',y:1:0,')');
  operationAdd.SetVectors(vector1,vector2);
  operationAdd.Add(result);
  result.GetVector(x,y);
  writeln('Add: (',x:2:0,',',y:2:0,')');
  operationSub.SetVectors(vector1,vector2);
  operationSub.Sub(result);
  result.GetVector(x,y);
  writeln('Sub: (',x:2:0,',',y:2:0,')');
  operationMulScalyar.SetVectors(vector1,vector2);
  MulScalyar:=operationMulScalyar.MulScalyar;
  writeln('Mul. Scalyar: ',mulScalyar:5:2);
  operationMulVector.SetVectors(vector1,vector2);
  MulVector:=operationMulVector.MulVector;
  writeln('Mul. Vector: ',mulVector:5:2);
  readkey;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2009, 11:49
Ответы с готовыми решениями:

коментарий к проге
плиз откоментируйте прогу!!!!!!!!!;)

коментарий к телу программы 2
помогите пожалуйста. uses crt; const n=5;m=4; var a:array of integer; s:array of integer;...

В начало строки, в которой распологается процедура "Close", дописать коментарий
дан текстовый файл. преобразовать файл следующим образом. в начало строки, в которой распологается...

коментарий к joomla 3.0
Добрый день! Подскажите пожалуйста как добавить Комментарии к материалам для joomla 3.0 если такой...

2
3306 / 1368 / 110
Регистрация: 28.04.2009
Сообщений: 4,822
19.12.2009, 12:17 2
программу не Вы похоже писали??
0
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 56
19.12.2009, 13:51  [ТС] 3
да

Добавлено через 1 час 22 минуты
Каким значком в блок-схеме обозначается объект?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2009, 13:51

коментарий к коду
помогите пожалуйста закоментить программу

Многострочный коментарий
У меня сейчас примерно так: $cText = nl2br($_POST); if (empty($cText)) die("Вы забыли написать...

коментарий к коду..
Помогите пожалуйста у меня есть программа вот она: #include <iostream> int rev(int rhs) {...

коментарий к телу программы
здраствуйте помогите пожалуйста с коментариями. #include <iostream> #include <cstdlib> #include...

Коментарий под фоткой
Незнаю как можно сделать форму под фоткай для отправки коментов без БД а с помощью записи и чтения ...

Коментарий в Excell и Memo
Добрый день, Подскажите пожалуйста с помощью какой функции можно перенести содержимое из...


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

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

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