русский

Мои программы

3112  1 2 3 4 alle
7495 коренной житель08.02.25 13:54
7495
NEW 08.02.25 13:54 
in Antwort alek4 08.02.25 13:18

Кажется это отец Бората. Старый отец, Борат старый, Борат поздний ребёнок...


А Вы видели, вам тут одну ночную простыню затерли? Про скатерть Пифагора, не?


Fragen und Antworten - Программируем калькулятор пособий для беженцев вместе.
#41 
gendy Dinosaur08.02.25 22:28
gendy
NEW 08.02.25 22:28 
in Antwort Murr 08.02.25 00:25

этого шефа раннее взяли делфи-программером, а потом уже подняли до начальника отдела ит, так что ничего удивительного,

Фашизм будет разбит


Человека карают только те боги, в которых он верит

#42 
alex445 патриот08.02.25 23:15
NEW 08.02.25 23:15 
in Antwort gendy 08.02.25 22:28, Zuletzt geändert 08.02.25 23:24 (alex445)

А почему тег details фильтруется? Тут никак спойлер создать нельзя?

#43 
alek4 старожил09.02.25 13:01
NEW 09.02.25 13:01 
in Antwort alek4 31.01.25 14:13

ФАНТАЗИИ НА ТЕМУ КВАРКОВ

Скачать текст

https://disk.yandex.ru/i/bgSTyfFpIcpAqA

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

ПРОГРАММА«4-кварк»

ОГЛАВЛЕНИЕ

1.Общее

2.Ядро атома

3.Программа «4-кварк»

4.Алгоритм

5.Ввод

6.Вывод

7.Программа

1.Общее

В наукетри метода:

А) Эксперимент

Б) Теория

В) Моделирование

Программа «4-кварк» мысленный эксперимент по моделированию сборки кварков в объекты атомного ядра.

Естьещё одна цель.

Популяризацияязыка программирования Дельфи 6, как самого комфортного для изучения.

2. Ядро атома

Ядросостоит из протонов и нейтронов.

Протон: два кварка u, один – d.

Нейтрон: два кварка d, один – u.

Число протонов меньше или равно числу нейтронов.

Но возможно кварки образуют и другие структуры.

Например,

Суперпротон: четыре кварка u, два –d.

Супернейтрон: четыре кварка d, два – u.

Косвенно это подтверждает эксперимент

http://nuclphys.sinp.msu.ru/mirrors/qnuc.htm

]3. Программа «4-кварк»

Программа «4-кварк» моделирует вариант сборки кварковв протоны и нейтроны.

Это мысленный эксперимент.

Изучение вероятности сборки заданного числа кварков в протоны и нейтроны.

Задача может решена и аналитически.

Однако моделирование позволяет вводить разные ограничения.

Что затруднительно в математических методах.

В дальнейшем намечено моделировать сборки кварков в более массивные структуры,

чем протоны и нейтроны.

4. Алгоритм

Программа содержит 3 цикла.

«Суперциклтерации - основные циклы.

«Основной цикл»: итерации «циклы по три». В ходе «основного цикла» делается попытка сборки атомного ядра с заданным числом протонов и нейтронов.

Цикл по три – попытка сборки нуклон (протона или нейтрона).

Кваркшифруется -1, d -2.

Протон: два 1 и один 2

Нейтрон: два 2, один 1.

Нет смысла: три 1 и три 2.

5. Ввод

Ввод непосредственно в программе.

z – число протонов

n – число нейтронов.

В программе определяется число кварков для заданного z иn.

Сборка по полученному числу кварков.

ttt - -допустимое число итераций суперцикла.

6. Вывод

Матрица s – состав нуклонов.

Матрица p – число кварков в отдельных нуклонах.

tt- число итераций для получения сборки ядра.

Программа

Программа на языке Дельфи 7.

Практически расчеты в допустимое время при числе нуклонов менее 50.

Скачать программу «4-кварк».

https://yadi.sk/d/y2dAiTNl4353WA

////////////////////////////////////////////////////////////////////////////////////////////

ПРОГРАММА«ф-кварк»

ОГЛАВЛЕНИЕ

]1.Общее

2.Ядро атома

3.Программа «ф-кварк»

4.Алгоритм

5.Ввод

6.Вывод

7.Программа

1.Общее

Программа «ф-кварк» продолжение программы «4-кварк».

Тоже научная фантастика в части строения атомного ядра.

2. Ядро атома

Ядросостоит из протонов и нейтронов.

Протон: два кварка u, один – d.

Нейтрон: два кварка d, один – u.

В отличие от программы «4-кварк»

добавлена возможность существования

Суперпротон: четыре кварка u, два –d.

Супернейтрон: четыре кварка d, два – u.

3. Программа «ф-кварк»

Программа «ф-кварк» моделирует вариант сборки кварковв протоны, нейтроны, суперпротоны, супернейтроны.,

Это мысленный эксперимент.

Пока тестируется алгоритм.

Изучение статистических закономерностей на потом.

4. Алгоритм

Программа содержит 3 цикла.

«Суперцикл»: итерации - основные циклы.

«Основной цикл»: итерации «циклы по шесть.

В ходе «основного цикла» делается попытка сборки атомного ядра с заданным числом протонов и нейтронов.

Цикл по шести – попытка сборки нуклон (протона или нейтрона, суперпротон или супернейтрон).

Кваркшифруетсяu-1, d -2.

Протон: два 1 и один 2

Нейтрон: два 2, один 1.

Суперпротон: четыре 1 и два 2.

Супернейтрон: четыре 2 идва 1.

Если первые три кварка = 4, протон

Если первые три кварка =5, нейтрон

Если шесть кварков = 8, суперпротон

Если шесть кварков =10,супернейтрон

5. Ввод

Ввод непосредственно в программе.

z – число протонов

n – число нейтронов.

tt - -допустимое число итераций суперцикла.

6. Вывод

Матрица s – состав нуклонов.

Матрица p – сумма чисел 1 и 2 , присвоенных кваркам u и d

Матрица m: 1 – протон или нейтрон, 2 – суперпротон или супернейтрон, 3 – выборка пустая

7. Программа

Скаать программу «ф-кварк».[/color][/size]

https://yadi.sk/d/AMSnmgt61tOlVA

///////////////////////////////////////////////////////////////////////////

ПРОГРАММА«ы-кварк»

ОГЛАВЛЕНИЕ

1.Общее

2.Ядро атома

3.Программа «ы-кварк»

4.Алгоритм

5.Ввод

6.Вывод

7.Программа

1.Общее

Программа «ы-кварк» продолжение программы «ф-кварк».

Тоже научная фантастика в части строения атомного ядра.

2. Ядро атома

Допущение.

Ядросостоит из протонов, нейтронови суперпрототонов, супернейтронов.

Протон: два кварка u, один – d.

Нейтрон: два кварка d, один – u.

Суперпротон: четыре кварка u, два –d.

Супернейтрон: четыре кварка d, два – u.

3. Программа «ы-кварк»

Программа «ы-кварк» моделирует вариант сборки кварковв протоны, нейтроны и суперпротоны, супернейтроны.,

Это мысленный эксперимент.

В дополнении к «ф-программе» в программе «ы-кварк» введен цикл по сбору статистики.

4. Алгоритм

Программа содержит 4 цикла.

Цикл статистики: итерации суперциклы

«Суперцикл»: итерации - основные циклы.

По суперциклу фиксируется нахождение ядра с заданными числами протонов и нейтронов.

«Основной цикл»: итерации «циклы по шесть.

В ходе «основного цикла» делается попытка сборки атомного ядра с заданным числом протонов и нейтронов.

Цикл по шести – попытка сборки нуклон (протона или нейтрона, суперпротон или супернейтрон).

Кваркшифруетсяu-1, d -2.

Протон: два 1 и один 2

Нейтрон: два 2, один 1.

Суперпротон: четыре 1 и два 2.

Супернейтрон: четыре 2 идва 1.

Если первые три кварка = 4, протон

Если первые три кварка =5, нейтрон

Если шесть кварков = 8, суперпротон

Если шесть кварков =10,супернейтрон

5. Ввод

Ввод непосредственно в программе.

h – число итераций для сбора статистики

z – число протонов

n – число нейтронов.

tt - -допустимое число итераций суперцикла.

6. Вывод

Матрицаs – состав нуклонов.

Матрица u: сумма чисел присвоенных нуклонам

Матрицаm:1 – протон или нейтрон, 2 – суперпротон или супернейтрон, 3 – выборка пустая

Матрицаk1:для каждой итерации цикла статистики числа протонов и нейтронов, одиночных и составе суперпротонов и супернейтронов.

n1 – отношение числа одиночных протонов к числу протонов в составе суперпротонов

n2 - отношение числа одиночных нейтронов к числу протонов в составе суперпротонов

hh – равно 7777при превышении допустимого числа итераций суперцикла

7. Программа

Программа на Дельфи 7.

Ввод непосредственно в программе.

Скачать программу «ы-кварк».

https://yadi.sk/d/KSgqNWGN4Qh9og

#44 
kukka местный житель09.02.25 19:50
kukka
NEW 09.02.25 19:50 
in Antwort alek4 03.02.25 18:09

Проблема в ИИ что каждое предложение она интерпретирует по своему. Как пример степень числа она заменяет на обычную мультипликацию ++. Площади вычисляет по своему. И вообще, в немецких школах к примеру абитуриенты некоторые не могли ещё 10 лет назад найти значение х как процентуальную долю.

#45 
alek4 старожил10.02.25 11:05
NEW 10.02.25 11:05 
in Antwort alek4 31.01.25 14:13

ПРОГРАММА «+-Алгебраический многочлен»

ОГЛАВЛЕНИЕ

1. Общее

2. Исходные данные

3. Алгоритм

4. Итог

5. Скачать программу

Приложение 1

Распечатка программы


1. Общее

Программа «+-Алгебраический многочлен» разработана в развитие программы «1-Алгебраический многочлен».

Снято ограничение: положительные степени и коэффициенты одночлена.

Моё мнение.

Курс информатики в школе должен быть пересмотрен.

Необходимо.

1.Школьник должен освоить язык программирования.

Разный по школам.

Самый простой Дельфи 7.

Остальное не важно.

2.Программирование должно быть на основе школьных предметов.

Знаний программирования для освоения в объеме решения задач школьной программы нужно немного.

Михаил Фленов

БИБЛИЯDELPHI

676 стр.

Для решения многих задач по школьной программы достаточно изучить 40 стр.

Программирование, как плавание. Одни люди плавают, другие нет.

Можно плавать по-собачьи, можно баттерфляем.

Алгебра в школе – много об операциях с алгебраическими многочленами.

О многочленах

https://math-prosto.ru/ru/pages/polynomials/polynomial_deg...

Программа «1 –Алгебраический многочлен» создает случайный многочлен.

Есть разные способы генерации случайного многочлена.

Отдельный вопрос насколько разные способы тождественны.

Генерация в программе включает:

1.Генерация членов многочлена

2.Приведение подобных членов

3.Группировка по степени многочлена.

2. Исходные данные]

b=50;//число одночленов в исходном многочлене

c= 20;// задание вероятности одночлена не равного нулю

c1=10;//задание вероятности одночлена не равного нулю

d=20;// задание вероятности степени переменой

f=191; //задание вероятности значения коэффициента в одночлене

e1=8; //знак степени

e2=13;//знак степени

e3= 9; //знак коэффициента

e4= 15;//знак коэффициента

3. Алгоритм

Действие 1

Формируется исходный многочлен

w:array [1..2,1..b] ofcardinal;//

Выбор знака степени одночлена: e1 и e2

Выбор знака коэффициента: e3 и e4

Действие 2

Приводятся подобные члены

u1:array [1..2,1..b] ofcardinal;//массив после приведения

Действие 3

Расстановка одночленов по степени неизвестной

u2:array [1..2,1..b] ofcardinal;// одночлены расставлены по степени

//неизвестной

4. Итог

Массив u2.

5. Скачать программу

https://disk.yandex.ru/d/tbpUMe7ALG3_XQ

Приложение 1

Распечатка программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button5: TButton;

Label1: TLabel;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Edit1: TEdit;

Label4: TLabel;

StringGrid1: TStringGrid;

StringGrid4: TStringGrid;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

b=50;//число одночленов в исходном многочлене

c= 20;// задание вероятности одночлена не равного нулю

c1=10;//задание вероятности одночлена не равного нулю

d=20;// задание вероятности степени переменой

f=191; //задание вероятности значения коэффициента в одночлене

e1=8; //знак степени

e2=13;//знак степени

e3= 9; //знак коэффицинта

e4= 15;//знак коэффицинта

var

Tick: Cardinal;

w:array [1..2,1..b] ofinteger;//

//1 - степень переменной, 2 - коэффицент одночлена

p : array [1..b] of integer;//номера одночленов не равных нулю

p1 :array [1..b] of integer;//массив номеров цикла

u:array [1..2,1..b] ofinteger;//дубль массива

// подобных одночленов массива u

u2:array [1..2,1..b] ofinteger;// одночлены расставлены по степени

y:array [1..199] ofinteger;// массив сложения одночленов

tt,i,j,q ,z,r,i1,i2,i3,i4,i5,i6,j1,j2,j3,g ,k, v:integer;

t,n1, n2, n3,n4 ,n5,n6: integer;//

m1,m2,m3,m4,m5: integer;//

f1,f2,f3,f4,f5,z2,z4,z6,z8,z9, x: integer;//

z1,z3,z5,z7 : real;

n: variant;

procedure TForm1.Button1Click(Sender: TObject);

// окантовка

begin

for q:=1 to 10// нумерация по вертикалив табл №1 ,

doStringGrid1.Cells[0,q]:=IntToStr(q) ;

for q:=1 to b //нумерация по горизонтали в табл №1 ,

doStringGrid1.Cells[q,0]:=IntToStr(q);

for q:= 1 to b// нумерация по вертикалив табл №2 ,

do StringGrid2.Cells[0,q]:=IntToStr(q);

for q:=1 to b //ну2мерация по горизонтали в табл №2 ,

doStringGrid2.Cells[q,0]:=IntToStr(q);

for q:= 1 to 10// нумерация по вертикалив табл №1 ,

doStringGrid3.Cells[0,q]:=IntToStr(q);

for q:=1 to 500//нумерация по горизонтали в табл №1 ,

doStringGrid3.Cells[q,0]:=IntToStr(q);

StringGrid1.Cells[0,0] := '№1';

StringGrid2.Cells[0,0] := '№2';

StringGrid1.Cells[0,1] := 'w[1,..]';

StringGrid1.Cells[0,2] := 'w[2,..]';

StringGrid1.Cells[0,3] := 'p[..]';

StringGrid1.Cells[0,4] := 'p1[..]';

StringGrid1.Cells[0,7] := 'y[..]';

StringGrid2.Cells[0,1] := 'u1[1,..]';

StringGrid2.Cells[0,2] := 'u1[2,..]';

StringGrid2.Cells[0,5] := 'u2[1,..]';

StringGrid2.Cells[0,6] := 'u2[2,..]';

For i:=1 to b do//формирование случайного многочлепна

if(random (c) +1) <=c1 then

begin

k:=k+1;

p[k] :=k;

p1[k] :=i;

if e1<random (e2) then

w[1,k]:= random(d)

else w[1,k] := -random(d);

if e3<random (e4) then

w[2,k]:= random(f)

else w[2,k] := -random(f)

