Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Маратбек
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 1
#1

Перевести с pascal на C++ - C++

30.04.2014, 14:02. Просмотров 270. Ответов 0
Метки нет (Все метки)

СРОЧНО!!! ПОЖАЛУЙСТА!!!! Пусть имеется родительский объектный тип «выпуклый четырехугольник» (поля типа «координаты вершин, заданные в порядке их обхода») и типы, им порожденные: параллелограмм, ромб, квадрат

Описать для указанных фигур методы «вычисление углов» (в градусах), «вычисление диагоналей», «вычисление длин сторон», «вычисление периметра», «вычисление площади».
Type BaseType=Double;


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
FourAngle=Object
x1,y1,x2,y2,x3,y3,x4,y4,
A, B,C, D,D1,D2,
Alpha, Beta, Gamma, Delta,
P, S: BaseType;
Procedure Init;
Procedure Storony;
Procedure Diagonali;
Procedure Angles;
Procedure Perimetr;
Procedure Ploshad;
Procedure PrintElements;
End;
Parall=Object(FourAngie)
Procedure Storony;
Procedure Perimetr;
Procedure Ploshad;
End;
Romb=0bject(Parall)
Procedure Storony;
Procedure Perimetr;
End;
Kvadrat=0bject(Romb)
Procedure Angles;
Procedure Ploshad;
End;
Procedure FourAngie. Init;
Begin
Write ('Введите координаты вершин заданного четырехугольника:');
ReadLn(x1, y1, х2, у2, х3, у3, х4, у4);
End;
Procedure FourAngie. Storony;
Begin A:=Sqrt(Sqr(x2-xl)+Sqr(y2-yl));
B:=Sqrt(Sqr(x3-x2)+Sqr(y3-y2));
C:=Sqrt(Sqr(x4-x3)+Sqr(y4-y3));
D:=Sqrt(Sqr(x4-xl)+Sqr(y4-yl));
End;
Procedure FourAngle. Diagonali;
Begin
Dl:=Sqrt(Sqr(xl-x3)+Sqr(yl-y3));
D2:=Sqrt(Sqr(x2-x4)+Sqr(y2-y4));
End;
Procedure FourAngle. Angles;
Function Ugol(Aa, Bb, Cc: BaseType):
BaseType;
Var VspCos, VspSin: BaseType;
Begin
VspCos:=(Sqr(Aa)+Sqr(Bb)-Sqr(Cc))/(2*Aa*Bb);
VspSin:=Sqrt(1-Sqr(VspCos));
If Abs(VspCos)>le-7
Then Ugol:=(ArcTan(VspSin/VspCos) +Pi*Ord(VspCos<0))/Pi*180
Else Ugol:=90
End;
Begin Alpha:=Ugol(D, A,D2);Beta:=Ugol(A, B,Dl);Gamina:=Ugol(B, C,D2); Delta: =Ugol (C, D, Dl);
End;
Procedure FourAngle. Perimetr;
Begin P:=A+B+C+D End;
Procedure FourAngle. Ploshad;
Var Peri, Per2: BaseType;
Begin Perl:=(A+D+D2)/2; Per2:=(B+C+D1)/2;
S:=Sqrt(Perl*(Perl-A)*(Perl-D)*(Perl-D2)) + Sqrt(Per2*(Per2-B)*(Per2-C)*(Per2-Dl))
End;
Procedure FourAngle. PrintElements;
Begin
WriteLn('Стороны:',A:10:6,В:10:6,С:10:6,D:10:6,'Углы:',Alpha:10:4,Beta:10:4,Gamma:10:4,Delta:10:4,'Периметр:',Р:10:6,'Площадь:',S:10:6,'Диагонали:', D1:10:6,D2:10:6)
End;
Procedure Parall. Storony;
Begin A:=Sqrt(Sqr(x2-xl)+Sqr(y2-yl));
B:=Sqrt(Sqr(x3-x2)+Sqr(y3-y2)) ;
C:=A; D:=B
End;
Procedure Parall. Perimetr;
Begin P:=2*(A+B) End;
Procedure Parall. Ploshad;
Var Per: BaseType;
Begin Per:=(A+D+D2)/2;
S:=2*Sqrt(Per*(Per-A)*(Per-D)*(Per-D2))
End ;
Procedure Romb. Storony;
Begin
A:=Sqrt(Sqr(x2-xl)+Sqr(y2-yl));
B:=A; C:=A; D:=A
End;
Procedure Romb. Perimetr ;
Begin P:=2*A End;
Procedure Kvadrat. Angles;
Begin Alpha:=90; Beta:=90; Gamma:=90; Delta:=90;
End;
Procedure Kvadrat. Ploshad;
Begin S:=Sqr(A)
End;
{Основная программа}
Var obj: Kvadrat ;
Begin
obj. Init;
obj. Storony;
obj. Diagonali;
obj. Angles;
obj. Perimetr;
obj. Ploshad;
obj. PrintElements
End.
Если можно хоть половину !!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2014, 14:02     Перевести с pascal на C++
Посмотрите здесь:

Перевести с Pascal на С++ - C++
помогите пожалуйста с переводом на язык с++ Procedure ReadLong(Var A : Tlong); Var ch : char; i : Integer; Begin FillChar(A,...

Перевести с pascal на с++ - C++
uses crt; var i_put,o_put:string; i,s_ch,n:byte; flag:boolean; Begin ClrScr; writeln('Vvedite stroku:'); ...

Перевести с pascal на С++ - C++
const n=30; var c,a:array of integer; i,k,max:integer; begin {ввод массива c} for i:=1 to n do read(c); ...

Перевести с Pascal в С++ - C++
var a,b:string; c,d,i:integer; begin readln(a); for i:=1 to pos(' ',a) do delete(a,1,1); for i:= length(a) downto pos(' ',a)...

Перевести из PASCAL в С++ - C++
переведите пожалуйста Var f:text; s,s1:string; i:byte; Begin Assign(f,'D:\in.txt');Reset(f); While not...

Перевести с Pascal на C++ - C++
Перевести с Pascal на C++ Var i,j,n : Longint; Fl : Boolean; Begin For n:=5 to 100 do Begin fl:=false;

Перевести на C++ из Pascal - C++
Буду очень рад тому, кто переведет из Pascal на C++ :) procedure ChangeToInc(var st:string); var f:boolean; begin f:=true;...

Перевести с pascal в C++ - C++
Помогите кто знает, вот код program pop; uses crt; label 10; var y,xn,xk,dx:real; begin clrscr; xn:=6;

Перевести из Pascal в С++ - C++
Помогите перевести программу на C++ Исходник Pascal: Program Posled; Uses winCRT; Var Eps, AOld, ANew : Real; N : Integer;...

Перевести из Pascal в С++ - C++
Заранее благодарен var s, a, x :real;i,j, fac: integer; begin cls; readln(x); begin for j:=1 to 15 do fac:=fac*(j*2+1); ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru