Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 9
1

Работа с подпрограммами

04.04.2013, 18:49. Просмотров 352. Ответов 2
Метки нет (Все метки)

Я не давно начал работать с delphi и пока не совсем понимаю, как добавить считывание x1-y3 и как выводить на экран стороны a,b,c. Это не мой код, программа была написана для паскаля, взял отсюда, поэтому я в нем не совсем разбираюсь.Вот так звучит задание: Написать программу вычисления длин сторон, углов, площади, радиусов вписан-ной и описанной окружностей для треугольника, заданного координатами вершин на плоскости в декартовых или полярных координатах. Использовать структуру данных запись с вариантами.
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
type
  treug = record
a,b,c : real;
x1,x2,x3,y1,y2,y3 : real;
S,P : real;
end;
 
 
procedure createTreug(var T : treug);
 begin
 with T do
  begin
  x1:=32;
  x2:=4;
  x3:=-5;
  y1:=71;
  y2:=8;
  y3:=-9;
 a := 0;
 b := 0;
 c := 0;
  end;
 end;
 
function storony(var T : treug) : boolean;
 begin
 if (T.x1 = T.x2) and (T.x2 = T.x3) and (T.x1 = 0) then
   begin
   storony := false;
   exit;
   end;
 with T do
  begin
  a := sqrt(sqr(x2-x1)+sqr(y2-y1));
  b := sqrt(sqr(x3-x2)+sqr(y3-y2));
  c := sqrt(sqr(x3-x1)+sqr(y3-y1));
  storony := true;
  end;
 storony := false;
  end;
 
function getPlosh(var T : treug) : real;
 var cp : real;
 begin
 if (T.a = T.b) and (T.a = 0) then storony(T);
 with T do
  begin
  cp := (a+b+c)/2;
  S := sqrt(cp*(cp-a)*(cp-b)*(cp-c));
  end;
 getPlosh := T.S;
 end;
 
function getPerimetr(var T : treug) : real;
 begin
 if (T.a = T.b) and (T.a = 0) then storony(T);
 with T do
  begin
  P := a+b+c;
  getPerimetr := P;
  end;
 end;
 
function radOpis(var T : treug) : real;
 var R,rS : real;
 begin
 rS := getPlosh(T);
 R := T.a*T.b*T.c/(4*rS);
 radOpis := R;
 end;
 
function radVpis(var T : treug) : real;
 var r,rS,rP : real;
 begin
 rS := getPlosh(T);
 rP := getPerimetr(T);
 r := 2*rS/rP;
 radVpis := r;
 end;
 
function treugExist(var T : treug) : boolean;
 begin
 if (T.a = T.b) and (T.a = 0) then storony(T);
 if (T.a=0) or (T.b=0) or (T.c=0) then treugExist := false
 else treugExist := true;
 
 end;
 
 
 
procedure TForm1.Button1Click(Sender: TObject);
var Tr1 : treug;
 
begin
createTreug(Tr1);
 
 
if not treugExist(Tr1) then
    MessageDlg('Треугольник не существует ',mtInformation,[mbOk],0);
edit12.Text:=FloatToStr(getPerimetr(Tr1));
edit13.Text:=FloatToStr(getPlosh(Tr1)) ;
edit14.Text:=FloatToStr(radVpis(Tr1));
edit15.Text:=FloatToStr(radOpis(Tr1));
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2013, 18:49
Ответы с готовыми решениями:

Работа с подпрограммами
Пожалуйста помогите переделать Код под Графический интерфейс ... Зарание спасибо !!! const...

Работа с подпрограммами
Доброго времени суток. Очень нужна помощь с программой на ассемблере. Сама задача звучит так:...

Работа с подпрограммами
Всем привет. Делал пример из книги и что то ничего не получается. По идее по нажатию кнопки должно...

Работа с подпрограммами
Не могу понять почему работает неправильно, Помогите! #include<conio.h> #include<stdio.h>...

2
2645 / 2268 / 278
Регистрация: 24.12.2010
Сообщений: 13,725
04.04.2013, 22:32 2
Цитата Сообщение от Lgfunn Посмотреть сообщение
я в нем не совсем разбираюсь
И если тебе кто-то "добавит", то ты сразу разберешься, так ведь ?
То есть не разбирался и не собирался разбираться, а тут тебе "добавили" - и на тебя тут же снизойдет благодать .. препод аж прослезится от умиления..
Верно ?
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 9
04.04.2013, 22:40  [ТС] 3
Цитата Сообщение от mss Посмотреть сообщение
И если тебе кто-то "добавит", то ты сразу разберешься, так ведь ?
То есть не разбирался и не собирался разбираться, а тут тебе "добавили" - и на тебя тут же снизойдет благодать .. препод аж прослезится от умиления..
Верно ?
Не верно, я попросил помощи потому что не смог в этом разобраться сам, я несколько дней пытаюсь понять, если бы это было в моих силах я бы не стал опускаться и просить помощи зазнавшихся людей, которым легче написать, что у меня руки растут не из того места, чем помочь полноценно. Мне не нужна завершенная программа, я лишь просил 2 вещи и полностью объяснил всю суть проблемы.
P.S. Прошу прощения, если обидел.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2013, 22:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Работа с подпрограммами
Используя подпрограммы, создать и вывести массив y с элементами yk=fi+1(k), де k=1,12, i- номер...

Работа с подпрограммами - функциями
Составить программу вычисления значения выражения используя способы программирования с созданием...

Работа с сопрограммами и подпрограммами на других языках
Подскажите есть ли в стандартах std или иные кросплатформенные методы работы с сопрограммами и...

Задача с подпрограммами
Из массива удалить элемент, стоящий перед максимальным элементом, а затем вставить заданное число...

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

Массив с подпрограммами
Помогите с программой. Лабораторная №2. Найти наибольший и наименьший элемент в заданном массиве....


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

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

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