end;

for i:=1to b do//приведение подобных одночленов

for j:= 1 to bdo

begin

u[1,j] := w[1,j];

u[2,j] := w[2,j];

end;

for z:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

for i2:=z+1 to b do

if u[1,z] = u[1,i2] thenbegin

v:=i2; x:=x+1; y[i2] :=i2;

u[2,z]:= u[2,z]+u[2,i2];

u[1,i2] :=0;

u[2,i2] :=0;

end;

end;

//Растановка одночленов по величине

// степени переменной

for i:=1 to 2 do

for j:=1 to b do begin

u2[1,j]:= u[1,j]+d;

u2[2,j]:= u[2,j];

end;

for tt:=1 to b*b do

for i3 := 2 to bdo

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

begin

n1:=u2[1,i3-1] ;

n2 :=u2[2,i3-1] ;

n3 :=u2[1,i3];

n4 := u2[2,i3] ;

end;

if (n1>0) and ((n3>=0)and (n4<>0))then

ifn1< n3then

begin

u2[1,(i3-1)]:=n3;

u2[2,i3-1]:=n4;

u2[1,(i3)] :=n1 ;

u2[2,i3] :=n2;

end;

if(n2=0) and (n4<>0) then

begin

u2[1,(i3-1)]:=n3;

u2[2,i3-1]:=n4;

u2[1,(i3)] :=n1 ;

u2[2,i3] :=n2;

end;

end;

for j2:=1 to b do

u2[1,j2]:=u2[1,j2] -d;

//////////////////////////////////////////////////////////////

for j:=1 tob do begin

StringGrid2.Cells[j,1] := IntToStr(u[1,j]);

StringGrid2.Cells[j,2] := IntToStr(u[2,j]);

StringGrid2.Cells[j,5] := IntToStr(u2[1,j]);

StringGrid2.Cells[j,6] := IntToStr(u2[2,j]);

end;

for i:=1 to 2 do

for j:=1 tob do

StringGrid1.Cells[j,i] := IntToStr(w[i,j]);

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid1.Cells[i,3] := IntToStr(p);

StringGrid1.Cells[i,4] := IntToStr(p1);

//StringGrid1.Cells[i,5] := IntToStr(p2);

StringGrid1.Cells[i,7] := IntToStr(y);

end;

Edit1.Text :=

'k=' +''+ IntToStr(k)

+''+ 'p[2]=' +''+ IntToStr(p[2])

+''+ 't=' +''+FormatFloat('0.00',t)

+''+ 'x=' +''+ IntToStr(x)

+''+ 'y[2]=' +''+ IntToStr(y[2])

+''+ 'n1=' +''+ IntToStr(n1)

+''+ 'n2=' +''+ IntToStr(n2)

+''+ 'n3=' +''+ IntToStr(n3)

+''+ 'n4=' +''+ IntToStr(n4)

+''+ 'u2[1,10]=' +''+ IntToStr(u2[1,10]) ;

end;

////////////////////////////////////////////////////////////////

procedure TForm1.Button5Click(Sender: TObject);

begin

close

end;

initialization

randomize;

end.

#46 
alek4 старожил10.02.25 15:06
NEW 10.02.25 15:06 
in Antwort alek4 31.01.25 14:13

Экономика

||||||||||||||||||||||||||||||||||||||||||||||||||

Первый вариант:программа "Ресурсы А"

Задача - Ресурсы.

Имеется s ресурсов.

Имеется r производств.

Для каждого производства расходуется некоторое

количество ресурсов.

Продукт производства прямо пропорционален объему

израсходованных ресурсов.

Для каждого производства ресурсы в заданной пропорции.

То есть объем производства прямо пропорционален

любому из израсходованных ресурсов.

Продуктам производства присваивается цена и объем.

Общая задача:

Максмизировать доход от производств.

Пока решается элементарная задача: одно производство.

r = 1

Цель:оценить максимальный расход ресурсов при разных

способах задания исходных ресурсов и ресурсов для производства.

Принято случайное задание объемов исходных ресурсов

и ресурсов для производства.

Определяется средний расход суммы ресурсов за t циклов статистики.

В ходе расчётов можно менять:

Число ресурсов,

Средний объем исходных ресурсов

Средний объем ресурсов для производства.

Скачать программу

https://yadi.sk/d/Y5YEsQ p3PitZN

#47 
alek4 старожил11.02.25 08:03
NEW 11.02.25 08:03 
in Antwort alek4 31.01.25 14:13

ПРОГРАММА «1-Опознание»


ОГЛАВЛЕНИЕ

1. Исследование опознания

2. Исходные данные

3 Цель программы

4. Алгоритм

5.Вывод

6. Итоги

7. Скачать программу

Приложение 1

Распечатка программы «1-Опознание»

1. Исследование опознания

Исследование опознания можно разделить на три этапа.

Этап 1.

Задаются объекты опознания.

Этап 2

Задаются условия опознания.

Этап 3

Задается алгоритм опознания.

2. Исходные данные.

Пример

Const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1;//координата1 окна опознания

y1=1;// координата 1 окна опознания

x2=200;//координата2 окна опознания

y2=200;// координата 2 окна опознания

3. Цель программы

В процессе опознания определяется наиболее вероятные центры объектов в окне опознания.

4. Алгоритм]

4.1.Находятся центры объектов на исходной матрице.

w:array [1..3, 1..b] ofcardinal;//1, 2 координаты центров объектов

// объектов опознания

4.2. Находятся элементы объектов.

Вероятность элемента объекта определяется расстоянием от центра объекта.

Чем больше расстояние, тем меньше вероятность появления элемента объекта.

Расстояние находится в прямоугольнойметрике.

s:array [1..a,1..a,1..b] ofcardinal;// матрицаразмещения элементов

//объектов на матрице

4.3. Вычисляются матрицы

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;// частное суммы элементов объекта в окне опознания

//к сумме элементовобъекта

4.4. Находится максимальный элемент множества u –z1, объект –z2.

Находится максимальный элемент множества u1 –z3, объект –z4.

4.5. Находится второй по величине максимальный элемент множества u –z5, объект –z6.

Находится второй по величине максимальный элемент множества u1 –z7, объект –z8.

6. Итоги]

Как показали расчёты, центр объекта z1 часто, но не всегда, лежит в окне опознания.

7. Вывод

Выводятся все массивы введенные вышеz1,z2, z3, z4.

7. Скачать программу

https://disk.yandex.ru/d/uqpxmWG8Pj8HLA

]

]

Приложение 1

Распечатка программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button5: TButton;

Label1: TLabel;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Edit1: TEdit;

Label4: TLabel;

StringGrid1: TStringGrid;

StringGrid4: TStringGrid;

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1;//координата1 окнаопзнавания

y1=1;// координата 1 окнаопзнавания

x2=250;//координата2опзнавания

y2=250;// координата 2 окна опзнавания

var

Tick: Cardinal;

w:array [1..3, 1..b] ofcardinal;//1, 2 координаты центров объектов

// объектов опознания

//3 число элементов объекта

s:array [1..a,1..a,1..b] ofcardinal;// матрицаразмещения элементов

//объектов на матрице

p:array [1..b] ofcardinal;// сумма элементовдля каждого объекта

// в окне опознания

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;//частное сумме элементов объекта в окне опознания

//к сумме элементовобъекта

i,j,q ,z,r,i1,j1,tt,t,g ,k, v,y:integer;

n1, n2, n3,n4: integer;//

m1,m2,m3,m4,m5: integer;//

f1,f2,f3,f4,f5,z2,z4,z6,z8 : integer;//

z1,z3,z5,z7 : real;

procedure TForm1.Button1Click(Sender: TObject);

// окантовка

begin

for q:=1 to 5// нумерация по вертикалив табл №1 ,

doStringGrid1.Cells[0,q]:=IntToStr(q) ;

for q:=1 to b //нумерация по горизонтали в табл №1 ,

doStringGrid1.Cells[q,0]:=IntToStr(q);

for q:= 1 to a// нумерация по вертикалив табл №2 ,

do StringGrid2.Cells[0,q]:=IntToStr(q);

for q:=1 to a //ну2мерация по горизонтали в табл №2 ,

doStringGrid2.Cells[q,0]:=IntToStr(q);

for q:= 1 to 10// нумерация по вертикалив табл №1 ,

doStringGrid3.Cells[0,q]:=IntToStr(q);

for q:=1 to b//нумерация по горизонтали в табл №1 ,

doStringGrid3.Cells[q,0]:=IntToStr(q);

StringGrid1.Cells[0,0] := 'w[ ]';

StringGrid2.Cells[0,0] := 's[ ]';

StringGrid3.Cells[0,1] := 'p[ ]';

StringGrid3.Cells[0,2] := 'u[ ]';

StringGrid3.Cells[0,3] := 'u1[ ]';

////////////////// Генерация объектов

for r:= 1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

n1:=0; n2:=0;

begin

n1:= random(a)+1;

n2:= random(a)+1;

w[1,r] := n1;

w[2,r] := n2;

end;

begin

for i:=1 to a do

for j:=1 to a do

if ((random (((abs(n1-i)+abs(n2-j)))+1)*3) <=d )

then s[i,j,r] :=r;

end;

end;

fort:=1 to b do

for i:=1 to a do

for j:=1 to a do

if s[i,j,t] >0then

w[3,t] :=w[3,t]+1;

//// Опознавание объъектов

for g:=1 to bdo

for i:=y1 to y2 do

for j:=x1 to x2 do

if s[i,j,g] >0thenbegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

p[g] :=p[g] +1;

z:=z+1;

end;

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

u := 100*p /z;

u := 100*p /z;

u1 := 1000* p/w[3,i];

end;

//Опознание центров z2 и z4в окне опознанпия

for i:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

ifu > z1 then begin z1:= u; z2:=i;end;

ifu1 > z3 then begin z3:= u1; z4:=i;end;

end;

//Опознание центров z6 и z8в окне опознанпия

for i:=1 to b do

begin

if i<>z2 then ifu > z5 then begin z5:= u; z6:=i;end;

if i<>z4 then ifu1 > z7 then begin z7:= u1; z8:=i;end;

end;

////Вывод

for i:=1 to bdobegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid1.Cells[i,1]:= IntToStr(w[1,i]);

StringGrid1.Cells[i,2]:= IntToStr(w[2,i]);

StringGrid1.Cells[i,3]:= IntToStr(w[3,i]);

end;

for I:=1 to a do

for J:=1 to ado

StringGrid2.Cells[j,i]:= IntToStr(s[i,j,z4])+' * '+IntToStr(s[i,j,z8]);

for j:=1 to b do

StringGrid3.Cells[j,1]:= IntToStr(p[j]) ;

fori:=1 to b dobegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid3.Cells[i,2]:=FormatFloat('0.00',u);

StringGrid3.Cells[i,3]:=FormatFloat('0.00',u1);

end;

Edit1.Text :='w[1,1]=' +''+ IntToStr(w[1,1])

+''+ 'w[2,1]=' +''+ IntToStr(w[2,1])

+''+ 'n1=' +''+ IntToStr(n1)+''+ 'n2=' +''+ IntToStr(n2)

+''+ 'z=' +''+ IntToStr(z)

+''+ 'z1=' +''+ FormatFloat('0.00',z1) +''+ 'z2=' +''+ IntToStr(z2)

+''+ 'z3=' +''+ FormatFloat('0.00',z3) +''+ 'z4=' +''+ IntToStr(z4)

+''+ 'z5=' +''+ FormatFloat('0.00',z5) +''+ 'z6=' +''+ IntToStr(z6)

+''+ 'z7=' +''+ FormatFloat('0.00',z7) +''+ 'z8=' +''+ IntToStr(z8);

Form1.Caption:=IntToStr(GetTickCount-Tick);

end;

////////////////////////////////////////////////////////////////

procedure TForm1.Button5Click(Sender: TObject);

begin

close

end;

initialization

randomize;

end.

ПРОГРАММА «1-Опознание»

]

ОГЛАВЛЕНИЕ]

1. Исследование опознания

2. Исходные данные

3 Цель программы

4. Алгоритм

5.Вывод

6. Итоги

7. Скачать программу

Приложение 1

Распечатка программы «1-Опознание»

1. Исследование опознания

Исследование опознания можно разделить на три этапа.

Этап 1.

Задаются объекты опознания.

Этап 2

Задаются условия опознания.

Этап 3

Задается алгоритм опознания.

2. Исходные данные.

Пример

Const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1; //координата 1 окна опознания

y1=1; // координата 1 окна опознания

x2=200; //координата 2 окна опознания

y2=200; // координата 2 окна опознания

3. Цель программы

В процессе опознания определяется наиболее вероятные центры объектов в окне опознания.

4. Алгоритм]

4.1. Находятся центры объектов на исходной матрице.

w: array [1..3, 1..b] of cardinal;//1, 2 координаты центров объектов

// объектов опознания

4.2. Находятся элементы объектов.

Вероятность элемента объекта определяется расстоянием от центра объекта.

Чем больше расстояние, тем меньше вероятность появления элемента объекта.

Расстояние находится в прямоугольной метрике.

s: array [1..a,1..a,1..b] of cardinal;// матрица размещения элементов

//объектов на матрице

4.3. Вычисляются матрицы

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;// частное суммы элементов объекта в окне опознания

//к сумме элементов объекта

4.4. Находится максимальный элемент множества u –z1, объект –z2.

Находится максимальный элемент множества u1 –z3, объект –z4.

4.5. Находится второй по величине максимальный элемент множества u –z5, объект –z6.

Находится второй по величине максимальный элемент множества u1 –z7, объект –z8.

6. Итоги]

Как показали расчёты, центр объекта z1 часто, но не всегда, лежит в окне опознания.

7. Вывод

Выводятся все массивы введенные выше z1, z2, z3, z4.

7. Скачать программу

https://disk.yandex.ru/d/uqpxmWG8Pj8HLA

]

]

Приложение 1

Распечатка программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button5: TButton;

Label1: TLabel;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Edit1: TEdit;

Label4: TLabel;

StringGrid1: TStringGrid;

StringGrid4: TStringGrid;

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1; //координата 1 окна опзнавания

y1=1; // координата 1 окна опзнавания

x2=250; //координата 2 опзнавания

y2=250; // координата 2 окна опзнавания

var

Tick: Cardinal;

w: array [1..3, 1..b] of cardinal;//1, 2 координаты центров объектов

// объектов опознания

//3 число элементов объекта

s: array [1..a,1..a,1..b] of cardinal;// матрица размещения элементов

//объектов на матрице

p: array [1..b] of cardinal;// сумма элементов для каждого объекта

// в окне опознания

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;//частное сумме элементов объекта в окне опознания

//к сумме элементов объекта

i,j,q ,z,r,i1,j1,tt,t,g ,k, v,y: integer;

n1, n2, n3,n4 : integer;//

m1,m2,m3,m4,m5: integer;//

f1,f2,f3,f4,f5,z2,z4,z6,z8 : integer;//

z1,z3,z5,z7 : real;

procedure TForm1.Button1Click(Sender: TObject);

// окантовка

begin

for q:=1 to 5 // нумерация по вертикали в табл №1 ,

do StringGrid1.Cells[0,q]:=IntToStr(q) ;

for q:=1 to b //нумерация по горизонтали в табл №1 ,

do StringGrid1.Cells[q,0]:=IntToStr(q);

