Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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


Ответ
 
Опции темы
Старый 04.10.2019, 00:32   #1
Tobias117
Новичок
Джуниор
 
Регистрация: 04.10.2019
Сообщений: 3
По умолчанию Моделирование геологических процессов

Задача должна выводить количество рыбы, расплодившейся через определённый промежуток времени(в годах). Правильно она выполняет только первые четыре года, после чего из-за какого-то ограничения перестаёт считать выше тысячи. Помогите обойти это ограничение и вывести правильный результат.
Далее сам код

Код:
program qq;
var k, Nw, Nn, q: single;
var i: integer;
 
 
begin
k:=1;
q:=0.001;
Nn:=200;
for i:= 1 to 100 do 
  begin
   Nw:=Nn+k*Nn-q*Nn*Nn;
   Nw:=round(Nw);
   Nn:=Nw;
  end;
writeln('Численность карпа - ', Nw);
end.

_____
Код программы нужно выделять (форматировать) тегами [CODE] [/CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 04.10.2019 в 00:41.
Tobias117 вне форума Ответить с цитированием
Старый 04.10.2019, 00:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от Tobias117 Посмотреть сообщение
var k, Nw, Nn, q: single;
замените тип на double или float

Цитата:
Сообщение от Tobias117 Посмотреть сообщение
k:=1;
бессмысленная переменная. В цикле она не меняется.
а умножение на 1 (+k*Nn) всегда даст исходное число:


Цитата:
Правильно она выполняет только первые четыре года
условия задачи какие?

Последний раз редактировалось Serge_Bliznykov; 04.10.2019 в 00:44.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2019, 00:51   #3
Tobias117
Новичок
Джуниор
 
Регистрация: 04.10.2019
Сообщений: 3
По умолчанию

Блин, я вообще сейчас не шарю, сразу бы весь код)))
Tobias117 вне форума Ответить с цитированием
Старый 04.10.2019, 01:09   #4
Tobias117
Новичок
Джуниор
 
Регистрация: 04.10.2019
Сообщений: 3
По умолчанию

Кстати, уже на real ставил, всё равно такая же проблема(
Tobias117 вне форума Ответить с цитированием
Старый 04.10.2019, 10:48   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Цитата:
Сообщение от Tobias117 Посмотреть сообщение
Блин, я вообще сейчас не шарю, сразу бы весь код)))
Задача у Вас какая? Вы не знаете, что Вам дано и что нужно получить?

откуда взялась формула:
Код:
   Nw:=Nn+k*Nn-q*Nn*Nn;

Это формула согласно закона Мальтуса.


вот вывод вашего кода:
Код:
Год 1 Численность карпа - 200.000
200.00000+1.00000*200.00000-0.00100*200.00000*200.00000 = 360.0000000
Год 2 Численность карпа - 360.000
360.00000+1.00000*360.00000-0.00100*360.00000*360.00000 = 590.4000000
Год 3 Численность карпа - 590.000
590.00000+1.00000*590.00000-0.00100*590.00000*590.00000 = 831.9000000
Год 4 Численность карпа - 832.000
832.00000+1.00000*832.00000-0.00100*832.00000*832.00000 = 971.7760000
Год 5 Численность карпа - 972.000
972.00000+1.00000*972.00000-0.00100*972.00000*972.00000 = 999.2160000
Год 6 Численность карпа - 999.000
999.00000+1.00000*999.00000-0.00100*999.00000*999.00000 = 999.9990000
Год 7 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 8 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 9 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 10 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 11 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 12 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 13 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 14 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Год 15 Численность карпа - 1000.000
1000.00000+1.00000*1000.00000-0.00100*1000.00000*1000.00000 = 1000.0000000
Цитата:
Моделирование геологических процессов
какое отношение имеет рыба к геологии?


тут в статье ответы на все ваши вопросы:
Математическое моделирование с использованием электронных таблиц. Имитационные модели

Последний раз редактировалось Serge_Bliznykov; 04.10.2019 в 11:04.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2019, 12:30   #6
digitalis
Участник клуба
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 1,998
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
какое отношение имеет рыба к геологии?
Наверно, когда у геологов кончается провизия, а у вертолетчиков непогода или бензин кончился - только рыбой и перебиваются.
digitalis на форуме Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Моделирование диффузионных процессов nihi Помощь студентам 1 20.03.2013 22:29
Комп. моделирование диффузионных процессов nihi Помощь студентам 1 19.03.2013 21:47
Компьютерное моделирование, моделирование физических процессов. (в Excel ) Dytchi Помощь студентам 0 06.02.2012 15:54
Моделирование физических процессов Graff Valdemar Помощь студентам 0 10.04.2010 11:44
Имитационное моделирование экономических процессов Rhaven-89 Помощь студентам 3 29.01.2010 15:12