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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2011, 15:11   #1
Botishe
 
Регистрация: 25.03.2011
Сообщений: 5
По умолчанию Delphi 7. Вычитание, деление.

Вот задание

Пытаюсь решить след образом.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,d,e,n,h,i,j,k,l,m,F,P,O,V,W,q,s,g,u,x,y,z,real:
begin
x*y:=a;
y*z:=b;
x*z:=c;
if a<b then
P:=a;
else
P:=b;
if P<c then
q:=P
else
q:=c
end;

x*x*y:=d;
y*y*z:=e;
z*z*x:=n;
if d>e then
O:=d;
else
O:=e;
if O>n then.
s:=O;
else
s:=n
end;

x-y:=h;
y-z:=i;
z-x:=j;
if h>i then
V:=d;
else
V:=e;
if V>n then.
g:=V;
else
g:=n
end;

x+y:=k;
y+z:=l;
x+z:=m;
if k<l then
W:=a;
else
W:=b;
if W<c then
u:=W
else
u:=c
end;
Получается (Q-S)/G-U=F
Вопрос: Как выполнить вычитание и деление? Искал здесь,но безрезультатно =\

P.S. Также был бы признателен, если ктото поможет решить вот это
http://s1.ipicture.ru/uploads/20110316/E6fXBwh2.jpg ,ссылку выложу так дабы не разрывать форум.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.03.2011 в 15:18.
Botishe вне форума Ответить с цитированием
Старый 25.03.2011, 15:46   #2
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ёперный театр... Всё проще
Код:
Function Max(a,b,c:Integer):Integer;
Begin
        If a > b Then
           If a > c Then Result:=a 
                Else Result:=C
        Else
          If b > c Then
               Result:=b
               Else Result:=c
End;

Function Min(a,b,c:Integer):Integer;
Begin
        If a < b then
            If a < c Then Result:=a
                 Else Result:=c
        Else 
            If b  < c Then Result:=b
             Else Result:=c;
End;
Var
      x,y,z,t:Integer;