for q:= 1 to a // нумерация по вертикали в табл №2 ,

do StringGrid2.Cells[0,q]:=IntToStr(q);

for q:=1 to a //ну2мерация по горизонтали в табл №2 ,

do StringGrid2.Cells[q,0]:=IntToStr(q);

for q:= 1 to 10 // нумерация по вертикали в табл №1 ,

do StringGrid3.Cells[0,q]:=IntToStr(q);

for q:=1 to b//нумерация по горизонтали в табл №1 ,

do StringGrid3.Cells[q,0]:=IntToStr(q);

StringGrid1.Cells[0,0] := 'w[ ]';

StringGrid2.Cells[0,0] := 's[ ]';

StringGrid3.Cells[0,1] := 'p[ ]';

StringGrid3.Cells[0,2] := 'u[ ]';

StringGrid3.Cells[0,3] := 'u1[ ]';

////////////////// Генерация объектов

for r:= 1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

n1:=0; n2:=0;

begin

n1:= random(a)+1;

n2:= random(a)+1;

w[1,r] := n1;

w[2,r] := n2;

end;

begin

for i:=1 to a do

for j:=1 to a do

if ((random (((abs(n1-i)+abs(n2-j)))+1)*3) <=d )

then s[i,j,r] :=r;

end;

end;

for t:=1 to b do

for i:=1 to a do

for j:=1 to a do

if s[i,j,t] >0 then

w[3,t] := w[3,t]+1;

//// Опознавание объъектов

for g:=1 to b do

for i:=y1 to y2 do

for j:=x1 to x2 do

if s[i,j,g] >0 then begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

p[g] := p[g] +1;

z:=z+1;

end;

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

u := 100* p /z;

u := 100* p /z;

u1 := 1000* p/w[3,i];

end;

//Опознание центров z2 и z4 в окне опознанпия

for i:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

if u > z1 then begin z1:= u; z2:=i;end;

if u1 > z3 then begin z3:= u1; z4:=i;end;

end;

// Опознание центров z6 и z8 в окне опознанпия

for i:=1 to b do

begin

if i<>z2 then if u > z5 then begin z5:= u; z6:=i;end;

if i<>z4 then if u1 > z7 then begin z7:= u1; z8:=i;end;

end;

////Вывод

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid1.Cells[i,1]:= IntToStr(w[1,i]);

StringGrid1.Cells[i,2]:= IntToStr(w[2,i]);

StringGrid1.Cells[i,3]:= IntToStr(w[3,i]);

end;

for I:=1 to a do

for J:=1 to a do

StringGrid2.Cells[j,i]:= IntToStr(s[i,j,z4])+' * '+IntToStr(s[i,j,z8]);

for j:=1 to b do

StringGrid3.Cells[j,1]:= IntToStr(p[j]) ;

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid3.Cells[i,2]:= FormatFloat('0.00',u);

StringGrid3.Cells[i,3]:= FormatFloat('0.00',u1);

end;

Edit1.Text :='w[1,1]=' +' '+ IntToStr(w[1,1])

+' '+ 'w[2,1]=' +' '+ IntToStr(w[2,1])

+' '+ 'n1=' +' '+ IntToStr(n1) +' '+ 'n2=' +' '+ IntToStr(n2)

+' '+ 'z=' +' '+ IntToStr(z)

+' '+ 'z1=' +' '+ FormatFloat('0.00',z1) +' '+ 'z2=' +' '+ IntToStr(z2)

+' '+ 'z3=' +' '+ FormatFloat('0.00',z3) +' '+ 'z4=' +' '+ IntToStr(z4)

+' '+ 'z5=' +' '+ FormatFloat('0.00',z5) +' '+ 'z6=' +' '+ IntToStr(z6)

+' '+ 'z7=' +' '+ FormatFloat('0.00',z7) +' '+ 'z8=' +' '+ IntToStr(z8);

Form1.Caption:=IntToStr(GetTickCount-Tick);

end;

///////// ///////////////////////////////////////////////////////

procedure TForm1.Button5Click(Sender: TObject);

begin

close

end;

initialization

randomize;

end.

#48 
alek4 старожил12.02.25 16:43
NEW 12.02.25 16:43 
in Antwort 7495 08.02.25 13:54

Распечатка прог для народа без Дельфи.

Для понимания алгоритма.


#49 
kukka местный житель12.02.25 17:30
kukka
NEW 12.02.25 17:30 
in Antwort 7495 08.02.25 13:54

internal class Program

{

private static ulong idCounter = 0;

static void Main(string[] args)

{

Task[] tasks = new Task[10];

for (int j = 0; j < tasks.Length; j++) {

tasks[j] = Task.Factory.StartNew(Increment);

}

Task.WaitAll(tasks);

Debug.WriteLine($"Counter: {idCounter}");

}

private static void Increment()

{

for (int i = 0; i < 10000; i++) {

idCounter++;

}

}

}


К вашему восприятию ИТ здесь работает не логически..и это уже какой год.

Настрогать приложений ну совсем не хорошая идея. Сколько человек этим заинтересуются??

А порт можно самим поменять.

#50 
alek4 старожил17.02.25 00:54
NEW 17.02.25 00:54 
in Antwort alek4 31.01.25 14:13

]ПРОГРАММА «2-Опознание»

]

ОГЛАВЛЕНИЕ

1. Исследование опознания

2. Исходные данные

3 Цель программы

4. Алгоритм

5.Вывод

6. Итоги

7. Скачать программу

]Приложение 1

Распечатка программы «2-Опознание»

1. Исследование опознания

Исследование опознания можно разделить на три этапа.

Этап 1.

Задаются объекты опознания.

Этап 2

Задаются условия опознания.

Этап 3

Задается алгоритм опознания.

2. Исходные данные.

Пример

Const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1;//координата1 окнаопознавания

y1=1;// координата 1 окнаопознавания

x2=150;//координата2опознавания

y2=150;// координата 2 окна опознавания

h=5;//суперцикл

3. Цель программы

Программа ««2-Опознание» развитие программы«1-Опознание».

По программе«1-Опознание» в процессе опознания определяется центры объектов в окне опознания.

По программе «2-Опознание»собирается статистика нахождения, хотя бы одного центра объекта

в окне опознания.

4. Алгоритм

4.1.Находятся центры объектов на исходной матрице.

w:array [1..3, 1..b] ofcardinal;//1, 2 координаты центров объектов

// объектов опознания, 3 – число элементов объекта опознания

4.2. Находятся элементы объектов.

Вероятность элемента объекта определяется расстоянием от центра объекта.

Чем больше расстояние, тем меньше вероятность появления элемента объекта.

Расстояние находится в прямоугольнойметрике.

s:array [1..a,1..a,1..b] ofcardinal;// матрицаразмещения элементов

//объектов на матрице

4.3. Вычисляются матрицы

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;// частное суммы элементов объекта в окне опознания

//к сумме элементовобъекта

4.4. Находится максимальный элемент множества u –z1, объект –z2.

Находится максимальный элемент множества u1 –z3, объект –z4.

4.5. Находится второй по величине максимальный элемент множества u –z5, объект –z6.

Находится второй по величине максимальный элемент множества u1 –z7, объект –z8.

4.6. Расчёты по 4.1 – 4.5 проводятся h раз – суперцикл.

Вычисляются:

Z9 – число нахождений, хотя бы одного центра объекта

в окне опознания за суперцикл.

n – частное от деления z9 на h.

Массив u2[1..h] – элемент u2 равен 1, при нахождения на шаге i суперцикла, хотя бы одного центра объекта в окне опознания, и -0 в противном случае.

6. Итоги

Как показали расчёты, центр объекта z1 часто, но не всегда, лежит в окне опознания.

Можно выявить соответствие размера окна опознания и z10.

7. Вывод

Выводятся все массивы введенные вышеи z1, z2, z3, z4, z5, z6, z7, z8, z9, z10.

Массив s[1..a,1..a,1..b] выводится при значениях s[1..a,1..a,z4] и s[1..a,1..a,z8].

Элемент матрицы s[1..a,1..a,z4] * s[1..a,1..a,z8]

7. Скачать программу

https://disk.yandex.ru/d/lwAc9bq2Lkohrg

Приложение 1

Распечатка программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button5: TButton;

Label1: TLabel;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Edit1: TEdit;

Label4: TLabel;

StringGrid1: TStringGrid;

StringGrid4: TStringGrid;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1;//координата1 окнаопознания

y1=1;// координата 1 окнаопознания

x2=150;//координата2опознания

y2=150;// координата 2 окна

h=5;//суперцикл

var

Tick: Cardinal;

w:array [1..3, 1..b] ofcardinal;//1, 2 координаты центров объектов

// объектов опознания

//3 число элементов объекта

s:array [1..a,1..a,1..b] ofcardinal;// матрицаразмещения элементов

//объектов на матрице

p:array [1..b] ofcardinal;// сумма элементовдля каждого объекта

// в окне опознания

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;//частное сумме элементов объекта в окне опознания

u2: array [1..h] of cardinal;//1 центр объекта в окне опознания, 0 - вне окна

i,j,q ,z,r,i1,i2,i3,j1,tt,t,g ,k, v,y:integer;

n1, n2, n3,n4: integer;//

m1,m2,m3,m4,m5: integer;//

f, f1,f2,f3,f4,f5,z2,z4,z6,z8,z9 : integer;//

z1,z3,z5,z7 : real;

n: variant;

procedure TForm1.Button1Click(Sender: TObject);

// окантовка

begin

for q:=1 to 5// нумерация по вертикалив табл №1 ,

doStringGrid1.Cells[0,q]:=IntToStr(q) ;

for q:=1 to b //нумерация по горизонтали в табл №1 ,

doStringGrid1.Cells[q,0]:=IntToStr(q);

for q:= 1 to a// нумерация по вертикалив табл №2 ,

do StringGrid2.Cells[0,q]:=IntToStr(q);

for q:=1 to a //ну2мерация по горизонтали в табл №2 ,

doStringGrid2.Cells[q,0]:=IntToStr(q);

for q:= 1 to 10// нумерация по вертикалив табл №1 ,

doStringGrid3.Cells[0,q]:=IntToStr(q);

for q:=1 to 500//нумерация по горизонтали в табл №1 ,

doStringGrid3.Cells[q,0]:=IntToStr(q);

StringGrid1.Cells[0,0] := 'w[ ]';

StringGrid2.Cells[0,0] := 's[ ]';

StringGrid3.Cells[0,1] := 'p[ ]';

StringGrid3.Cells[0,2] := 'u[ ]';

StringGrid3.Cells[0,3] := 'u1[ ]';

StringGrid3.Cells[0,4] := 'u2[ ]';

////////////////// Генерация объектов

forf:=1 to h do//Суперрцикл

begin //f

for i:=1 to b do

begin

p :=0;

u :=0;

u1 := 0;

end;

for i:=1 to 3 do

for j:=1 to b do

w[i,j] :=0;

for i1:=1 to a do

for i2:=1 to a do

for i3:=1 to b do

s[i1,i2,i3] :=0;

z1:=0; z2:=0; z3:=0; z4:=0;

z5:=0; z6:=0; z7:=0; z8:=0;

for r:= 1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

n1:=0; n2:=0;

begin

n1:= random(a)+1;

n2:= random(a)+1;

w[1,r] := n1;

w[2,r] := n2;

end;

for i:=1 to a do

for j:=1 to a do

if ((random (((abs(n1-i)+abs(n2-j)))+1)*3) <=d )

then s[i,j,r] :=r;

end;

fort:=1 to b do

for i:=1 to a do

for j:=1 to a do

if s[i,j,t] >0then

w[3,t] :=w[3,t]+1;

//// Опознавание объъектов

for g:=1 to bdo

for i:=y1 to y2 do

for j:=x1 to x2 do

if s[i,j,g] >0thenbegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

p[g] :=p[g] +1;

z:=z+1;

end;

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

u := 100*p /z;

u := 100*p /z;

u1 := 1000* p/w[3,i];

end;

//Опознание центров z2 и z4в окне опознанпия

for i:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

ifu > z1 then begin z1:= u; z2:=i;end;

ifu1 > z3 then begin z3:= u1; z4:=i;end;

end;

//Опознание центров z6 и z8в окне опознанпия

for i:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

if i<>z2 then ifu > z5 then begin z5:= u; z6:=i;end;

if i<>z4 then ifu1 > z7 then begin z7:= u1; z8:=i;end;

end;

if ( ((w[1,z4]>=x1) and(w[1,z4]<=x2)) and

((w[2,z4]>=y1) and(w[2,z4]<=y2)) )

thenbegin z9 := z9+1; u2[f] :=1;end;

end;//f

N:= z9/h;

////Вывод

for i:=1 to bdobegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid1.Cells[i,1]:= IntToStr(w[1,i]);

StringGrid1.Cells[i,2]:= IntToStr(w[2,i]);

StringGrid1.Cells[i,3]:= IntToStr(w[3,i]);

end;

for I:=1 to a do

for J:=1 to ado

StringGrid2.Cells[j,i]:= IntToStr(s[i,j,z4])+' * '+IntToStr(s[i,j,z8]);

for j:=1 to b do

StringGrid3.Cells[j,1]:= IntToStr(p[j]) ;

fori:=1 to b dobegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid3.Cells[i,2]:=FormatFloat('0.00',u);

StringGrid3.Cells[i,3]:=FormatFloat('0.00',u1);

end;

fori3:=1 to h dobegin

StringGrid3.Cells[i3,4]:=IntToStr(u2[i3])

end;

Edit1.Text :=

'n1=' +''+ IntToStr(n1)+''+ 'n2=' +''+ IntToStr(n2)

+''+ 'z=' +''+ IntToStr(z)

+''+ 'z1=' +''+ FormatFloat('0.00',z1) +''+ 'z2=' +''+ IntToStr(z2)

+''+ 'z3=' +''+ FormatFloat('0.00',z3) +''+ 'z4=' +''+ IntToStr(z4)

+''+ 'z5=' +''+ FormatFloat('0.00',z5) +''+ 'z6=' +''+ IntToStr(z6)

+''+ 'z7=' +''+ FormatFloat('0.00',z7) +''+ 'z8=' +''+ IntToStr(z8);

Edit2.Text :=

'z9=' +''+ IntToStr(z9)

+''+ 'n=' +''+ FormatFloat('0.00',n)

+''+ 'n=' +''+'u2[h]=' +''+ IntToStr(u2[h])

end;

////////////////////////////////////////////////////////////////

procedure TForm1.Button5Click(Sender: TObject);

begin

close

end;

initialization

randomize;

end.

#51 
alek4 старожил17.02.25 09:46
NEW 17.02.25 09:46 
in Antwort alek4 31.01.25 14:13

ПРОГРАММА «3-Опознание»

1.Алгоритм

Программа «3-Опознание» имеет одно отличие от программы «2-Опознание».

Это нахождение расстояния при определении вероятности появление элемента объекта.

В программе «2-Опознание» вероятность появления элемента объекта находится с использованием

расстояния в прямоугольной метрике.

Википедия

…метрика, введённая Германом Минковским. Согласно этой метрике, расстояние между двумя точками равно сумме модулей разностей их координат.

В программе «3-Опознание» вероятность появления элемента объекта находится с использованием

расстояния в эвклидовой метрике.

То есть по теореме Пифагора.

2. Итог

Z9 – число нахождений, хотя бы одного центра объекта

в окне опознания за суперцикл.

