Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Помогите с циклом Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
garbit91



Зарегистрирован: 29.10.2012
Сообщения: 3

СообщениеДобавлено: Вт Окт 30, 2012 9:00 am Ответить с цитатой Вернуться к началу

Мне надо создать цикл который подбирает параметр
А смысл такой(не стану грузить формулами, а просто передам смысл, так как мне интересен сам цикл)
Код:
P = 0.3;
k = 0.1;
for ( i=0.0001;i<0.4;i+=0.0001)
{
k = k + i;
P1 = P + k;
if (P1 = P)
{
break;
}
}


Тоесть мне надо узнать при каком значение k, P1=P
Что тут не так и как построить правильно это? мне ругается на строчку if (P1 = P) пишет: Error 7. Condition in IF, WHILE, FOR statements has to be Numeric or Boolean type. You can not use STRING here.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Окт 30, 2012 9:45 am Ответить с цитатой Вернуться к началу

Ну правильно ругается. При сравнении надо писать не "=" а "=="
Код:
if (P1 == P)

Код:

P = 0.3;
k = 0.1;

for ( i=0.0001;i<0.4;i+=0.0001)
{
  k = k + i;
  P1 = P + k;
  if (P1 == P) 
    break;
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
garbit91



Зарегистрирован: 29.10.2012
Сообщения: 3

СообщениеДобавлено: Вт Окт 30, 2012 10:07 am Ответить с цитатой Вернуться к началу

Теперь ругается на ту строчку вот так:
Error 1. Operation not allowed. Operator/operand type mismatch.

Я уже вроде все перепробовал...
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Окт 30, 2012 10:13 am Ответить с цитатой Вернуться к началу

У меня не ругается. Прочитал что собственно надо. У меня получился вот такой код
Код:

P = 0.3;
k = 0.1;
P0 = 0;

for ( i = 0.0001;  i < 0.4; i = i + 0.0001)
{
  k = k + i;
  P1 = P0 + k;
  if (P1 == P) 
    break;
}

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
garbit91



Зарегистрирован: 29.10.2012
Сообщения: 3

СообщениеДобавлено: Вт Окт 30, 2012 10:18 am Ответить с цитатой Вернуться к началу

000 писал(а):
У меня не ругается. Прочитал что собственно надо. У меня получился вот такой код
Код:

P = 0.3;
k = 0.1;
P0 = 0;

for ( i = 0.0001;  i < 0.4; i = i + 0.0001)
{
  k = k + i;
  P1 = P0 + k;
  if (P1 == P) 
    break;
}


Что-то не получается наверное лучше скопировать полностью формулу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen