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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2009, 15:10   #1
Lyoha_78
Новичок
Джуниор
 
Регистрация: 06.06.2009
Сообщений: 3
По умолчанию Помогите пожалуйста с задачей в Delphi

Добрый день,Решил спросить у вас совета или помощи.Делаю информатику к сессии.Три задачи вроде решил,на четвёртой засел.Нам нужно составить алгоритм и программу.Запутался с циклами,можно ли вставлять цикл в цикл?У меня не получилось.Нужно чтобы программа перебрала все варианты с "X" и "Y".В приложении выслал условие задачи и то,что у меня получилось.Надеюсь поможете, или хоть подскажите по циклам.И по шестой задаче не пойму что надо сделать.
Изображения
Тип файла: jpg задание.jpg (45.8 Кб, 131 просмотров)
Вложения
Тип файла: rar задача4.rar (192.1 Кб, 6 просмотров)
Lyoha_78 вне форума Ответить с цитированием
Старый 06.06.2009, 15:45   #2
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Конечно можно вкладывать цикл в цикл, на это нет ограничений).

Код:
var
  z, a, b, x0, y0, k, dx, dy, n: Real;
  i, j: Word;
begin
  a := 1.65;
  b := 2.77;
  k := 1;  
  x0 := 1.5;
  y0 := 0.5;
  dx := 0.35;
  dy := 0.25;
  m := 5;
  n := 7;

  for i := 0 to m do begin
    for j := 0 to n do begin
      z := (a/b) * cos(x0 + i*dx) + (b / (y0 + j*dy) + k);
      wrile('  ', z:5:2);
    end;
    writeln;
  end;

end.
Я сделал вывод найденных значений на экран в виде матрицы.

6-я задача тоже простая:
идешь по массиву
for i := 1 to ArrayLength-1 do
и находишь модуль суммы i и i+1 элементов.
Наименьший и будет ответом.

Удачи.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".

Последний раз редактировалось Daramant; 06.06.2009 в 15:51.
Daramant вне форума Ответить с цитированием
Старый 06.06.2009, 18:39   #3
Lyoha_78
Новичок
Джуниор
 
Регистрация: 06.06.2009
Сообщений: 3
По умолчанию

А ты мою прогу не смотрел?В чём я ошибся то?
Lyoha_78 вне форума Ответить с цитированием
Старый 06.06.2009, 19:10   #4
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Вместо этого:
Код:
j:=1;x:=x0;
  repeat
   y:=y0; e:=0;
   z:=(a/b)*cos(x)+(b/y+k); // это не надо
   otvet.Cells[0,j]:=floattostr(x);
   otvet.Cells[1,j]:=floattostr(y);
   otvet.Cells[2,j]:=floattostr(z);
   j:=j+1; otvet.RowCount:=j+1;
   repeat
   y:=y+dy;
   z:=(a/b)*cos(x)+(b/y+k);
   otvet.Cells[0,j]:=floattostr(x);
   otvet.Cells[1,j]:=floattostr(y);
   otvet.Cells[2,j]:=floattostr(z);
    otvet.RowCount:=j+1;e:=e+1;   until e>=n;

     x:=x+dx;
    until j>=m; // здесь неверно, выполнение заканчивается 
                   // как только j>=m, а должно быть m * n итераций
Сделай так:
Код:
...
var 
j, e, v: integer;

...

 j := 1;
 v := 0;
 x := x0;
   repeat
     y := y0;
     e := 0;
       repeat
         y := y + dy;
         z := (a/b)*cos(x)+(b/y+k);

         otvet.Cells[0,j] := floattostr(x);
         otvet.Cells[1,j] := floattostr(y);
         otvet.Cells[2,j] := floattostr(z);

         j := j + 1;
         otvet.RowCount := j;
         e := e + 1;
       until e > n;
     x := x + dx;
     v := v + 1;
    until v > m;
P.S.
Перед присваиванием значений:
a:=strtofloat(zn_a.Text);
проверь, что в zn_a.Text корректные данные.
Это можно сделать функцией TryStrToFloat().
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".

Последний раз редактировалось Daramant; 06.06.2009 в 19:12.
Daramant вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей в Delphi пожалуйста! SfSpawN Помощь студентам 1 27.05.2009 22:10
Помогите Пожалуйста с Задачей!!!! Sasuke-sama Помощь студентам 29 22.05.2009 18:25
Помогите пожалуйста с задачей Ronk Паскаль, Turbo Pascal, PascalABC.NET 1 19.01.2009 04:50
Помогите пожалуйста с задачей на Delphi Just ice Помощь студентам 3 09.11.2008 21:57
Помогите, пожалуйста, с задачей в Delphi! Jagoda_Malina Помощь студентам 1 07.11.2008 00:47