n – частное от деления z9 на h (число шагов суперцикла).

Расчёты показали совпадение величины n длядвух метрик.

Что требует объяснения.

3. Скачать программу

https://disk.yandex.ru/d/eZsrf3cc8zgxiA

Приложение 1

Распечатка программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button5: TButton;

Label1: TLabel;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Edit1: TEdit;

Label4: TLabel;

StringGrid1: TStringGrid;

StringGrid4: TStringGrid;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

a=1000; //размер матрицы объектов

b=30;//число объектов

c=12;// номер объекта для вывода

d=2;//задание вероятности

x1=1;//координата1 окнаопознания

y1=1;// координата 1 окнаопознания

x2=150;//координата2опознания

y2=150;// координата 2 окна

h=100 ; //суперцикл

var

Tick: Cardinal;

w:array [1..3, 1..b] ofcardinal;//1, 2 координаты центров объектов

// объектов опознания

//3 число элементов объекта

s:array [1..a,1..a,1..b] ofcardinal;// матрицаразмещения элементов

//объектов на матрице

p:array [1..b] ofcardinal;// сумма элементовдля каждого объекта

// в окне опознания

u: array [1..b] of variant;//частное суммы элементов объекта в окне опознания

//к сумме элементов всех объектов

u1: array [1..b] of variant;//частное сумме элементов объекта в окне опознания

u2: array [1..h] of cardinal;//1 центр объекта в окне опознания, 0 - вне окна

tt,i,j,q ,z,r,i1,i2,i3,j1,t,g ,k, v,y:integer;

n1, n2, n3,n4: integer;//

m1,m2,m3,m4,m5: integer;//

f, f1,f2,f3,f4,f5,z2,z4,z6,z8,z9 : integer;//

z1,z3,z5,z7 : real;

n: variant;

procedure TForm1.Button1Click(Sender: TObject);

// окантовка

begin

for q:=1 to 5// нумерация по вертикалив табл №1 ,

doStringGrid1.Cells[0,q]:=IntToStr(q) ;

for q:=1 to b //нумерация по горизонтали в табл №1 ,

doStringGrid1.Cells[q,0]:=IntToStr(q);

for q:= 1 to a// нумерация по вертикалив табл №2 ,

do StringGrid2.Cells[0,q]:=IntToStr(q);

for q:=1 to a //ну2мерация по горизонтали в табл №2 ,

doStringGrid2.Cells[q,0]:=IntToStr(q);

for q:= 1 to 10// нумерация по вертикалив табл №1 ,

doStringGrid3.Cells[0,q]:=IntToStr(q);

for q:=1 to 500//нумерация по горизонтали в табл №1 ,

doStringGrid3.Cells[q,0]:=IntToStr(q);

StringGrid1.Cells[0,0] := 'w[ ]';

StringGrid2.Cells[0,0] := 's[ ]';

StringGrid3.Cells[0,1] := 'p[ ]';

StringGrid3.Cells[0,2] := 'u[ ]';

StringGrid3.Cells[0,3] := 'u1[ ]';

StringGrid3.Cells[0,4] := 'u2[ ]';

////////////////// Генерация объектов

forf:=1 to h do//Суперрцикл

begin //f

for i:=1 to b do

begin

p :=0;

u :=0;

u1 := 0;

end;

for i:=1 to 3 do

for j:=1 to b do

w[i,j] :=0;

for i1:=1 to a do

for i2:=1 to a do

for i3:=1 to b do

s[i1,i2,i3] :=0;

z1:=0; z2:=0; z3:=0; z4:=0;

z5:=0; z6:=0; z7:=0; z8:=0;

for r:= 1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

n1:=0; n2:=0;

begin

n1:= random(a)+1;

n2:= random(a)+1;

w[1,r] := n1;

w[2,r] := n2;

end;

for i:=1 to a do

for j:=1 to a do

begin

if(random (Trunc (Sqrt( Sqr(abs(n1-i))+Sqr(abs(n2-j)) )

+1)) *3)<=dthen s[i,j,r] :=r;

end; end;

tt:=Trunc(Sqrt (0));//для ясности

{?x Sqrt (x) Квадратный корень из x

x2 Sqr (x) Квадрат x

}

fort:=1 to b do

for i:=1 to a do

for j:=1 to a do

if s[i,j,t] >0then

w[3,t] :=w[3,t]+1;

//// Опознавание объъектов

for g:=1 to bdo

for i:=y1 to y2 do

for j:=x1 to x2 do

if s[i,j,g] >0then begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

p[g] :=p[g] +1;

z:=z+1;

end;

for i:=1 to b do begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

u := 100*p /z;

u := 100*p /z;

u1 := 1000* p/w[3,i];

end;

//Опознание центров z2 и z4в окне опознанпия

for i:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

ifu > z1 then begin z1:= u; z2:=i;end;

ifu1 > z3 then begin z3:= u1; z4:=i;end;

end;

//Опознание центров z6 и z8в окне опознанпия

for i:=1 to b do

begin

Form1.Caption:=IntToStr(GetTickCount-Tick);

if i<>z2 then ifu > z5 then begin z5:= u; z6:=i;end;

if i<>z4 then ifu1 > z7 then begin z7:= u1; z8:=i;end;

end;

if ( ((w[1,z4]>=x1) and(w[1,z4]<=x2)) and

((w[2,z4]>=y1) and(w[2,z4]<=y2)) )

thenbegin z9 := z9+1; u2[f] :=1;end;

end;//f

N:= z9/h;

////Вывод

for i:=1 to bdobegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid1.Cells[i,1]:= IntToStr(w[1,i]);

StringGrid1.Cells[i,2]:= IntToStr(w[2,i]);

StringGrid1.Cells[i,3]:= IntToStr(w[3,i]);

end;

for I:=1 to a do

for J:=1 to ado

StringGrid2.Cells[j,i]:= IntToStr(s[i,j,z4])+' * '+IntToStr(s[i,j,z8]);

for j:=1 to b do

StringGrid3.Cells[j,1]:= IntToStr(p[j]) ;

fori:=1 to b dobegin

Form1.Caption:=IntToStr(GetTickCount-Tick);

StringGrid3.Cells[i,2]:=FormatFloat('0.00',u);

StringGrid3.Cells[i,3]:=FormatFloat('0.00',u1);

end;

fori3:=1 to h dobegin

StringGrid3.Cells[i3,4]:=IntToStr(u2[i3])

end;

Edit1.Text :=

'n1=' +''+ IntToStr(n1)+''+ 'n2=' +''+ IntToStr(n2)

+''+ 'z=' +''+ IntToStr(z)

+''+ 'z1=' +''+ FormatFloat('0.00',z1) +''+ 'z2=' +''+ IntToStr(z2)

+''+ 'z3=' +''+ FormatFloat('0.00',z3) +''+ 'z4=' +''+ IntToStr(z4)

+''+ 'z5=' +''+ FormatFloat('0.00',z5) +''+ 'z6=' +''+ IntToStr(z6)

+''+ 'z7=' +''+ FormatFloat('0.00',z7) +''+ 'z8=' +''+ IntToStr(z8);

Edit2.Text :=

'z9=' +''+ IntToStr(z9)

+''+ 'n=' +''+ FormatFloat('0.00',n)

+''+'u2[h]=' +''+ IntToStr(u2[h])

+''+'tt=' +''+ IntToStr(tt)

end;

////////////////////////////////////////////////////////////////

procedure TForm1.Button5Click(Sender: TObject);

begin

close

end;

initialization

randomize;

end.

#52 
alek4 старожил19.02.25 21:12
NEW 19.02.25 21:12 
in Antwort alek4 31.01.25 14:13

Программа«Мыслеворот»

||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||

[size=20][color=maroon]1. Основной цикл.

На вход блокаприходит переменная ss.

В диапазоне 1-a.

В блоке 1 происходит преобразование числа

ss в число tt.

Порядок преобразований определяется массивом U1[1..a].

Номер входа ss - на выходе число tt.

Число tt равно числу с номером ss в массиве U1[1..a].

В начале вычислений ss = pp.

Далее.

На входе блока числа ss = tt, на выходе ss.

Основной цикл повторяется k1.

Числа ss записываются в массив c[1..k1].

[/color][/size]

[size=20][color=purple]2. Суперцикл

Для набора статистики основной цикл повторяется d раз.

Результаты по сумме циклов определенной длинысуммируются в массиве U4[1..a].

[/color][/size]

[color=fuchsia][size=20]3. Пакеты

По результатам многочисленных вычислений определена следующая закономерность.

Последовательность чисел ss образует периодически повторяющиесяпакеты (последовательности чисел).

Предусмотрено вычисление массива u4[1..a].

Каждая позиция i массива u5[1..a] равна сумме пакетов длины i в суперцикле.

В данном варианте программы Мыслеворот 5 учитываются только пакеты длиной не более 32.

[/size][/color]

[size=20][color=green]4. Вывод.

4.1. pp..2. tt и ss.

4.2. Четырьмя строками в соответствии со значениями k:1 …49, 50 …99, 100 …149,(k1- 4)…k1.

4.3. u4[1..a]

Последний результат в суперцикле при вычислении основного цикла.

4.3. u5[1..a]

Суммарные результаты основных циклов при выполнении суперцикла.

4.4. Edit 2 Входные данные:

a, d, k1.

4.5. p6

Суммарное число выхода из основного цикла

c наличием одного повторяющегося пакета.

Правильный результат

4.6. p7

Суммарное число выхода из основного цикла

наличием двух повторяющихся пакетов.

Это для тестирования сбоев в программе.

4.7. p 8

Суммарное число выхода из основного цикла при наличии трёх повторяющхся циклов.

Это для тестирования сбоев в программе.

4.8. p9

Число нулей в массивах c[k].

Правильный результат a *d – p6

if u5[p5] =1

then p6:= p6 +1;

if u5[p5] =2

then p7:= p7 +1;

if u5[p5] =3

then p8:= p8 +1;

if u5[p5] =0

then p9:= p9 +1

[/color][/size]

[size=20][color=navy]5. Указания к расчётам.

Как было упомянуто, программа не учитывает пакеты длиной более 32.

Поэтому ограничения на числа a и d.

Показатель правильных расчётов: p6 = d.[/color][/size]

[size=20][color=blue]6. Результаты счёта.

6.1. С «возрастанием» a увеличивается длина пакета.

6.2. С «возрастанием» d появляются пакеты большой длины.

5.3. При «малых» k1 и «больших» d и a изредка не формируются повторяющиеся пакеты.

[/color][/size]

[size=20][color=teal]Скачать программу[/color][/size]

https://yadi.sk/d/11p3jtKEuGXn5

//////////////////////////////////////

|||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=blue]В развитие программы 5 – Мыслеворот создана программа В- Мыслеворот

Отличия:

А) Снято ограничениепо максимальной длине цикла.

Б) Введен массив.

U6[1...a]

Элементы массива равны отношению смежных элементов массива u4[1...a],

То есть сумм циклов, длины которых отличается на единицу.

В) Введен массив.

U7[1...a]

Элементi равен сумме последовательностей ss длиной i.

Отсчёт от начала вычислениядо формировки цикла ss.

Г) Вычисляется p11 – максимально длинный цикл.

Д)Вычисляется p12– максимально длинная последовательность от начала расчёта

до формирования первого цикла ss.

Е) Вычисляется средняя длина цикла – pa

Ж) Вычисляется средняя длина последовательности до формирования цикла- pb[/color][/size]

[size=20][color=maroon]Определена закономерность:

pa примерно равно pb[/color][/size]

[size=18][color=purple]Комментарий: Использован алгоритм определения циклов с двумя допущениями.

1. Длина цикла не превышает a

2. В цикле не повторяющихся чисел.

[/color][/size]

[size=18][color=green]Эти два допущения подтверждены расчётами.

Но следует доказать.[/color][/size]

[size=20][color=red]Скачать исходник[/color][/size]

https://yadi.sk/d/1Vx5n2IQvKBCe

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=blue]В вероятностных расчётах обычно действует общее правило.

С увеличением числа расчётов результаты «стремятся» к неким

усредненным показателям.

По программе «Мыслеворот» проведен расчёты

при:

k1 = 300a = 50d =100000

Для трёх вариантов расчётов получены следующие результаты

(результаты счёта для трёх вариантов разделены «-»).

[/color][/size]

[size=18][color=maroon]p11 (максимальная длина цикла) = 26-26-25

p12 (максимальная длина последовательности до вхождения в цикл) = 26-26-28

pa (средняя длина цикла) = 4,78-4,79-4,76

pb (средняя длина последовательности до вхождения в цикл) = 4,77-4,77-4,77

[/color][/size]

|||||||||||||||||||||||||||||

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=blue]Вычиcляются

s(a) = pa : a

где:

а - число чисел в массиве преобразования -u1[1..a] (программа С- Мыслеворот)

pa: -средняя длина цикла(программа С- Мыслеворот)[/color][/size]

[color=maroon][size=18]s(50) = 0,09500

s(150) = 05313

s(1000) = 0,01936

s(2000) = 0,01422

a(5000) = 0,00891

s(10000) = 0,00623

s(30000) = 0,00366

s(50000) = 0,00267

s(60000) = 0,00256 (?)

s(80000) = 0,00019

[/size][/color]

||||||||||||||||||||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||

[size=20][color=maroon]Программа Мыслеворот моделирует

распространение фронта изменений вфизической среде.

Причемсвойства фронта меняются под воздействием среды.

Когда-то наступает равновесие.

Характеристики фронта уже не меняются.

[/color][/size]

[size=20][color=purple]Пример для физики.

Кристаллизация.

[/color][/size]

[size=20][color=blue]Пример для человеческого общества.

Распространение слуха.

Вначале слух трансформируется в процессе распространения,

затем принимает законченную форму.[/color][/size]

||||||||||||||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=maroon]В программе С - Мыслеворот матрица преобразованийU1[1..a]

формируется следующим образом:

Случайно выбираются числа из последовательности чисел от 1 до a.

Исходная последовательность чисел не изменяется.

Из них формируетсямассив преобразованийU1[1..a].

В результате в массиве преобразований некоторые числа из массива a

могут быть более одного раза, а некоторых чисел может не быть.

В программеП - Мыслеворот массив преобразованийU1[1..a]

- перестановка чисел от 1 до a.[/color][/size]

[color=green]Скачать[/color]

https://yadi.sk/d/tt0QStIL3Gzain

[size=20][color=navy]ПрограммыС - Мыслевороти П - Мыслеворот имеют одинаковый алгоритм.

Только в программеП - Мыслеворот несколько изменены выходные данные.

Для удобства в программеП- Мыслеворот предусмотрен простой переход к

алгоритму программы С - Мыслеворот.[/color][/size]

[size=20][color=purple]Результаты счета по двум программам сильно различаются.

1. С - Мыслеворот.

Суммациклов почти плавно уменьшается с ростом длины цикла.

П - Мыслеворот

Сумма циклов почти одинакова для каждой длины цикла.

2.С - Мыслеворот

Последовательность чисел ss вступает в цикл после нескольких итераций

Массивu9

П. - Мыслеворот

Последовательность чисел ss вступает в цикл с первой итерации

Массивu9

[/color][/size]

#53 
alek4 старожил23.02.25 16:39
NEW 23.02.25 16:39 
in Antwort alek4 31.01.25 14:13

Разбиение чисел на квадраты

/||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=maroon]В 1770 году Лагранж дал нам теорему.

