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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 13:20   #1
SasukeSama
Пользователь
 
Регистрация: 01.05.2012
Сообщений: 19
По умолчанию Расчет угла наколона

Решил сделать программу для расчета параметров угла наклона....делал давненько расчет в маткаде, а как переделать в делфи незнаю...помогите ребят просто даже не плмню как формулы то посчитать простенькие( да там параметры m,n,p,k,q я просто в маткад из таблицы переписывал...а хотелось шоб он сам выбирал))
Изображения
Тип файла: jpg таблица.JPG (116.6 Кб, 130 просмотров)
Вложения
Тип файла: doc угол наклона.doc (75.5 Кб, 15 просмотров)
SasukeSama вне форума Ответить с цитированием
Старый 01.05.2012, 15:46   #2
SasukeSama
Пользователь
 
Регистрация: 01.05.2012
Сообщений: 19
По умолчанию

Начал назначать переменные подумал что реал но...даже скорость не выводит(((
Вложения
Тип файла: rar Прога.rar (168.3 Кб, 11 просмотров)
SasukeSama вне форума Ответить с цитированием
Старый 01.05.2012, 15:52   #3
SasukeSama
Пользователь
 
Регистрация: 01.05.2012
Сообщений: 19
По умолчанию

подскажите хотябы как угол гамма допустим по введенным параметрам мосчитать и вывести
SasukeSama вне форума Ответить с цитированием
Старый 02.05.2012, 11:42   #4
SasukeSama
Пользователь
 
Регистрация: 01.05.2012
Сообщений: 19
По умолчанию

вот поппытался написать но выдкет ошибку где расчет Ве
Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Math;

type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label11: TLabel;
Edit11: TEdit;
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Lp,L,W,Fi,Fi1,S,r,cp,a,V,pi,D:Real;
Gamma,Alfa,t,Eps,Betta,at,bt,a1,b1, b:Real;
Pe,F,X,Y:Real;
m,n,k,p,q,Be:Real;
ka:Real;
implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
pi:=3.1415;
Lp:=27.2; //StrToFloat(Edit1.Text)
L:=33.9; //StrToFloat(Edit2.Text)
W:=StrToFloat(Edit3.Text);
Fi:=StrToFloat(Edit4.Text);
Fi1:=StrToFloat(Edit5.Text);
S:=StrToFloat(Edit6.Text)/1000;
r:=StrToFloat(Edit7.Text)/1000;
V:=StrToFloat(Edit8.Text)*1000/60;
cp:=StrToFloat(Edit9.Text)*1000000;
a:=StrToFloat(Edit10.Text)/1000000;
//D:=StrToFloat(Edit11.Text)/1000;
Gamma:=ArcTan((Sin(W*pi/180)/Cos(W*pi/180))/sin(Fi*pi/180))*180/pi;
Alfa:=ArcTan((Sin(Gamma*pi/180)/Cos(W*pi/180))/sin(Fi*pi/180))*180/pi;
t:=5*S;
Eps:=180-(Fi+Fi1);
Betta:= 180/2-(Alfa+Gamma);
at:=r/t;
bt:=s/(2*r);
a1:=S*Sin(ArcTan((pi/180)*(1/(cotan(Fi*pi/180)+2.2*at*bt))));
b1:=1/(sin(ArcTan((pi/180)*(1/(cotan(Fi*pi/180)+2.2*at*bt)))));
b:=t*((1/sin(Fi*pi/180))+2.2*at*bt);
Pe:=V*a1/a;
F:=(Lp*Betta*Eps*pi*pi)/(L*180*180);
D:=a1/b1;
X:=(F*Power(D,0.3)*Power((1-sin(Gamma*pi/180)),0.25))/Power(Pe,0.5);
Y:=(F*Power(D,0.3))/(Pe*Power((1-sin(Gamma*pi/180)),0.4));
if (Pe<=10) and (X<=0.03) then begin
m:=0.18; n:=0.23; k:=-0.13; p:=-0.04; q:=1.47; end;
if (Pe<=10) and (X<=0.45) and (Y<=0.665) then begin
m:=0.09; n:=0.4; k:=0.03; p:=0.01; q:=1.6; end;
if (Pe<=10) and (X<=0.45) and (Y>0.665) then begin
m:=0.01; n:=1.51; k:=0.88; p:=0.26; q:=2.4; end;
if (Pe<=10) and (X>0.45) and (Y<=0.665) then begin
m:=0.08; n:=0.51; k:=0.26; p:=0.08; q:=1.66; end;
if (Pe<=10) and (X>0.45) and (Y>0.665) then begin
m:=0.0066; n:=1.7; k:=1.26; p:=0.38; q:=2.5; end;

if (Pe>10) and (Pe<=50) and (X<=0.03) then begin
m:=0.2; n:=0.13; k:=-0.04; p:=-0.12; q:=1.27; end;
if (Pe>10) and (Pe<=50) and (X<=0.45) and (Y<=0.665) then begin
m:=0.11; n:=0.28; k:=0.12; p:=0.03; q:=1.35; end;
if (Pe>10) and (Pe<=50) and (X<=0.45) and (Y>0.665) then begin
m:=0.018; n:=1.18; k:=0.91; p:=0.26; q:=1.92; end;
if (Pe>10) and (Pe<=50) and (X>0.45) and (Y<=0.665) then begin
m:=0.095; n:=0.39; k:=0.33; p:=0.09; q:=1.43; end;
if (Pe>10) and (Pe<=50) and (X>0.45) and (Y>0.665) then begin
m:=0.0135; n:=1.35; k:=1.25; p:=0.36; q:=2; end;

if (Pe>50) and (Pe<=120) and (X<=0.03) then begin
m:=0.56; n:=-0.06; k:=-0.03; p:=-0.01; q:=1.02; end;
if (Pe>50) and (Pe<=120) and (X<=0.45) and (Y<=0.665) then begin
m:=0.37; n:=0.05; k:=0.09; p:=0.03; q:=1.08; end;
if (Pe>50) and (Pe<=120) and (X<=0.45) and (Y>0.665) then begin
m:=0.018; n:=0.56; k:=0.64; p:=0.18; q:=1.33; end;
if (Pe>50) and (Pe<=120) and (X>0.45) and (Y<=0.665) then begin
m:=0.33; n:=0.13; k:=0.26; p:=0.08; q:=1.12; end;
if (Pe>50) and (Pe<=120) and (X>0.45) and (Y>0.665) then begin
m:=0.15; n:=0.68; k:=0.87; p:=0.25; q:=1.4; end;

if (Pe>120) and (X<=0.03) then begin
m:=0.8; n:=-0.14; k:=-0.03; p:=-0.01; q:=0.95; end;
if (Pe>120) and (X<=0.45) and (Y<=0.665) then begin
m:=0.56; n:=-0.06; k:=0.09; p:=0.03; q:=1; end;
if (Pe>120) and (X<=0.45) and (Y>0.665) then begin
m:=0.35; n:=0.36; k:=0.56; p:=0.16; q:=1.2; end;
if (Pe>120) and (X>0.45) and (Y<=0.665) then begin
m:=0.51; n:=0.02; k:=0.023; p:=0.07; q:=1.04; end;
if (Pe>120) and (X>0.45) and (Y>0.665) then begin
m:=0.3; n:=0.47; k:=0.76; p:=0.23; q:=1.25; end;

Be:=(m*Power(Pe,n))/(Power(F,k)*Power(D,p)*Power(1-sin(Gamma*pi/180),q)));
ka:=(cos(Gamma*pi/180)/B)+sin(Gamma*pi/180);

end;
end.
а ошибки вот такие
[Error] Unit1.pas(127): 'END' expected but ')' found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
и вывод пока сделать не могу чето((
SasukeSama вне форума Ответить с цитированием
Старый 02.05.2012, 12:04   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ошибка что говорит? END ожидалось, но встретилась ). Где-то забыли точку с запятой, или непарные begin end, или что-то еще в таком духе. Кстати StrToFloat от текстового поля - возможный источник ошибок времени выполнения. Уверены, что в Edit-ах всегда будут допустимые данные? Лучше TryStrToFloat
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 02.05.2012, 12:08   #6
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

127 строка тут это какая?
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 12:10   #7
SasukeSama
Пользователь
 
Регистрация: 01.05.2012
Сообщений: 19
По умолчанию

Be:=(m*Power(Pe,n))/(Power(F,k)*Power(D,p)*Power(1-sin(Gamma*pi/180),q)));
это 127 строка
SasukeSama вне форума Ответить с цитированием
Старый 02.05.2012, 12:18   #8
SasukeSama
Пользователь
 
Регистрация: 01.05.2012
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ошибка что говорит? END ожидалось, но встретилась ). Где-то забыли точку с запятой, или непарные begin end, или что-то еще в таком духе. Кстати StrToFloat от текстового поля - возможный источник ошибок времени выполнения. Уверены, что в Edit-ах всегда будут допустимые данные? Лучше TryStrToFloat
если меняю StrToFloat на TryStrToFloat то сразу куча ошибок((
Цитата:
[Error] Unit1.pas(59): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(60): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(61): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(62): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(63): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(64): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(65): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
[Error] Unit1.pas(66): There is no overloaded version of 'TryStrToFloat' that can be called with these arguments
SasukeSama вне форума Ответить с цитированием
Старый 02.05.2012, 12:19   #9
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Арифметику изучали? Посчитайте (можно в "столбик") кол-во "(" и кол-во ")", должны совпадать.
=master= вне форума Ответить с цитированием
Старый 02.05.2012, 12:25   #10
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Цитата:
[Error] Unit1.pas(127): 'END' expected but ')' found
Грит, что кол-во открывающих скобок не равно кол-ву закрывающих.
Уберите одну последнюю скобку.
UPD: О, меня опередили.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан тангенс половины угла а . Если а<= 0,5 рад, то вычислить значения синуса и косинуса полного угла a . Если a >0,5 рад, то выч Elizz Помощь студентам 1 07.04.2012 02:02
Найти расстояние от верхнего левого угла до правого нижнего угла матрицы iMisha Паскаль, Turbo Pascal, PascalABC.NET 3 03.04.2012 22:19
Расчет дирекционного угла в StringGrid Multiman Помощь студентам 7 28.09.2011 14:11
Вычисление угла Fazotron Microsoft Office Excel 4 20.10.2010 21:00
Расчет угла поворота evg08 Помощь студентам 3 24.09.2010 23:34