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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2011, 06:25   #1
sargo
Новичок
Джуниор
 
Регистрация: 29.12.2011
Сообщений: 1
По умолчанию описание функции Select_1

Здравствуйте всем!
Помогите пожалуйста описанием функции Select_1 в процедуре Select на языке Паскаль. Есть процедура select из программы генетического алгоритма по одноточечному скрещиванию и инверсионной мутации
ЗАДАЧА УЖЕ РЕШЕНА.
Но преподаватель мне дала дополнительный вопрос:
- опишите назначение функции select_1 Вашей программы и как она работает?
А я в этой программе ничего не смыслю.
Можете мне в этом помочь: просто описать что делает функция Select_1 и построчно прокомментировать её?

Код:
{
Отбор претендентов на скрещивание
}
Procedure select;
Var ipick:integer;

	{
 Перемешивание популяции
     }
	Procedure shuffle(var pop:population);
	Var
	   i, j: integer;
	   ind0: individual;
	Begin
	     for i := popsize downto 2 do begin
		     j:= random(i-1)+1;
		     ind0:=pop[i];
		     pop[i]:=pop[j];
		     pop[j]:=ind0;
	     end;
	End;

        {
        Выборка
        }

	Function select_1:integer;
	Var j1, j2, m: integer;
	Begin
             {
             если ipick больше количества индивидов в популяции, то необходимо перемешать ее
             }
	     if (ipick>popsize) then begin
		     shuffle(oldpop);
		     ipick:=1
	     end;
	     j1:=ipick;
	     j2:=ipick+1;
	     if (oldpop[j2].fitness<oldpop[j1].fitness) then
		     m:=j2
	     else
		     m:=j1;
	     ipick:=ipick+2;
	     select_1:=m;
	End;
Var j: integer;
Begin
     ipick:=1;
     for j:=1 to popsize do begin
	     intpop[j]:=oldpop[select_1];
     end;
     oldpop:=intpop;
End;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 29.12.2011 в 08:55.
sargo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описание функции по рисунку X-REY Паскаль, Turbo Pascal, PascalABC.NET 0 20.11.2011 16:20
Описание функции X-REY Паскаль, Turbo Pascal, PascalABC.NET 0 26.10.2011 21:08
Описание функции ufk18 Помощь студентам 0 19.04.2011 21:36
Описание функции A_Orlov Паскаль, Turbo Pascal, PascalABC.NET 1 14.06.2010 14:48
Чем отличается описание функции от определения функции в С++? Go6a Помощь студентам 4 18.07.2009 18:07