В современной форме:

А.А. Бухштаб

Теория чисел

Теорема 303. (Лагранж) Каждое натуральное число представимо в виде суммы четырёх квадратов целых чисел.

[/color][/size]

[size=20][color=blue]Лагранж засчитывал и квадраты нуля.

[/color][/size]

[size=20][color=purple]Любопытно.

А что будет, если исключить квадраты нуля?

Условное название: разбиение А.

Разработана программа 4 kvadrat.

Программа отыскивает все возможные Разбиения А.

Вычисления.

Рассчитано разбиение совокупности целых чисел от 1 до 1500.

Результат.

1.Наибольшее число безРазбиения А – 128.

2.Среди 1500 чисел наибольшее число разбиений – 81 для1470.

3.Вычислены средние числа разбиений:x1 и x2.[/color][/size]

[size=20][color=green]Скачать программу 4 kvadrat

https://yadi.sk/d/3mkh6ZYI3Xm7rQ[/color][/size]

//////////////////////

|}}}}}}}}}}}}}}}

[size=20][color=maroon]В развитие программы 4 kvadrat разработана программа 5 kvadrat.

Вместо 4 квадратов число разбивается на 5 квадратов.

Условное название: разбиение В.

Программа отыскивает все возможные Разбиения В.

Вычисления.

Рассчитано разбиение совокупности натуральных чисел от 1 до 1500.

Результат.

1.Наибольшее число безРазбиения В среди 1500 натуральных числе– 33.

2.Среди натуральных 1500 чисел наибольшее число разбиений – 332 для1459 .

3.Вычислены средние числа разбиений:x1 и x2.

[/color][/size]

5 kvadrat

u1[ww]=--126------p=--1500------k=--166------w=--38------x1=--098,333------x2=--170,789

4 kvadrat

u1[ww]=--54------p=--1500------k=--48------w=--38------x1=--021,205------x2=--044,038

3 kvadrat

u1[ww]=--9------p=--1499------k=--0------w=--38------x1=--003,461------x2=--010,318

[size=20][color=green]Скачать программу 5 kvadrat.[/color][/size]

https://yadi.sk/d/Pw8-Q0bH3XpSnX

|||||||||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||||||||||||

В развитие программы 4 kvadrat разработана программа 1 kvadrat.

Вместо 4 квадратов число «разбивается» на 1 квадрат.

Условное название: разбиение Д.

Программа отыскивает все возможные Разбиения Д.

Вычисления.

Рассчитано разбиение совокупности натуральных чисел от 1 до 1500.

Результат.

1.Наибольшее число безРазбиения Д среди 1500 натуральных чисел– 0.

2.Среди 1500 чисел наибольшее число разбиений – 1 для1444 .

3.Вычислены средние числа разбиений:x1 и x2.

5 kvadrat

u1[ww]=--126------p=--1500------k=--166------w=--38------x1=--098,333------x2=--170,789

4 kvadrat

u1[ww]=--54------p=--1500------k=--48------w=--38------x1=--021,205------x2=--044,038

3 kvadrat

u1[ww]=--9------p=--1499------k=--0------w=--38------x1=--003,461------x2=--010,318

2 kvadrat

u1[ww]=--1------p=--1493------k=--0------w=--38------x1=--000,389------x2=--002,787

1 kvadrat

u1[ww]=--1------p=--1444------k=--0------w=--38------x1=--000,025------x2=--001,619

[size=20][color=green]Скачать программу 1 kvadrat.[/color][/size]

https://yadi.sk/i/lEGrhgbK3YAqi7

||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||

В развитие программы 4 kvadrat разработана программа 1 kvadrat.

Вместо 4 квадратов число «разбивается» на 1 квадрат.

Условное название: разбиение Д.

Программа отыскивает все возможные Разбиения Д.

Вычисления.

Рассчитано разбиение совокупности натуральных чисел от 1 до 1500.

Результат.

  1. Наибольшее число безРазбиения Д среди 1500 натуральных чисел– 0.
  2. Среди 1500 чисел наибольшее число разбиений – 1 для1444 .
  3. Вычислены средние числа разбиений:x1 и x2.

5 kvadrat

u1[ww]=--126------p=--1500------k=--166------w=--38------x1=--098,333------x2=--170,789

4 kvadrat

u1[ww]=--54------p=--1500------k=--48------w=--38------x1=--021,205------x2=--044,038

3 kvadrat

u1[ww]=--9------p=--1499------k=--0------w=--38------x1=--003,461------x2=--010,318

2 kvadrat

u1[ww]=--1------p=--1493------k=--0------w=--38------x1=--000,389------x2=--002,787

1 kvadrat

u1[ww]=--1------p=--1444------k=--0------w=--38------x1=--000,025------x2=--001,619

Скачать программу 1 kvadrat.

https://yadi.sk/d/scvFLwmD3YAome

???????????????????????????????????????????????

[color=maroon][size=20]Людям свойственно стремление познать новое.

Гении типа Эйлера делают это без особых усилий.

Остальные с трудом.

Но сейчас нашему мозгу может помочь компьютер.

Так, например, меня заинтересовала проблема разбиениячислана произведение четырёх чисел(квадраты).

Например, разбиение на 5 квадратов.

a = qwen+ asdm+zxcv+yuib+hjkg

Каждый квадрат отличается, хотя одним сомножителем.

Разработана программа Xkvadrat.

Заменяет ранее выставленные программы.

Задается последовательность чисел.

Минимальное uu, максимальное d.

Для каждого числа в этом диапазоне проверяется возможность разбиения на заданное число квадратов – ss.

Число ss задается в диапазоне от 1 до 10.[/size][/color]

[color=purple]Результаты расчётов:

Массивu1 : array [1.. d]

u1 : число разбиений на квадраты числа i.

Массивua : array [1.. 5, 0..1000]

ua[1,j]:число разбиений, ua[2,j]:суммаразбиений

Массивub : array [1..100, 1..30]

ub[i,1]………ub[i,k]: I – номер разбиения, k – число квадратов в разбиении

Величина элемента массива число в разбиении на квадраты.

hh – максимальное число разбиений на квадраты при заданном ss

zz –максимальное число с максимальным разбиением на квадраты.

x1и x2 – усредненные показатели[/color]

Скачать программу Xkvadrat (Delphi)

https://yadi.sk/d/cESXKcBCUh0ltw

Предполагается, что возможно повезёт,и из расчётов, выявятся какие либо закономерности.

Разбиение чисел на квадраты

КОМЕНТАРИИ К ПРОГРАММАМ

https://fguploniis.mybb.ru/viewtopic.php?id=788

/||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=maroon]В 1770 году Лагранж дал нам теорему.

В современной форме:

А.А. Бухштаб

Теория чисел

Теорема 303. (Лагранж) Каждое натуральное число представимо в виде суммы четырёх квадратов целых чисел.

[/color][/size]

[size=20][color=blue]Лагранж засчитывал и квадраты нуля.

[/color][/size]

[size=20][color=purple]Любопытно.

А что будет, если исключить квадраты нуля?

Условное название: разбиение А.

Разработана программа 4 kvadrat.

Программа отыскивает все возможные Разбиения А.

Вычисления.

Рассчитано разбиение совокупности целых чисел от 1 до 1500.

Результат.

1. Наибольшее число без Разбиения А – 128.

2. Среди 1500 чисел наибольшее число разбиений – 81 для 1470.

3. Вычислены средние числа разбиений: x1 и x2.[/color][/size]

[size=20][color=green]Скачать программу 4 kvadrat

https://yadi.sk/d/3mkh6ZYI3Xm7rQ[/color][/size]

//////////////////////

|}}}}}}}}}}}}}}}

[size=20][color=maroon]В развитие программы 4 kvadrat разработана программа 5 kvadrat.

Вместо 4 квадратов число разбивается на 5 квадратов.

Условное название: разбиение В.

Программа отыскивает все возможные Разбиения В.

Вычисления.

Рассчитано разбиение совокупности натуральных чисел от 1 до 1500.

Результат.

1. Наибольшее число без Разбиения В среди 1500 натуральных числе – 33.

2. Среди натуральных 1500 чисел наибольшее число разбиений – 332 для 1459 .

3. Вычислены средние числа разбиений: x1 и x2.

[/color][/size]

5 kvadrat

u1[ww]=--126------p=--1500------k=--166------w=--38------x1=--098,333------x2=--170,789

4 kvadrat

u1[ww]=--54------p=--1500------k=--48------w=--38------x1=--021,205------x2=--044,038

3 kvadrat

u1[ww]=--9------p=--1499------k=--0------w=--38------x1=--003,461------x2=--010,318

[size=20][color=green]Скачать программу 5 kvadrat.[/color][/size]

https://yadi.sk/d/Pw8-Q0bH3XpSnX

|||||||||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||||||||||||

В развитие программы 4 kvadrat разработана программа 1 kvadrat.

Вместо 4 квадратов число «разбивается» на 1 квадрат.

Условное название: разбиение Д.

Программа отыскивает все возможные Разбиения Д.

Вычисления.

Рассчитано разбиение совокупности натуральных чисел от 1 до 1500.

Результат.

1. Наибольшее число без Разбиения Д среди 1500 натуральных чисел – 0.

2. Среди 1500 чисел наибольшее число разбиений – 1 для 1444 .

3. Вычислены средние числа разбиений: x1 и x2.

5 kvadrat

u1[ww]=--126------p=--1500------k=--166------w=--38------x1=--098,333------x2=--170,789

4 kvadrat

u1[ww]=--54------p=--1500------k=--48------w=--38------x1=--021,205------x2=--044,038

3 kvadrat

u1[ww]=--9------p=--1499------k=--0------w=--38------x1=--003,461------x2=--010,318

2 kvadrat

u1[ww]=--1------p=--1493------k=--0------w=--38------x1=--000,389------x2=--002,787

1 kvadrat

u1[ww]=--1------p=--1444------k=--0------w=--38------x1=--000,025------x2=--001,619

[size=20][color=green]Скачать программу 1 kvadrat.[/color][/size]

https://yadi.sk/i/lEGrhgbK3YAqi7

||||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||

В развитие программы 4 kvadrat разработана программа 1 kvadrat.

Вместо 4 квадратов число «разбивается» на 1 квадрат.

Условное название: разбиение Д.

Программа отыскивает все возможные Разбиения Д.

Вычисления.

Рассчитано разбиение совокупности натуральных чисел от 1 до 1500.

Результат.

  1. Наибольшее число без Разбиения Д среди 1500 натуральных чисел – 0.
  2. Среди 1500 чисел наибольшее число разбиений – 1 для 1444 .
  3. Вычислены средние числа разбиений: x1 и x2.

5 kvadrat

u1[ww]=--126------p=--1500------k=--166------w=--38------x1=--098,333------x2=--170,789

4 kvadrat

u1[ww]=--54------p=--1500------k=--48------w=--38------x1=--021,205------x2=--044,038

3 kvadrat

u1[ww]=--9------p=--1499------k=--0------w=--38------x1=--003,461------x2=--010,318

2 kvadrat

u1[ww]=--1------p=--1493------k=--0------w=--38------x1=--000,389------x2=--002,787

1 kvadrat

u1[ww]=--1------p=--1444------k=--0------w=--38------x1=--000,025------x2=--001,619

Скачать программу 1 kvadrat.

https://yadi.sk/d/scvFLwmD3YAome

???????????????????????????????????????????????

[color=maroon][size=20]Людям свойственно стремление познать новое.

Гении типа Эйлера делают это без особых усилий.

Остальные с трудом.

Но сейчас нашему мозгу может помочь компьютер.

Так, например, меня заинтересовала проблема разбиения числа на произведение четырёх чисел (квадраты).

Например, разбиение на 5 квадратов.

a = qwen+ asdm+zxcv+yuib+hjkg

Каждый квадрат отличается, хотя одним сомножителем.

Разработана программа Xkvadrat.

Заменяет ранее выставленные программы.

Задается последовательность чисел.

Минимальное uu, максимальное d.

Для каждого числа в этом диапазоне проверяется возможность разбиения на заданное число квадратов – ss.

Число ss задается в диапазоне от 1 до 10.[/size][/color]

[color=purple]Результаты расчётов:

Массив u1 : array [1.. d]

u1 : число разбиений на квадраты числа i.

Массив ua : array [1.. 5, 0..1000]

ua[1,j]: число разбиений, ua[2,j]: сумма разбиений

Массив ub : array [1..100, 1..30]

ub[i,1]………ub[i,k]: I – номер разбиения, k – число квадратов в разбиении

Величина элемента массива число в разбиении на квадраты.

hh – максимальное число разбиений на квадраты при заданном ss

zz – максимальное число с максимальным разбиением на квадраты.

x1 и x2 – усредненные показатели[/color]

Скачать программу Xkvadrat (Delphi)

https://yadi.sk/d/cESXKcBCUh0ltw

Предполагается, что возможно повезёт, и из расчётов, выявятся какие либо закономерности.

#54 
alek4 старожил14.03.25 14:48
NEW 14.03.25 14:48 
in Antwort alek4 31.01.25 14:13

Разбиение числа на кубы

Комментарии к программам

https://fguploniis.mybb.ru/viewtopic.php?id=794

|||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=maroon]Совокупность чисел напоминает звездное небо.

Что-то загадочное и непонятное.

Математики и астрономы создают из беспорядка удивительные теории.

Для любопытства создал программы для вычисления разбиения чисел на квадраты.

Это ветвь «Разбиения числа на квадраты».

Теперь очередь разбиения чисел на кубы.

От одного до семи.

Порядок вычислений тот же, что квадратов.

Результаты расчётов для разбиения на кубы 1-7.[/color][/size]

№ 1

u1[ww]=--1------p=--1331------k=--0------w=--11------x1=--000,007------x2=--001,198------kk=--11

№ 2

1[ww]=--1------p=--1458------k=--0------w=--11------x1=--000,038------x2=--000,907------kk=--5------rr=--11

№ 3

u1[ww]=--2------p=--1485------k=--0------w=--11------x1=--000,130------x2=--001,073------kk=--6------rr=--8vv=--9------tt=--0

№ 4

u1[ww]=--1------p=--1496------k=--0------w=--11------x1=--000,342------x2=--001,545------kk=--4------rr=--6rr=--6------vv=--610------tt=--10

№ 5

u1[ww]=--4------p=--1500------k=--2------w=--11------x1=--000,746------x2=--002,373

№ 6

u1[ww]=--5------p=--1500------k=--4------w=--11------x1=--001,416------x2=--003,637

№ 7

u1[ww]=--9------p=--1500------k=--2------w=--11------x1=--002,433------x2=--005,423

[size=20][color=green]Скачать

Программы [/color][/size]

kub 1 -kub 7

https://yadi.sk/d/b6b4yBwU3YKpVf

|||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||

[size=20][color=maroon]Людям свойственно стремление познать новое.

Гении типа Эйлера делают это без особых усилий.

Остальные с трудом.

Но сейчас нашему мозгу может помочь компьютер.

Так, например, меня заинтересовала проблема разбиениячислана произведение трёх чисел(кубы).

Например, разбиение на 5 кубов.

a = qwe+ asd+zxc+yui+hjk

Каждый куб отличается, хотя одним сомножителем.

Разработана программа Xcub.

Заменяет ранее выставленные программы.

Задается последовательность чисел.

Минимальное uu, максимальное d.

