Показать сообщение отдельно
  #8  
Старый 17.05.2012, 02:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Примерно так:
Код:
var
  q  : Single = 1.6e-19;
  m0 : Single = 9.1e-27;
  c  : Single = 3e8;

procedure TForm2.Button2Click(Sender: TObject);
var
  I, J : Integer;
  U, v : Single;
begin
  // расчет значений для графика
  J := 1;
  U := 0;
  StringGrid1.Cells[0, 0] := 'Напряжение U, МВ';
  U := -c * sqrt(1 - sqr(m0 * c * c / (5 * q * U + m0 * c * c)));
  StringGrid1.Cells[1, 0] := 'Скорость v, м/c';
  repeat
    U := U + 100000;
    v := -c * sqrt(1 - sqr(m0 * c * c / (5 * q * U + m0 * c * c)));
    inc(J);
    // Записываем напряжение в ячейку:
    StringGrid1.Cells[0, J] := FloatToStr(U);
    // Записывем скорость в ячейку ниже,под соответ.напряжением:
    StringGrid1.Cells[1, J] := FloatToStr(v);
  until J > StringGRid1.ColCount - 1;
end;
только алгоритм у вас составлен не для колонок, а для строк.
а вот так, как вы хотели:
Код:
var
  q  : Single = 1.6e-19;
  m0 : Single = 9.1e-27;
  c  : Single = 3e8;

procedure TForm2.Button2Click(Sender: TObject);
var
  I, J : Integer;
  U, v : Single;
begin
  // расчет значений для графика
  J := 1;
  U := 0;
  StringGrid1.Cells[0, 1] := 'Напряжение U, МВ';
  U := -c * sqrt(1 - sqr(m0 * c * c / (5 * q * U + m0 * c * c)));
  StringGrid1.Cells[0, 2] := 'Скорость v, м/c';
  repeat
    U := U + 100000;
    v := -c * sqrt(1 - sqr(m0 * c * c / (5 * q * U + m0 * c * c)));
    // Записываем напряжение в ячейку:
    StringGrid1.Cells[J, 1] := FloatToStr(U);
    // Записывем скорость в ячейку ниже,под соответ.напряжением:
    StringGrid1.Cells[J, 2] := FloatToStr(v);
    inc(J);
  until J > 16;//StringGRid1.ColCount - 1;
end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием