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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2009, 13:06   #1
Pro100c00l
 
Регистрация: 02.12.2009
Сообщений: 3
По умолчанию Как посчитать кол-во повторений?

Помогите пожалуйста!

У меня заданы 2 формулы изменения скорости 2ух тел.
v1:= (v1i * (m1 - m2)) / (m1 + m2) + (v2i*2* m2) / (m1 + m2);
v2:= (v1i *(2* m1)) / (m1 + m2) + v2i *(m2 - m1) / (m2 + m1);

v1 и v2 новые скорости
а v1i и v2i прежние

заданы начальные v1i и v2i

Мне надо, чтобы v1 = v2;
как посчитать количество изменений скоростей, то есть кол-во повторений в цикле с данными формулами???

Заранее спасибо
Pro100c00l вне форума Ответить с цитированием
Старый 02.12.2009, 13:42   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Пишите цикл
while(v1!=v2)
{
считаете скорости и количество циклов
}
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 02.12.2009, 13:59   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну например так:
Код:
MODULE q;
IMPORT StdLog;

PROCEDURE do*;
VAR v1i,v2i,v1,v2,m1,m2:REAL;
 cnt,i:INTEGER;
BEGIN
 StdLog.Clear;
 cnt:=0;
 v1i:=10;v2i:=11;m1:=4;m2:=5;
 FOR i:=0 TO 5 DO
   v1:= (v1i * (m1 - m2)) / (m1 + m2) + (v2i*2* m2) / (m1 + m2);
   v2:= (v1i *(2* m1)) / (m1 + m2) + v2i *(m2 - m1) / (m2 + m1);
   StdLog.Real(v1);StdLog.Tab;StdLog.Real(v2);
   IF v1#v2 THEN
    INC(cnt);
   END;
 END;
StdLog.Ln;
StdLog.String("Кол-во повторений");StdLog.Int(cnt);
END do;

END q.
Вот результ:
Цитата:
11.11111111111111 10.11111111111111 11.11111111111111 10.11111111111111 11.11111111111111 10.11111111111111 11.11111111111111 10.11111111111111 11.11111111111111 10.11111111111111 11.11111111111111 10.11111111111111
Кол-во повторений 6
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.12.2009, 15:37   #4
Pro100c00l
 
Регистрация: 02.12.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну например так:
Код:
MODULE q;
IMPORT StdLog;

PROCEDURE do*;
VAR v1i,v2i,v1,v2,m1,m2:REAL;
 cnt,i:INTEGER;
BEGIN
 StdLog.Clear;
 cnt:=0;
 v1i:=10;v2i:=11;m1:=4;m2:=5;
 FOR i:=0 TO 5 DO
   v1:= (v1i * (m1 - m2)) / (m1 + m2) + (v2i*2* m2) / (m1 + m2);
   v2:= (v1i *(2* m1)) / (m1 + m2) + v2i *(m2 - m1) / (m2 + m1);
   StdLog.Real(v1);StdLog.Tab;StdLog.Real(v2);
   IF v1#v2 THEN
    INC(cnt);
   END;
 END;
StdLog.Ln;
StdLog.String("Кол-во повторений");StdLog.Int(cnt);
END do;

END q.
Вот результ:

ПОДСКАЖИТЕ ПОЖАЛУЙСТА!!!!
я не совсем понял:
Я делаю цикл от 1 до n
Даю условие окончание цикла
КАК ВЫВЕСТИ кол-во прокруток цикла то есть n????
Pro100c00l вне форума Ответить с цитированием
Старый 02.12.2009, 15:55   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Pro100c00l
Во-первых: Уточни задачу - тебе нужно указать сколько какое число раз повторялось, или сколько раз пары v1 v2 были равны между собой на очередной итерации?
Во-вторых: Ну если я действительно угадал и речь идет именно о той системе в которой я написал то:
Код:
StdLog.Ln;
StdLog.String("Кол-во иттераций");
StdLog.Int(n);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.12.2009, 01:00   #6
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Если тебе нужно вывести кол-во итераций цикла(т.е. повторений) то можешь в самом цикле какую нибудь переменую увеличивать на единицу
Пример:
Код:
for i:=1 to n do
x:=x+1;
В переменную "x" ты присваиваешь кол-во повторений цикла,
после цикла выводи "x".
Код:
writeln('кол-во повторений цикла ',i,' равно ',x);

Последний раз редактировалось Базиля; 03.12.2009 в 01:08.
Базиля вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посчитать кол-во символов Memo EleGant Общие вопросы Delphi 15 20.10.2009 10:34
Найти кол-во целых чисел в первой последовательности и кол-во нечетных во второй. DjDeniels-61 Помощь студентам 7 28.06.2009 13:04
Как посчитать кол-во разных записей в столбце и сделать двойную сортироку katlis Microsoft Office Excel 2 16.03.2009 17:09
Как посчитать Kovalenko.lokal БД в Delphi 16 07.05.2008 17:50
Как посчитать матрицу? RECREATOR Помощь студентам 8 30.11.2007 07:10