Для каждого числа в этом диапазоне проверяется возможность разбиения на заданное число кубов – ss.

Число ss задается в диапазоне от 1 до 10.[/color][/size]

[size=20][color=purple]Результаты расчётов:

Массивu1 : array [1.. d]

u1 : число разбиений на квадраты числа i.

Массивua : array [1.. 5, 0..1000]

ua[1,j]:число разбиений, ua[2,j]:суммаразбиений

Массивub : array [1..100, 1..30]

ub[i,1]………ub[i,k]: I – номер разбиения, k – число кубов в разбиении

Величина элемента массива число в разбиении на кубы.

hh – максимальное число разбиений на кубы при заданном ss

zz –максимальное число с максимальным разбиением на кубы.

x1и x2 – усредненные показатели

[/color][/size]

[size=20][color=green]Скачать программу Xcub[/color][/size]

https://yadi.sk/d/Chu4yjcqFZTJMQ

[size=20][color=blue]Предполагается, что возможно повезёт,и из расчётов, выявятся какие либо закономерности.

Например.[/color][/size]

ss = 10uu = 3

dhh

1000

2000

3001

4001

5001

10002

15004

20007

25009

300014

350016

400023

450027

500033

550041

600051

|||||||||||||||||||||||||||||||||||

|||||||||||||||||||||||||||||||||||||||||

#55 
alek4 старожил16.03.25 13:03
NEW 16.03.25 13:03 
in Antwort alek4 31.01.25 14:13

Разбиение числа на числа в четвёртой степени

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=maroon]Продолжение программcubiи chvadrati.

Исследуется разбиение числа на числа в четвертой степени.

От одного до 7.

Числа для разбиения 1 и более.

Результаты счёта для разбиений1 -7.[/color][/size]

1

u1[ww]=--1------p=--1296------k=--0------w=--6------x1=--000,004------x2=--001,081------kk=--6

2

u1[ww]=--1------p=--1377------k=--0------w=--6------x1=--000,012------x2=--000,640------kk=--3------rr=--6

3

u1[ww]=--1------p=--1458------k=--0------w=--6------x1=--000,026------x2=--000,533------kk=--3------rr=--3vv=--6------tt=--0

4

u1[ww]=--1------p=--1474------k=--0------w=--6------x1=--000,047------x2=--000,514------kk=--2------rr=--3rr=--3------vv=--36------tt=--6

5

u1[ww]=--1------p=--1493------k=--0------w=--6------x1=--000,075------x2=--000,535

6

u1[ww]=--1------p=--1494------k=--0------w=--6------x1=--000,107------x2=--000,577

7

u1[ww]=--1------p=--1495------k=--0------w=--6------x1=--000,145------x2=--000,633

[size=20][color=green]Скачать программы [/color][/size]


https://yadi.sk/d/i5mx9Gsn3YvFxa

|||||||||||||||||||

||||||||||||||||||||||||||||||||||||||

#56 
alek4 старожил17.03.25 11:52
NEW 17.03.25 11:52 
in Antwort alek4 31.01.25 14:13

Случайные перестановки


|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20][color=blue]В задачах моделирования иногда требуется сгенерировать

случайную перестановку из d объектов.

Как понимать случайную?

Каким-то образом сгенерированы

все возможные перестановки.

Их d!

Пронумеруем, и случайным образом выбирается одна перестановка.

Проще так.

Случайно выбирается первый объект.

Из оставшегося множества второй объект и т.д.

Эти два способа интуитивно равнозначны.

По второму способу разработана маленькая программа:

+perectroika.

Вход: d – число объектов.

Объекты пронумерованы.

В строке 2 таблицы случайная перестановка.

Остальные данные вывода для понимания алгоритма.

Скачать программу[/color][/size]

https://yadi.sk/d/Z-7tdH2G3GZUtu

|||||||||||||||||||||||||||||||||||||||||||||||||

||||||||||||||||||||||||||||||||||||||||||||||||||


#57 
alek4 старожил18.03.25 17:24
NEW 18.03.25 17:24 
in Antwort alek4 31.01.25 14:13

|

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[color=purple][size=30]Программа

«Построение случайного графа»[/size]

[/color]

[size=20][color=maroon]1.Общее[/color][/size]

Теория графов:это набор алгоритмов для вычисления разных характеристик графов.

Чтобы оценить алгоритмы, надо провести проверочные расчёты.

Для получения полезной информации расчёты следует проводить над однотипными графами.

Таким объектом могут быть случайные графы.

То есть графы параметры, которых имеют вероятностный вид.

Конкретно.

Есть граф G с n вершинами.

Случайным образом вводятся ребра (дуги).

Принято, что ребро соответствует двум противоположно направленным дугам.

По определенному порядку вводятся дуги.

Важнейшей характеристикой графа являютсястепени вершин.

Степень вершины это число ребёр, инцидентных вершине или число дуг исходящих (входящих) дуг.

Распределение степеней вершин зависит от алгоритма построения случайного графа.

Граф G – связный.

То есть между каждыми двумя вершинами есть путь из рёбер или однонаправленных дуг.

[size=20][color=maroon]2.Алгоритм – основной цикл[/color][/size]

Алгоритм построения случайного графа сходен с алгоритмом случайного дерева.

Построение случайного дерева

Исходное состояние: nподграфов.

По одной вершине в подграфе.

Далее случайным образом выбираются подграфыbи d.

К подграфуb присоединяются вершины подграфа d.

Между вершинами подграфов случайным образом вводятся по паре противоположно направленных дуг.

Обязательно между вершиной подграфаb и вершиной подграфаd не входившей в подграф b.

Так заполняется матрица смежности.

Между каждой парой вершин только одна пара противоположно направленных дуг.

Расчёты заканчиваются, если в подграфе n вершин.

[size=20][color=maroon]3.Алгоритм – суперцикл[/color][/size]

Для получения усредненных величин введен суперцикл.

На каждой итерации основного цикла выполняется основной цикл.

[size=20][color=maroon]4.Исходные[/color][/size]

n- число вершин графа

tt- допустимое число итераций основного цикла

x – число итераций суперцикла

CC -

[size=20][color=maroon]5.Вывод[/color][/size]

K – счетчик основного цикла

u:array [1..n, 1 ..n] - подграфы

p : array [1..n,1..n]- матрица смежности

uu :array [1..5*n] – величина k при формировании подграфа[color=green][/color]

r :array [1..n]- - суммарные степени вершин

s1:array [1..100, 1..2]- последовательность пар подграфов b и d

hh :array [1..x]- матрица вспомогательная

r1 : array [1..n]- усредненные степени вершин

ff: array [1..n]- матрица вспомогательная

r2 : array [1..n]- матрица вспомогательная

r3 : array [1..n] -матрица вспомогательная

Вспомогательные матрицы намечено использовать для изучения распределения степеней вершин

[size=20][color=maroon]6.Программа A Graf[/color][/size]

Программа на Дельфи 7

[size=20]Скачать[/size]

https://yadi.sk/d/5WZrbezfUEM7sg

#58 
anly патриот23.03.25 08:00
anly
NEW 23.03.25 08:00 
in Antwort alek4 17.03.25 11:52, Zuletzt geändert 23.03.25 08:01 (anly)

при попытке загрузки винда ругается

Проклят нарушающий межи ближнего своего (Втор.27:17)
#59 
alek4 старожил14.04.25 20:11
NEW 14.04.25 20:11 
in Antwort alek4 31.01.25 14:13

«Моделирование отбора длялокусов в разных хромосомах»

Комментарии к программам

https://fguploniis.mybb.ru/viewtopic.php?id=486

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20]Программа:

«Моделирование отбора длялокусов в разных хромосомах»[/size]

[size=20]Вступление[/size]

Приводится описание программы моделирования одного гипотетического

варианта естественного отбора: Мутации в двух хромосомах.

[size=20]1. Естественный отбор [/size]

По Дарвину особи с полезными признаками, дают больше потомства.

Чаще, но не всегда,достигается или повышением плодовитости при сохранении времени жизни, или увеличением времени жизни при сохранении прежней плодовитости, или действуют оба фактора одновременно.

По Дарвину это и есть положительный отбор. Имеются в виду признаки, полученные при мутациях и передающиеся по наследству. Понятие альтруизма здесь не рассматривается. Наследование генов альтруизма рассмотрено в ветви: АЛЬТРУИЗМ. Генетика конкретизировала основу понятия «признак» - гены. Основные определения по генетике в приложениях 1 - 6. Каждый признак определяется определенным геном или комбинацией генов. Гены поразличным причинам мутируют. Мутация определенного гена порождает аллели этого гена.

А, следовательно, и новые признаки организма. Естественный отбор может происходить по разным вариантам.

Вариант 1. Гены мутируют. Последствия мутаций в одном гене могут быть: положительные, отрицательные и нейтральные. Положительные мутации в процессе сохраняютсявсё большего числа особей. Отрицательные мутации «вымываются».

Вариант 2. При совпадении нескольких определенных нейтральных мутаций в разных хромосомах организм приобретает новые признаки, способствующие увеличению численности таких организмов. Для исследования такого варианта отбора разработана программа «Моделирование естественного отбора длялокусов в разных хромосомах».

[size=20]2. Цель программы[/size]

В программе «Моделирование естественного отбора длялокусов в разных хромосомах» изучается ситуация. Некие существа размножаются половым путем. Для определенности: «мужчины» и «женщины». Название условное. Могут быть и кузнечики. От перемены местами мужчин и женщин задача не меняется. Сделано гипотетическое допущение. Особь, у которой в определенных хромосомах в заданных локусах расположенызаданные гены из списка аллель генов,получает преимущество перед другими особями: меньше вероятность смерти. Такие особи получают условное название: особи с геномом плюс(+). Моделируется половой процесс с обменом хромосом между родителями при зачатии. Выясняется, сколько должно произойти рождений и смертей, для преобладания в сообществе особей с геномом плюс.

Две хромосомы 1 и 2, одинаковы для мужчин и женщин.

Гены в хромосоме 1: x1 и x2.

Гены в хромосоме 2: y1 и y2.

Аллели генов x1 и x2: 1,2…,.c

Аллели генов y1 и y2: 1,2…,.c

Гены в хромосомах 1 и 2 различны.

В конкретной программе особыс аллелеями:

x1 = 1

x2 = 1

y1 = 2

y2 = 2

Названы особями с геномом +.

Они имеют меньшую вероятность смерти.

То есть могут за «жизнь» произвести больше потомства.

В исходном состоянии задается некоторое множество мужчин и женщин.

Мужчин p3, женщинp4.

Для первой позиции (особи) в соответствующем массиве задается геном +.

Для остальных геном случайно.

Далее имитируется процесс размножения.

До достижения количества мужчин и женщин соответственно: p1 и p2.

В примере программы

p1 = p2

p3 = p4

[size=20]3. Формат программы.[/size]

Программа составлена на DELPHI 7. Ввод исходных данных непосредственно в тексте программы. Для работы с программой необходимо установить DELPHI 7.

[size=20][color=red]Скачать

Дельфи 7[/color][/size]

https://yadi.sk/d/W3zk0vU2fJdZe

[size=20][color=red]Скачать программу A-2chr[/color][/size]

https://yadi.sk/d/42DrSMFQfcv8x

[size=20]3. Биологическая интерпретация[/size]

Программа имеет следующую биологическую интерпретацию.

На необитаемом острове появилась популяция из p3 – «мужчин» и p4 – «женщин».

Один мужчина и одна женщина имеют геном +.

Данный геном уменьшает вероятность смерти.

Популяция может из-за ограниченных ресурсов увеличить численность только до p1 – «мужчин» и p2 – «женщин».

Другой вариант вымереть.

В определенное время года происходит вымирание, в другой сезон размножение.

Задано ограничение на число лет существования популяции - kk

Определяется: какая доля особей через kk лет с геномом плюс среди живущих мужчин и женщин и среди потенциально возможного числа мужчин и женщин.

[size=20]4. Алгоритм[/size]

Алгоритм состоит из следующих блоков.

БЛОК ОКАНТОВКИ ТАБЛИЦ

БЛОК СУПЕРЦИКЛА

БЛОК СМЕРТЬ +РОЖДЕНИЕ

БЛОК СМЕРТЬ

БЛОК РОЖДЕНИЕ

БЛОК ВЫВОДА

[size=20]4.1. БЛОК ОКАНТОВКИ ТАБЛИЦ[/size]

Проставка номеров строк и столбцов

[size=20]4.2. БЛОК СУПЕРЦИКЛА[/size]

В ходе суперцикла повторяется:

БЛОК СМЕРТЬ+РОЖДЕНИЕ

.

Смысл суперцикла.

Данные по выполнению БЛОК СМЕРТЬ+РОЖДЕНИЕ

имеют большой вероятностный разброс.

Поэтому следует использовать усредненные данные по ходу выполнения суперцикла.

[size=20]4.3. БЛОК СМЕРТЬ+РОЖДЕНИЕ[/size]

Поочередно выполняются:

БЛОК СМЕРТЬ

БЛОК РОЖДЕНИЯ

Ограничениями служат:

Максимальное число мужчин – константа p1;

Максимальное число женщин – константа p2;

Заданное число итераций – константаkk.

Используется цикл while

[size=20]4.4. БЛОК СМЕРТИ[/size]

В ходе выполнения этого блока поочередно сканируются массивы мужчин и женщин.

С заданной вероятности имитируется смерть, то есть обнуление просканированных позиций массивов.

Для особей с геномом + устанавливается меньшая вероятность смерти.

Число проведения итераций БЛОК СМЕРТИ задается.

Константа t.

[size=20]4.4. БЛОК РОЖДЕНИЯ[/size]

В ходе выполнения БЛОК РОЖДЕНИЯ вначале определяется число рождений.

Если число мужчин превышает число женщин, число рождений задается долей от числа мужчин.

В противном случае число рождений- доля от числа женщин.

Рождение мужчины или женщины случайно.

Далее случайным образом выбирается пара мужчина – женщина.

Далее имитируется рождение новой особи.

Генотип определяется в соответствии с законом Менделя.

[size=20]4.5. Исходные данные[/size]

Исходные данные (const) вводятся непосредственно в тексте программы.

[size=20]5. Массивы и переменные[/size]

Основныемассивы. Массив исходных мужчин u1[1..k,1..p3,1..2], где: k – число пар гомологичных хромосом, комбинации которых исследуются. p3 – число мужчин на старте программы. Позиции 1 и 2 соответствуют аллелям гена в гомологичных хромосомах.

Все аллели гена для заданного локуса пронумерованы

от 1 до с.

Принято: число аллель генов для всех локусов одинаково. Константа c задается в исходных данных.

Задается также массив u2[1..k,1..p4,1..2].

Где p4 число женщин.

Также задаются числа, определяющие вероятность смерти, вероятность рождения мужчины или женщины, вероятность для выбора варианта комбинации генов мужчины и женщины у потомка.

В тексте программы задаются особи с геномом плюс.

В данном варианте программы по одной особи на позиции № 1.

В ходе выполнения программы преобразуются массивы

ua[1..k,1..p3,1..2] и ub[1..k,1..p3,1..2], соответственно мужчины и женщины.

[size=20]6. БЛОК ВЫВОДА

[/size]

[size=20]6.1 Общее[/size]

Выводятся данные следующего вида:

А) Усредненные данные по всем итерациям суперцикла.

Б) Данные по первым 20 итерациям суперцикла

