Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.25;
Скачать: CL | DM;

Вниз

Цикл   Найти похожие ветки 

 
holodok   (2008-05-02 12:43) [0]

Доброе время суток! Подскажите, плиз - изначально задается некий диапазон, к примеру 280-288. Программа должна перебрать все эти 8 значений и для каждого вычислить по определенной формуле значение x. К сожалению, не обладаю глубокими знаниями в этой области, а решить задачу очень надо!


 
Игорь Шевченко ©   (2008-05-02 12:47) [1]

Книгу по паскалю почитать не судьба ?


 
Kolan ©   (2008-05-02 12:52) [2]

var
 I: Integer;
begin
 for I := 280 to 288 do
   <для каждого вычислить по определенной формуле значение x>
end;


 
Palladin ©   (2008-05-02 13:05) [3]


> Игорь Шевченко ©   (02.05.08 12:47) [1]

ныне это не модно...


 
holodok   (2008-05-02 13:06) [4]

большое спасибо!
а если значение x - числа того же самого диапазона от 280 до 288, тогда как?


 
Anatoly Podgoretsky ©   (2008-05-02 13:11) [5]

А какой из девяти она не должна трогать?


 
holodok   (2008-05-02 13:17) [6]

Просто вот что у меня получается:

a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.Text);

   for i := a to b do
   begin
         y:=0.0095*48*sqrt(   )-0.0035;
Form2.StringGrid3.Cells[0,i]:=floattostr(y[i]);

end;

в скобках после корня должны быть по очереди все значения от а до b...
Был бы очень признателен, если бы вы мне подсказали как как именно это написать!


 
Kolan ©   (2008-05-02 13:24) [7]

y:=0.0095*48*sqrt(I)-0.0035;


 
holodok   (2008-05-02 13:43) [8]

Спасибо!
Только компилятор ругается на эту строчку:

Project Project.exe raised exception class EAccessViolation with message "Access Violation at adress ....... in module Project Project.exe". Process stoped...
Не подскажете, что нужно?


 
Игорь Шевченко ©   (2008-05-02 13:52) [9]


> Только компилятор ругается на эту строчку:


Больно слышать


 
holodok   (2008-05-02 13:54) [10]

Я же сказал - знания в этой области оставляют желать лучшего...
Спасибо за помощь


 
{RASkov} ©   (2008-05-02 13:56) [11]

> [8] holodok   (02.05.08 13:43)
> Только компилятор ругается на эту строчку:

И правильно делает. В виду того, что в
> [6] holodok   (02.05.08 13:17)

не код, а сплошная ошибка....


 
{RASkov} ©   (2008-05-02 13:56) [12]

> [10] holodok   (02.05.08 13:54)
> Я же сказал - знания в этой области оставляют желать лучшего...

Это дело, надеюсь, попровимое?


 
Kolan ©   (2008-05-02 13:58) [13]

> Я же сказал &#151; знания в этой области оставляют желать лучшего&#133

Не, все, иду читай:
http://www.ksoftware.ru/files/books/Delphi/Delphi5_DevelopersGuide_Volume_1(rus).pdf


 
holodok   (2008-05-02 14:02) [14]