Begin
         Readln(x,y,z);
         t:=(Min(x*y,x*z,y*z)-Max(x*x*y,y*y*z,z*z*x));
         t:=t/(Max(x-y,y-z,z-x)-Min(x+y,y+z,z+x);
         Writeln(t);
         Readln;
End.
_-Re@l-_ вне форума Ответить с цитированием
Старый 29.03.2011, 13:21   #3
Botishe
 
Регистрация: 25.03.2011
Сообщений: 5
По умолчанию

Cпасибо, вроде разобрался.
Еще один вопрос не поможете решить?
http://s1.ipicture.ru/uploads/20110316/E6fXBwh2.jpg
Не совсем понимаю с чего начать
Botishe вне форума Ответить с цитированием
Старый 29.03.2011, 15:01   #4
Botishe
 
Регистрация: 25.03.2011
Сообщений: 5
По умолчанию

В данный момент возник вопрос, делаю след задание (Программа должна вычислять площадь квадрата, вписанного в окружность, вписанной в прямоугольный равнобедренный треугольник с боковой стороной А)

Код:
var
  Form1: TForm1;
  a,b,r:extended;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
a:= (Edit1.Text);
b:= (Edit2.Text);
r:= b/2sqrt((2a-b)/(2a+b));
end;

end.
Формула (Rх2sqr2)/2. Иными словами Диаметр круга возвести в квадрат и разделить все это на 2, получается площадь нужного мне квадрата.
Но до этого надо найти R, радиус круга. По формуле это R=b/2sqrt((2a-b)/(2a+b))
тоесть b (сторона равнобедренного треугольника), а (Одна из 2ух одинаковых сторон равнобедренного треугольника).

Вот картинка для наглядности

Что я делаю не так? Алгоритм решения мне понятен, но вот как записать это все на делфи чтото не выходит

Последний раз редактировалось Botishe; 29.03.2011 в 15:15.
Botishe вне форума Ответить с цитированием
Старый 29.03.2011, 15:33   #5
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

1. StrToFloat - Функция Преобразует строку в число
2. 2sqrt, 2a - это переменные ?
3. В каком порядке выполняются арифметические выражения? Если не знаете, - скобки не помешают...
Похоже сначала надо прочитать несколько первых страниц учебника... Например http://www.rsdn.ru/article/Delphi/Delphi_7_02.xml

Последний раз редактировалось OlegVE; 29.03.2011 в 15:38.
OlegVE вне форума Ответить с цитированием
Старый 29.03.2011, 17:30   #6
Botishe
 
Регистрация: 25.03.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от OlegVE Посмотреть сообщение
1. StrToFloat - Функция Преобразует строку в число
2. 2sqrt, 2a - это переменные ?
3. В каком порядке выполняются арифметические выражения? Если не знаете, - скобки не помешают...
Похоже сначала надо прочитать несколько первых страниц учебника... Например http://www.rsdn.ru/article/Delphi/Delphi_7_02.xml
Cпасибо конечно за учебник, посмотрю, но если б вы внимательно читали суть вопроса то
Код:
2sqrt, 2a -  это переменные?
не спрашивали бы. Там есть картинка с уравнением. Сначала Правое уравнение(По нему находим Радиус круга), затем Левое уравнение(По нему находим Площадь квадрата, что и требуется в задаче)



Код:
var
  Form1: TForm1;
  a,b,r,S:real;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
a:= StrToFloat(Edit1.Text);
b:= StrToFloat(Edit2.Text);
r:= b/2 sqrt((2a-b)/(2a+b));
S:= ((r*2)sqr2)/2
end;

end.
Выдает ошибку на строке r:=
Missing operator or semicolon.

Последний раз редактировалось Botishe; 29.03.2011 в 17:39.
Botishe вне форума Ответить с цитированием
Старый 29.03.2011, 18:17   #7
Яська
Пользователь
 
Регистрация: 09.01.2009
Сообщений: 50
По умолчанию

после b/2 вы пропустили значок умножения, поэтому выдаёт ошибку, что требуется опреатор либо знак. такая же ошибка будет у вас и в следующей строке
Яська вне форума Ответить с цитированием
Старый 29.03.2011, 18:51   #8
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Цитата:
Сообщение от Яська Посмотреть сообщение
после b/2 вы пропустили значок умножения, поэтому выдаёт ошибку, что требуется опреатор либо знак. такая же ошибка будет у вас и в следующей строке
Яська, зря Вы старались, он многое чего упустил и не только в том месте в котором Вы указали. И упустит ещё больше, если будет хамить. Если он дошел до
Цитата:
Выдает ошибку на строке r:=
Missing operator or semicolon.
и продолжает утверждать, что знает азы...
До завтра.
OlegVE вне форума Ответить с цитированием
Старый 29.03.2011, 19:54   #9
Botishe
 
Регистрация: 25.03.2011
Сообщений: 5
По умолчанию

Я и не утверждал что знаю азы.

Botishe вне форума Ответить с цитированием
Старый 29.03.2011, 21:50   #10
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Вы прямо изголяетесь, как можете... Вам сказали - нужен знак умножения в стороке "2sqrt" , Вы его благопоучно поставили, теперь тоже самое, только сторока "2a", угадайте, где надо поставить знак умножения ?
а sqr*2 вообще картина "апофеоз войны", sqr это функция, дельфи обэтом прямо говорит, когда наводите на неё мышку, и показывает , что параметр функции - число, значит нужны скобки и в них число/переменная, а Вы непостижимым образом умножаете на 2. Запомните , пожалуйста, запись в тетради, где опускаются некоторые знаки, которые и так понятны, нельзя переложить в код, там везде нужны знаки, и более того, ещё и скобки.
Правильно записать будет sqr(2*r)/2

И главное - учитесь читать контектсную справку (автодполнение кода и показ подсказок) и обычную справку, F1 которая.

И выучите, наконец, азы, самому же меньше стыдно будет
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi 7 + Windows Vista & 7: обработка исключений "деление на 0" (и др. мат. ошибок) Dima DD Общие вопросы Delphi 11 22.12.2010 20:14
Деление целых чисел(dw) через вычитание Alex1991 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 12.11.2010 14:50
ВЫчитание, умножение и деление массивов на С++ Flood Помощь студентам 2 15.05.2010 16:54
Сложение, вычитание, деление, умножение в Turbo Debugger GaJIbI4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 08.03.2010 15:23
Вычитание avnsanto Microsoft Office Excel 0 24.07.2009 02:33