В) Данные по заданной итерации № ss суперцикла.

[size=20]6.1. Данные по совокупности суперцикла[/size]

Дано в разделе 7.

[size=20]6.2. Данные по 20 итерациям суперцикла:[/size]

Вывод массивы v[1..20], m[1..20] и d[1..20] соответственно для каждой итерации итог: число мужчин с геномом плюс, число мужчин и число незаполненных ячеек в массиве ua[1..20], то есть число потенциально возможных мужчин.

[size=20]6.3. Данные по заданной итерации суперцикла[/size]

Смотреть по тексту программы

[size=20]7. Результаты счета.[/size]

Предусмотрен вывод:

a: integer; // сумма мужчин за суперцикл

l: integer; // сумма отсутствия мужчин за суперцикл

v: integer; // сумма мужчин с геномом плюс за суперцикл

b: currency; // среднее число мужчин за суперцикл

l1: currency; //среднее число отсутствия мужчин за суперцикл

w: currency; среднее число мужчин с геномом плюс за суперцикл

g: currency; //за супер цикл. Отношение числа мужчин с геномом плюс к общему числу мужчин

g1: currency; // за супер цикл. Отношение числа мужчин с геномом плюс к потенциальномучислу мужчин

aa: integer; // сумма женщин за суперцикл

y1: integer; // сумма отсутствия сумма отсутствия женщин за суперциклза суперцикл

vv: integer; // сумма женщин с геномом плюс за суперцикл

bb: currency; // среднее число женщин за суперцикл

yy: currency; // среднее число отсутствия женщин за суперцикл

ww: currency; // среднее число женщин с геномом плюс за суперцикл

gg: currency; //за супер цикл. Отношение числа женщин с геномом плюс к общему числу женщин

gg1: currency; // за супер цикл. Отношение числа женщин с геномом плюс к потенциальномучислу женщин

gg2: integer; //число циклов суперцикла без вымирания для мужчин

gg3: integer; //число циклов суперцикла без вымирания для мужчин

r1: currency; //за суперцикл. Число циклов без вымирания для мужчин к общему числу циклов

r2: currency; //за суперцикл. Число циклов без вымирания для женщин к общему числу циклов

Имеются три варианта счета:

А) Вымирание: обнуление массивов ua[1..k,1..p1,1..2]и ub[1..k,1..p2,1..2] .

Б) Число элементов массивов ua[1..k,1..p1,1..2]и ub[1..k,1..p2,1..2] с геномом плюс в ходе расчётов существенно не изменились.

В) Число элементов массивов ua[1..k,1..p1,1..2]и ub[1..k,1..p2,1..2] с геномом плюс в ходе расчётов существенно увеличилось.

Интересен вариант В.

Иллюстрация эволюции.

Пример.

Исходные данные:

t = 1;// Число циклов смертей

kk = 1;// допустимое число циклов в основном цикле

p1 =2000;// Число мужчин- конечное(не более)

p2 = 2000; // Число женщин- конечное(не более)

p3 = переменная;//начальное число мужчин

p4 =переменная;//начальное число женщин

принято

p3 =p4

ff=5; // 1критерий для определения вероятностейсмерти

o3 = 2 ;//числодля расчёта рождений за цикл размножения (рождений) // наo3 делится числомужчин (женщин в текущий момент расчета)

fff = 20; // длярасчёта случайной величиныпри определении вероятности// смерти мужчин и женщин вне генома плюс

rr = 40 ; // для расчёта случайной величиныпри определении вероятности// смерти мужчин и женщин c геномом плюс

k = 2; // число независимо наследуемых генов

// размещены в неголомогичных хромосомах

c = 5; //число независимо наследуемых генов в расчете

sss =100; // число суперциклов

Ниже вывод для

p3 =p4: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30

b: currency; // среднее число мужчин за суперцикл

w: currency; среднее число мужчин с геномом плюс за суперцикл

g: currency; //за супер цикл. Отношение числа мужчин с геномом плюс к общему числу мужчин

g1: currency; // за супер цикл. Отношение числа мужчин с геномом плюс к потенциальномучислу мужчин

r1: currency; //за суперцикл. Число циклов без вымирания для мужчин к общему числу циклов

Результаты счёта

p3= p41bwgg1r1

1---891,26---891,26---1---0,4456---0,77

2---752,65---714,11---0,9487---0,3571---0,725

3---537,235---532,585---0,9913---0,2663---0,68

4---372,075---366,135---0,984---0,1831---0,645

5---265,49---261,89---0,9864---0,1309---0,6

6---220,29---219,275---0,9954---0,1096---0,53

7---173,2---172,055---0,9984---0,086---0,5

8---260,415---259,295---0,9957---0,1296---0,525

9---200,31---199,03---0,9936---0,0995---0,55

10---194,4---192,9---0,9923---0,0964---0,585

15---142,38---140,67---0,988---0,0703---0,6

20---99,335---97,59---0,9824---0,0488---0,58

25---111,91---109,55---0,9789---0,0548---0,56

30---142,3---139,8---0,9825---0,0699---0,58

35---88,395---86,355---0,5769---0,0432---0,59

40---93,26---90,495---0,9704---0,0452---0,58

50---95,885---92,33---0,929---0,0462---0,67

60---48,495---44,28---0,9131---0,221---0,695

70---86,67---80,21---0,9255---0,0401---0,759

80---80,27---71,505---0,8908---0,0358---0,79

90---34,945---24,325---0,691---0,0122---0,835

100---51,1---33,48---0,6552---0,0167---0,89

150---47,545---11,28---0,2372---0,0056---0,97

200---72,07---11,405---0,1582---0,0057---1

250---110,35---11,99---0,1087---0,006---1

300---144,59---10,45---0,0723---0,0052---1

[color=green]|||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 1[/size]

Основные принципы

Организм состоит из клеток. В клетках ядра. В ядрах хромосомы. Наборы хромосом почти во всех клетках одинаковы. Исключения половые клеткии красные кровяные тельца. Общее название совокупности хромосом – генотип организма. Каждая хромосома последовательность генов. Каждый ген кодирует определенную функцию организма. Например, синтез белка. Местоположения генов в хромосоме называется локусами. Вариантывариантов генов длякакого-либо локуса хромосомы носит название – аллеля. В диплоидном организме хромосомы образуют гомологичные пары. В хромосомах - гомологах местоположение локусов совпадают.

Каждая из хромосом гомологичной пары в каждом локусе имеет определенную аллелю гена. Аллели могут совпадать, а могут и отличаться. Исключение половые хромосомы.

Ниже они не рассматриваются. В одинаковых локусах хромосом - гомологов содержатся гены из списка аллель генов для данного локуса. Набор хромосом определяет построение и функции организма. Используется термин – фенотип. Фенотип определяется всеми хромосомами. В результате сложного процесса размноженияу потомка каждая пара хромосом гомологов состоит из одной хромосомы отца и из одной хромосомы матери. Множество пар хромосом сохраняется. Выбор одной из двух гомологичных хромосом родителей для потомка происходит случайным образом с вероятностью 0,5.

[color=green]||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 2. [/size]

Законы комбинации аллелей при размножении в http://tigrasp.narod.ru/s-g3.html

[color=green]||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 3[/size]

http://ru.wikipedia.org/wiki/Локус в биологии означает фиксированное положение (локализацию) на хромосоме, например, положение гена. Вариант последовательности ДНК в данном локусе называется аллелью. Упорядоченный перечень локусов для какого-либо генома называется генетической картой. Генное картирование — это определение локусa для специфического биологического признака.

Диплоидные или полиплоидные клетки, которые несут одинаковые аллели на каком-либо локусе называются гомозиготными по этому локусу, а те, которые несут различные аллели — гетерозиготными.

[color=green]||||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 4[/size]

http://ru.wikipedia.org/wiki/

Изучением генов занимается наука генетика, родоначальником которой считается Грегор Мендель, который в 1865 году опубликовал результаты своих исследований о передаче по наследству признаков при скрещивании гороха. Сформулированные им закономерности впоследствии назвали Законами Менделя.….В настоящее время, в молекулярной биологии установлено, что гены — это участки ДНК, несущие какую-либо целостную информацию — о строении одной молекулы белка или одной молекулы РНК. Эти и другие функциональные молекулы определяют развитие, рост и функционирование организма.

[color=green]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 5[/size]

http://dic.academic.ru/dic.nsf/enc_medicine/33962/Хромосомы

Хромосомы

(греч. chrōma цвет, окраска + sōma тело) основные структурно-функциональные элементы клеточного ядра, содержащие гены. Название «хромосомы» обусловлено их способностью интенсивно окрашиваться основными красителями во время деления клетки. Каждый биологический вид характеризуется постоянством числа, размеров и других морфологических признаков X. Хромосомный набор половых и соматических клеток различен. В соматических клетках содержится двойной (диплоидный) набор Х. который можно разделить на пары гомологичных (идентичных) хромосом, сходных по величине и морфологии. Один из гомологов всегда отцовского, другой— материнского происхождения. В половых клетках (гаметах) эукариот (многоклеточных организмов, в т.ч. человека) все хромосомы набора представлены в единственном числе (гаплоидный хромосомный набор). В оплодотворенной яйцеклетке (зиготе) гаплоидные наборы мужских и женских гамет объединяются в одном ядре, восстанавливая двойной набор хромосом. У человека диплоидный хромосомный набор (кариотип) представлен 22 парами хромосом (аутосом) и одной парой половых хромосом (гоносом). Половые хромосомы различаются не только по составу содержащихся в них генов, но и по своей морфологии. Развитие из зиготы женской особи определяет пара половых хромосом, состоящая из двух Х-хромосом, то есть ХХ-пара, а мужской — пара, состоящая из X-хромосомы и У-хромосомы, — то есть ХУ-пара.

[color=green]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 6[/size]

http://dic.academic.ru/dic.nsf/enc_psyc … оминантные

Доминантные и рецессивные гены (genetic dominance and recessiveness)

По иронии судьбы, о наследственности животных нам известно гораздо больше, чем о наследственности чел. Наследственность является результатом комбинаций генов. Гены — это биохимические функциональные элементы хромосом, определяющие потенциальный пол и др. признаки у зародыша. Хромосомы представлены парами в ядре каждого сперматозоида и каждой яйцеклетки. У чел. имеется 23 пары, или 46 хромосом, причем одну пару называют половыми хромосомами, потому что они определяют пол будущего организма. Клетки женского организма несут две Х-хромосомы, тогда как клетки мужского содержат одну Х- и одну Y-хромосому. Y-хромосома мельче по размеру и содержит меньше генов на своей поверхности, чем Х-хромосома.

В результате клеточного деления в яичниках все яйцеклетки содержат одну Х-хромосому, тогда как клеточное деление в яичках приводит к тому, что половина сперматозоидов содержит Х-хромосому, а др. их половина — Y-хромосому. Т. о., в половине случаев челов. яйцеклетка оплодотворяется сперматозоидами, несущими Х-хромосому, и еще в половине — сперматозоидами, несущими Y-хромосому, так что половина рождающихся в популяции детей должна бы иметь мужской пол, а половина — женский. (Мальчиков все же рождается чуть больше, но среди них и смертность выше, а потому соотношение полов быстро уравнивается; по мере того как дети становятся старше, соотношение полов сдвигается в сторону преобладания представительниц женского пола вследствие большей устойчивости женского организма к болезням.) ………………..X. К. Финк

«Моделирование отбора для локусов в разных хромосомах»

Комментарии к программам

https://fguploniis.mybb.ru/viewtopic.php?id=486

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

[size=20]Программа:

«Моделирование отбора для локусов в разных хромосомах»[/size]

[size=20]Вступление[/size]

Приводится описание программы моделирования одного гипотетического

варианта естественного отбора: Мутации в двух хромосомах.

[size=20]1. Естественный отбор [/size]

По Дарвину особи с полезными признаками, дают больше потомства.

Чаще, но не всегда, достигается или повышением плодовитости при сохранении времени жизни, или увеличением времени жизни при сохранении прежней плодовитости, или действуют оба фактора одновременно.

По Дарвину это и есть положительный отбор. Имеются в виду признаки, полученные при мутациях и передающиеся по наследству. Понятие альтруизма здесь не рассматривается. Наследование генов альтруизма рассмотрено в ветви: АЛЬТРУИЗМ. Генетика конкретизировала основу понятия «признак» - гены. Основные определения по генетике в приложениях 1 - 6. Каждый признак определяется определенным геном или комбинацией генов. Гены по различным причинам мутируют. Мутация определенного гена порождает аллели этого гена.

А, следовательно, и новые признаки организма. Естественный отбор может происходить по разным вариантам.

Вариант 1. Гены мутируют. Последствия мутаций в одном гене могут быть: положительные, отрицательные и нейтральные. Положительные мутации в процессе сохраняются всё большего числа особей. Отрицательные мутации «вымываются».

Вариант 2. При совпадении нескольких определенных нейтральных мутаций в разных хромосомах организм приобретает новые признаки, способствующие увеличению численности таких организмов. Для исследования такого варианта отбора разработана программа «Моделирование естественного отбора для локусов в разных хромосомах».

[size=20]2. Цель программы[/size]

В программе «Моделирование естественного отбора для локусов в разных хромосомах» изучается ситуация. Некие существа размножаются половым путем. Для определенности: «мужчины» и «женщины». Название условное. Могут быть и кузнечики. От перемены местами мужчин и женщин задача не меняется. Сделано гипотетическое допущение. Особь, у которой в определенных хромосомах в заданных локусах расположены заданные гены из списка аллель генов, получает преимущество перед другими особями: меньше вероятность смерти. Такие особи получают условное название: особи с геномом плюс(+). Моделируется половой процесс с обменом хромосом между родителями при зачатии. Выясняется, сколько должно произойти рождений и смертей, для преобладания в сообществе особей с геномом плюс.

Две хромосомы 1 и 2, одинаковы для мужчин и женщин.

Гены в хромосоме 1: x1 и x2.

Гены в хромосоме 2: y1 и y2.

Аллели генов x1 и x2: 1,2…,.c

Аллели генов y1 и y2: 1,2…,.c

Гены в хромосомах 1 и 2 различны.

В конкретной программе особы с аллелеями:

x1 = 1

x2 = 1

y1 = 2

y2 = 2

Названы особями с геномом +.

Они имеют меньшую вероятность смерти.

То есть могут за «жизнь» произвести больше потомства.

В исходном состоянии задается некоторое множество мужчин и женщин.

Мужчин p3, женщин p4.

Для первой позиции (особи) в соответствующем массиве задается геном +.

Для остальных геном случайно.

Далее имитируется процесс размножения.

До достижения количества мужчин и женщин соответственно: p1 и p2.

В примере программы

p1 = p2

p3 = p4

[size=20]3. Формат программы.[/size]

Программа составлена на DELPHI 7. Ввод исходных данных непосредственно в тексте программы. Для работы с программой необходимо установить DELPHI 7.

[size=20][color=red]Скачать

Дельфи 7[/color][/size]

https://yadi.sk/d/W3zk0vU2fJdZe

[size=20][color=red]Скачать программу A-2chr[/color][/size]

https://yadi.sk/d/42DrSMFQfcv8x

[size=20]3. Биологическая интерпретация[/size]

Программа имеет следующую биологическую интерпретацию.

На необитаемом острове появилась популяция из p3 – «мужчин» и p4 – «женщин».

Один мужчина и одна женщина имеют геном +.