И ведь пошел читать-то...Тока ссылка не рабочая... :(


 
Kolan ©   (2008-05-02 14:04) [15]

> И ведь пошел читать-то&#133Тока ссылка не рабочая&#133 :(

Скопируй её целиком


 
Anatoly Podgoretsky ©   (2008-05-02 14:04) [16]

Мы еще и Интернетом не умеем пользоваться.
Ссылка рабочая.


 
Anatoly Podgoretsky ©   (2008-05-02 14:05) [17]


> Скопируй её целиком

А это как, где об этом можно прочитать?


 
Kolan ©   (2008-05-02 14:07) [18]

> А это как, где об этом можно прочитать?

В исходниких кривого алгоритма поиска ссылок на форуме?


 
holodok   (2008-05-02 14:15) [19]

Спасибо. Почитал, исправил кое-какие ошибки, получилось это:

procedure TForm1.N2Click(Sender: TObject);
Var a,b:integer;
i:integer;
y:array[0..50] of double;
begin
a:=strtoint(Edit1.Text);
b:=strtoint(Edit2.Text);

   for i := a to b do
   begin
         y[i]:=0.0095*48*sqrt(i)-0.0035;
Form2.StringGrid1.Cells[0,i]:=floattostr(y[i]);
end;
end;

Результат такой же. Если не сложно, намекните почему
> не код, а сплошная ошибка....


 
Плохиш ©   (2008-05-02 14:46) [20]


> Если не сложно, намекните почему

Намекаю, обращения по ссылке неизвестно куда.

PS. Нафига оно тебе это программирование нужно?


 
Anatoly Podgoretsky ©   (2008-05-02 16:10) [21]

> Плохиш  (02.05.2008 14:46:20)  [20]

Ты что, там же такие бабки можно зарабатывать, даже пальцем шевелить не нужно.


 
{RASkov} ©   (2008-05-02 17:02) [22]

> [19] holodok   (02.05.08 14:15)
> Результат такой же. Если не сложно, намекните почему

Введи в Эдит1 значение "1", а во второй эдит - "4"
Тыж не менял свойства стринггрида в ИО и в программе, так ведь?


 
Игорь Шевченко ©   (2008-05-02 17:19) [23]


> a:=strtoint(Edit1.Text);
> b:=strtoint(Edit2.Text);
>
>    for i := a to b do
>    begin
>          y[i]:=0.0095*48*sqrt(i)-0.0035;


А это не страшно, что массив объявлен от нуля до 50, а обращение к нему идет по введенным индексам, которые необязательно от нуля до 50 ?


 
{RASkov} ©   (2008-05-02 17:32) [24]

По уму наверное все-таки это должно выглядеть нечто так:
var A, B, N: Integer;
*    ArrVal: array of Extended;
begin
 try
  A:=StrToInt(Edit1.Text);
 except
  Edit1.SetFocus;
  raise Exception.Create("Не верно введено число в первый Эдит");
 end;
 try
  B:=StrToInt(Edit2.Text);
  if B<=A then begin
   ShowMessage("Значение второго Эдита должно быть больше первого");
   Exit;
  end;
 except
  Edit2.SetFocus;
  raise Exception.Create("Не верно введено число во второй Эдит");
 end;
*  SetLength(ArrVal, B-A+1);
 StringGrid1.RowCount:=B-A+2;
 for N:= A to B do try
*    ArrVal[N-A]:=0.0095*48*sqrt(N)-0.0035;
*    StringGrid1.Cells[1, N-A+1]:=FloatToStr(ArrVal[N-A]);
  // StringGrid1.Cells[1, N-A+1]:=FloatToStr(0.0095*48*sqrt(N)-0.0035);
  except
   StringGrid1.Cells[1, N-A+1]:="Error Calc";
  end;
end;

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


 
Loginov Dmitry ©   (2008-05-02 17:48) [25]

>По уму наверное все-таки это должно выглядеть нечто так:
> except
>  Edit1.SetFocus;
>  raise Exception.Create("Не верно введено число в первый
> Эдит");
> end;


а если Edit1 лежит на одной из вкладок TPageControl?


 
{RASkov} ©   (2008-05-02 17:56) [26]

> [25] Loginov Dmitry ©   (02.05.08 17:48)

Дим, последнюю мою строчку в том посмту прочитал?)
Она также относится и к вымышленному ПэйджКонтролу.... если что)


 
{RASkov} ©   (2008-05-02 17:59) [27]

> [25] Loginov Dmitry ©   (02.05.08 17:48)

Хотя это наверное не мне замечание, так ведь?... Тогда и в [26] также нужно было без ников :(


 
Loginov Dmitry ©   (2008-05-02 18:11) [28]

> Дим, последнюю мою строчку в том посмту прочитал?)
> Она также относится и к вымышленному ПэйджКонтролу.... если
> что)


Я че знаю, то и говорю :D
Edit1.SetFocus - конечно благородная попытка сделать удобнее и лучше, но опасная! ))


 
{RASkov} ©   (2008-05-02 18:22) [29]

> [28] Loginov Dmitry ©   (02.05.08 18:11)
> но опасная!

Ни сколько!
Но я по другому скажу: -В некоторых руках Делфи - опасно. :)

Только после прочтения сего не нужно делать так:
try
 A:=StrToInt(Edit1.Text);
except
 try
  Edit1.SetFocus;
  raise Exception.Create("Не верно введено число в первый Эдит");
 except
  raise Exception.Create("Ну не шмогла я установить фокус на первый Эдит :(");
 end;
end;

:о)



Страницы: 1 вся ветка

Текущий архив: 2008.05.25;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.017 c
15-1208102997
power on
2008-04-13 20:09
2008.05.25
Кто слушает Epica и Kamelot посоветуют что-нибудь ещё?


2-1209043999
programmer9090
2008-04-24 17:33
2008.05.25
Иконку на ToolButton


2-1209717817
holodok
2008-05-02 12:43
2008.05.25
Цикл


2-1208946250
tiaEver
2008-04-23 14:24
2008.05.25
Загрузить шрифт в рантайм


2-1208901731
Acad
2008-04-23 02:02
2008.05.25
Как работать с Sender ом?