Данный геном уменьшает вероятность смерти.

Популяция может из-за ограниченных ресурсов увеличить численность только до p1 – «мужчин» и p2 – «женщин».

Другой вариант вымереть.

В определенное время года происходит вымирание, в другой сезон размножение.

Задано ограничение на число лет существования популяции - kk

Определяется: какая доля особей через kk лет с геномом плюс среди живущих мужчин и женщин и среди потенциально возможного числа мужчин и женщин.

[size=20]4. Алгоритм[/size]

Алгоритм состоит из следующих блоков.

БЛОК ОКАНТОВКИ ТАБЛИЦ

БЛОК СУПЕРЦИКЛА

БЛОК СМЕРТЬ +РОЖДЕНИЕ

БЛОК СМЕРТЬ

БЛОК РОЖДЕНИЕ

БЛОК ВЫВОДА

[size=20]4.1. БЛОК ОКАНТОВКИ ТАБЛИЦ[/size]

Проставка номеров строк и столбцов

[size=20]4.2. БЛОК СУПЕРЦИКЛА[/size]

В ходе суперцикла повторяется:

БЛОК СМЕРТЬ+РОЖДЕНИЕ

.

Смысл суперцикла.

Данные по выполнению БЛОК СМЕРТЬ+РОЖДЕНИЕ

имеют большой вероятностный разброс.

Поэтому следует использовать усредненные данные по ходу выполнения суперцикла.

[size=20]4.3. БЛОК СМЕРТЬ+РОЖДЕНИЕ[/size]

Поочередно выполняются:

БЛОК СМЕРТЬ

БЛОК РОЖДЕНИЯ

Ограничениями служат:

Максимальное число мужчин – константа p1;

Максимальное число женщин – константа p2;

Заданное число итераций – константа kk.

Используется цикл while

[size=20]4.4. БЛОК СМЕРТИ[/size]

В ходе выполнения этого блока поочередно сканируются массивы мужчин и женщин.

С заданной вероятности имитируется смерть, то есть обнуление просканированных позиций массивов.

Для особей с геномом + устанавливается меньшая вероятность смерти.

Число проведения итераций БЛОК СМЕРТИ задается.

Константа t.

[size=20]4.4. БЛОК РОЖДЕНИЯ[/size]

В ходе выполнения БЛОК РОЖДЕНИЯ вначале определяется число рождений.

Если число мужчин превышает число женщин, число рождений задается долей от числа мужчин.

В противном случае число рождений - доля от числа женщин.

Рождение мужчины или женщины случайно.

Далее случайным образом выбирается пара мужчина – женщина.

Далее имитируется рождение новой особи.

Генотип определяется в соответствии с законом Менделя.

[size=20]4.5. Исходные данные[/size]

Исходные данные (const) вводятся непосредственно в тексте программы.

[size=20]5. Массивы и переменные[/size]

Основные массивы. Массив исходных мужчин u1[1..k,1..p3,1..2], где: k – число пар гомологичных хромосом, комбинации которых исследуются. p3 – число мужчин на старте программы. Позиции 1 и 2 соответствуют аллелям гена в гомологичных хромосомах.

Все аллели гена для заданного локуса пронумерованы

от 1 до с.

Принято: число аллель генов для всех локусов одинаково. Константа c задается в исходных данных.

Задается также массив u2[1..k,1..p4,1..2].

Где p4 число женщин.

Также задаются числа, определяющие вероятность смерти, вероятность рождения мужчины или женщины, вероятность для выбора варианта комбинации генов мужчины и женщины у потомка.

В тексте программы задаются особи с геномом плюс.

В данном варианте программы по одной особи на позиции № 1.

В ходе выполнения программы преобразуются массивы

ua[1..k,1..p3,1..2] и ub[1..k,1..p3,1..2], соответственно мужчины и женщины.

[size=20]6. БЛОК ВЫВОДА

[/size]

[size=20]6.1 Общее[/size]

Выводятся данные следующего вида:

А) Усредненные данные по всем итерациям суперцикла.

Б) Данные по первым 20 итерациям суперцикла

В) Данные по заданной итерации № ss суперцикла.

[size=20]6.1. Данные по совокупности суперцикла[/size]

Дано в разделе 7.

[size=20]6.2. Данные по 20 итерациям суперцикла:[/size]

Вывод массивы v[1..20], m[1..20] и d[1..20] соответственно для каждой итерации итог: число мужчин с геномом плюс, число мужчин и число незаполненных ячеек в массиве ua[1..20], то есть число потенциально возможных мужчин.

[size=20]6.3. Данные по заданной итерации суперцикла[/size]

Смотреть по тексту программы

[size=20]7. Результаты счета.[/size]

Предусмотрен вывод:

a : integer; // сумма мужчин за суперцикл

l : integer; // сумма отсутствия мужчин за суперцикл

v : integer; // сумма мужчин с геномом плюс за суперцикл

b : currency; // среднее число мужчин за суперцикл

l1 : currency; // среднее число отсутствия мужчин за суперцикл

w : currency; среднее число мужчин с геномом плюс за суперцикл

g : currency; // за супер цикл. Отношение числа мужчин с геномом плюс к общему числу мужчин

g1 : currency; // за супер цикл. Отношение числа мужчин с геномом плюс к потенциальному числу мужчин

aa : integer; // сумма женщин за суперцикл

y1 : integer; // сумма отсутствия сумма отсутствия женщин за суперцикл за суперцикл

vv : integer; // сумма женщин с геномом плюс за суперцикл

bb : currency; // среднее число женщин за суперцикл

yy : currency; // среднее число отсутствия женщин за суперцикл

ww : currency; // среднее число женщин с геномом плюс за суперцикл

gg : currency; // за супер цикл. Отношение числа женщин с геномом плюс к общему числу женщин

gg1 : currency; // за супер цикл. Отношение числа женщин с геномом плюс к потенциальному числу женщин

gg2 : integer; // число циклов суперцикла без вымирания для мужчин

gg3 : integer; // число циклов суперцикла без вымирания для мужчин

r1 : currency; // за суперцикл. Число циклов без вымирания для мужчин к общему числу циклов

r2 : currency; // за суперцикл. Число циклов без вымирания для женщин к общему числу циклов

Имеются три варианта счета:

А) Вымирание: обнуление массивов ua[1..k,1..p1,1..2] и ub[1..k,1..p2,1..2] .

Б) Число элементов массивов ua[1..k,1..p1,1..2] и ub[1..k,1..p2,1..2] с геномом плюс в ходе расчётов существенно не изменились.

В) Число элементов массивов ua[1..k,1..p1,1..2] и ub[1..k,1..p2,1..2] с геномом плюс в ходе расчётов существенно увеличилось.

Интересен вариант В.

Иллюстрация эволюции.

Пример.

Исходные данные:

t = 1;// Число циклов смертей

kk = 1;// допустимое число циклов в основном цикле

p1 =2000;// Число мужчин - конечное (не более)

p2 = 2000; // Число женщин - конечное (не более)

p3 = переменная; // начальное число мужчин

p4 =переменная; // начальное число женщин

принято

p3 = p4

ff =5; // 1 критерий для определения вероятностей смерти

o3 = 2 ;// число для расчёта рождений за цикл размножения (рождений) // на o3 делится число мужчин (женщин в текущий момент расчета)

fff = 20; // для расчёта случайной величины при определении вероятности// смерти мужчин и женщин вне генома плюс

rr = 40 ; // для расчёта случайной величины при определении вероятности// смерти мужчин и женщин c геномом плюс

k = 2; // число независимо наследуемых генов

// размещены в неголомогичных хромосомах

c = 5; // число независимо наследуемых генов в расчете

sss =100 ; // число суперциклов

Ниже вывод для

p3 = p4: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30

b : currency; // среднее число мужчин за суперцикл

w : currency; среднее число мужчин с геномом плюс за суперцикл

g : currency; // за супер цикл. Отношение числа мужчин с геномом плюс к общему числу мужчин

g1 : currency; // за супер цикл. Отношение числа мужчин с геномом плюс к потенциальному числу мужчин

r1 : currency; // за суперцикл. Число циклов без вымирания для мужчин к общему числу циклов

Результаты счёта

p3= p4 1 b w g g1 r1

1---891,26---891,26---1---0,4456---0,77

2---752,65---714,11---0,9487---0,3571---0,725

3---537,235---532,585---0,9913---0,2663---0,68

4---372,075---366,135---0,984---0,1831---0,645

5---265,49---261,89---0,9864---0,1309---0,6

6---220,29---219,275---0,9954---0,1096---0,53

7---173,2---172,055---0,9984---0,086---0,5

8---260,415---259,295---0,9957---0,1296---0,525

9---200,31---199,03---0,9936---0,0995---0,55

10---194,4---192,9---0,9923---0,0964---0,585

15---142,38---140,67---0,988---0,0703---0,6

20---99,335---97,59---0,9824---0,0488---0,58

25---111,91---109,55---0,9789---0,0548---0,56

30---142,3---139,8---0,9825---0,0699---0,58

35---88,395---86,355---0,5769---0,0432---0,59

40---93,26---90,495---0,9704---0,0452---0,58

50---95,885---92,33---0,929---0,0462---0,67

60---48,495---44,28---0,9131---0,221---0,695

70---86,67---80,21---0,9255---0,0401---0,759

80---80,27---71,505---0,8908---0,0358---0,79

90---34,945---24,325---0,691---0,0122---0,835

100---51,1---33,48---0,6552---0,0167---0,89

150---47,545---11,28---0,2372---0,0056---0,97

200---72,07---11,405---0,1582---0,0057---1

250---110,35---11,99---0,1087---0,006---1

300---144,59---10,45---0,0723---0,0052---1

[color=green]|||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 1[/size]

Основные принципы

Организм состоит из клеток. В клетках ядра. В ядрах хромосомы. Наборы хромосом почти во всех клетках одинаковы. Исключения половые клетки и красные кровяные тельца. Общее название совокупности хромосом – генотип организма. Каждая хромосома последовательность генов. Каждый ген кодирует определенную функцию организма. Например, синтез белка. Местоположения генов в хромосоме называется локусами. Варианты вариантов генов для какого-либо локуса хромосомы носит название – аллеля. В диплоидном организме хромосомы образуют гомологичные пары. В хромосомах - гомологах местоположение локусов совпадают.

Каждая из хромосом гомологичной пары в каждом локусе имеет определенную аллелю гена. Аллели могут совпадать, а могут и отличаться. Исключение половые хромосомы.

Ниже они не рассматриваются. В одинаковых локусах хромосом - гомологов содержатся гены из списка аллель генов для данного локуса. Набор хромосом определяет построение и функции организма. Используется термин – фенотип. Фенотип определяется всеми хромосомами. В результате сложного процесса размножения у потомка каждая пара хромосом гомологов состоит из одной хромосомы отца и из одной хромосомы матери. Множество пар хромосом сохраняется. Выбор одной из двух гомологичных хромосом родителей для потомка происходит случайным образом с вероятностью 0,5.

[color=green]||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 2. [/size]

Законы комбинации аллелей при размножении в http://tigrasp.narod.ru/s-g3.html

[color=green]||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 3[/size]

http://ru.wikipedia.org/wiki/Локус в биологии означает фиксированное положение (локализацию) на хромосоме, например, положение гена. Вариант последовательности ДНК в данном локусе называется аллелью. Упорядоченный перечень локусов для какого-либо генома называется генетической картой. Генное картирование — это определение локусa для специфического биологического признака.

Диплоидные или полиплоидные клетки, которые несут одинаковые аллели на каком-либо локусе называются гомозиготными по этому локусу, а те, которые несут различные аллели — гетерозиготными.

[color=green]||||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 4[/size]

http://ru.wikipedia.org/wiki/

Изучением генов занимается наука генетика, родоначальником которой считается Грегор Мендель, который в 1865 году опубликовал результаты своих исследований о передаче по наследству признаков при скрещивании гороха. Сформулированные им закономерности впоследствии назвали Законами Менделя.….В настоящее время, в молекулярной биологии установлено, что гены — это участки ДНК, несущие какую-либо целостную информацию — о строении одной молекулы белка или одной молекулы РНК. Эти и другие функциональные молекулы определяют развитие, рост и функционирование организма.

[color=green]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 5[/size]

http://dic.academic.ru/dic.nsf/enc_medicine/33962/Хромосомы

Хромосомы

(греч. chrōma цвет, окраска + sōma тело) основные структурно-функциональные элементы клеточного ядра, содержащие гены. Название «хромосомы» обусловлено их способностью интенсивно окрашиваться основными красителями во время деления клетки. Каждый биологический вид характеризуется постоянством числа, размеров и других морфологических признаков X. Хромосомный набор половых и соматических клеток различен. В соматических клетках содержится двойной (диплоидный) набор Х. который можно разделить на пары гомологичных (идентичных) хромосом, сходных по величине и морфологии. Один из гомологов всегда отцовского, другой— материнского происхождения. В половых клетках (гаметах) эукариот (многоклеточных организмов, в т.ч. человека) все хромосомы набора представлены в единственном числе (гаплоидный хромосомный набор). В оплодотворенной яйцеклетке (зиготе) гаплоидные наборы мужских и женских гамет объединяются в одном ядре, восстанавливая двойной набор хромосом. У человека диплоидный хромосомный набор (кариотип) представлен 22 парами хромосом (аутосом) и одной парой половых хромосом (гоносом). Половые хромосомы различаются не только по составу содержащихся в них генов, но и по своей морфологии. Развитие из зиготы женской особи определяет пара половых хромосом, состоящая из двух Х-хромосом, то есть ХХ-пара, а мужской — пара, состоящая из X-хромосомы и У-хромосомы, — то есть ХУ-пара.

[color=green]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[/color]

[size=20]Приложение 6[/size]

http://dic.academic.ru/dic.nsf/enc_psyc … оминантные

Доминантные и рецессивные гены (genetic dominance and recessiveness)

По иронии судьбы, о наследственности животных нам известно гораздо больше, чем о наследственности чел. Наследственность является результатом комбинаций генов. Гены — это биохимические функциональные элементы хромосом, определяющие потенциальный пол и др. признаки у зародыша. Хромосомы представлены парами в ядре каждого сперматозоида и каждой яйцеклетки. У чел. имеется 23 пары, или 46 хромосом, причем одну пару называют половыми хромосомами, потому что они определяют пол будущего организма. Клетки женского организма несут две Х-хромосомы, тогда как клетки мужского содержат одну Х- и одну Y-хромосому. Y-хромосома мельче по размеру и содержит меньше генов на своей поверхности, чем Х-хромосома.

В результате клеточного деления в яичниках все яйцеклетки содержат одну Х-хромосому, тогда как клеточное деление в яичках приводит к тому, что половина сперматозоидов содержит Х-хромосому, а др. их половина — Y-хромосому. Т. о., в половине случаев челов. яйцеклетка оплодотворяется сперматозоидами, несущими Х-хромосому, и еще в половине — сперматозоидами, несущими Y-хромосому, так что половина рождающихся в популяции детей должна бы иметь мужской пол, а половина — женский. (Мальчиков все же рождается чуть больше, но среди них и смертность выше, а потому соотношение полов быстро уравнивается; по мере того как дети становятся старше, соотношение полов сдвигается в сторону преобладания представительниц женского пола вследствие большей устойчивости женского организма к болезням.) ………………..X. К. Финк

#60 
1 2 3 4 alle