Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 27.04.2012, 22:00   #1 (permalink)
Светлана***
Новичок
 
Регистрация: 27.04.2012
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Диофантово уравнение

Помогите пожалуйста....это просто ужас какой то....
Разработать программу для решения Диофантова уравнения вида: a+2b+3c+4d=30, где a,b,c,d - некоторые положительные целые числа. Нахождение коэффициентов a,b,c,d осуществить с помощью генетического алгоритма.
Светлана*** вне форума   Ответить с цитированием

Старый 27.04.2012, 22:00
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Аналогичные топики могут просветить решение проблемы

Решить дифференциальное уравнение в Паскале
Как записать уравнение в QBasic?
Диофантово уравнение

Старый 28.04.2012, 02:21   #2 (permalink)
duc
Banned
 
Регистрация: 23.11.2010
Сообщений: 6,749
Сказал(а) спасибо: 18
Поблагодарили 27 раз(а) в 6 сообщениях
Репутация: 17514
По умолчанию

Всё бы хорошо, вот только знать бы ещё на чём разработать программу
Если мне ещё склероз не изменяет, лет 25 назад писал её на программируемом микрокалькуляторе.
duc вне форума   Ответить с цитированием
Старый 30.04.2012, 20:38   #3 (permalink)
Светлана***
Новичок
 
Регистрация: 27.04.2012
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от duc Посмотреть сообщение
Всё бы хорошо, вот только знать бы ещё на чём разработать программу
Если мне ещё склероз не изменяет, лет 25 назад писал её на программируемом микрокалькуляторе.
упс простите))) на Паскале.... на Си есть в интернете... а вот на Паскале нету((((( Помогите.. очень надо...
Светлана*** вне форума   Ответить с цитированием
Старый 01.05.2012, 00:43   #4 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

Светлан, можно с СИ перекодить в паскаль, там не трудно, скачиваете книгу по СИ и смотрите значение команд.
а так вот, не даю гарантии что работать будет, но :
Цитата:
uses
crt;

type
tarray = array[1..4] of integer;
tmatrix = array[1..20] of tarray;

var
a: tmatrix;
i, j: integer;

function f(var a: tarray): integer;
begin
f := a[1] + 2 * a[2] + 3 * a[3] + 4 * a[4] - 30;
end;

procedure scresh(var a: tmatrix);
var
i, j, count, j1, j2: integer;
begin
count := random(20) + 1;
for i := 1 to count do
begin
j1 := random(20) + 1;
repeat
j2 := random(20) + 1;
until j1 <> j2;
for j := 1 to 4 do
a[j1, j] := abs((a[j1, j] - a[j2, j]) div 2) + 1;
end;
end;

procedure mutac(var a: tmatrix);
var
i, j, count, j1: integer;
begin
count := random(20) + 1;
for i := 1 to count do
begin
j1 := random(20) + 1;
for j := 1 to 4 do
a[j1, j] := abs(a[j1, j] + random(10) - 5) + 1;
end;
end;

procedure selec(var a: tmatrix);
var
i, j: integer;
b: tarray;
begin
for i := 1 to 19 do
for j := i + 1 to 20 do
if abs(f(a[i])) > abs(f(a[j])) then
begin
b := a[i];
a[i] := a[j];
a[j] := b;
end;
end;

begin
randomize;
for i := 1 to 20 do
for j := 1 to 4 do
a[i, j] := random(100) + 1;
writeln('Search...');
repeat
scresh(a);
mutac(a);
selec(a);
writeln(a[1, 1], ' ', a[1, 2], ' ', a[1, 3], ' ', a[1, 4], ' f=', f(a[1]));
until abs(f(a[1])) = 0;
writeln('----------------');
writeln('Answer: a=', a[1, 1], '; b=', a[1, 2], '; c=', a[1, 3], '; d=', a[1, 4]);
readln;
end.

Последний раз редактировалось Gruvi; 01.05.2012 в 00:49
Gruvi вне форума   Ответить с цитированием
Старый 01.05.2012, 20:47   #5 (permalink)
Светлана***
Новичок
 
Регистрация: 27.04.2012
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А можно как то подробно объяснить всю программу? почему 20 случайных чисел?
a[j1, j] := abs((a[j1, j] - a[j2, j]) div 2) + 1 вот эта формула откуда...? и последующие))
Светлана*** вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 12.05.2012, 23:05   #6 (permalink)
Светлана***
Новичок
 
Регистрация: 27.04.2012
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

и вообще не хорошо воровать чужие программы....
Светлана*** вне форума   Ответить с цитированием
Старый 12.05.2012, 23:50   #7 (permalink)
Léon
С# - learn or die
 
Аватар для Léon
 
Регистрация: 17.12.2011
Сообщений: 2,438
Записей в дневнике: 8
Сказал(а) спасибо: 21
Поблагодарили 49 раз(а) в 11 сообщениях
Репутация: 19701
По умолчанию

Цитата:
Сообщение от Светлана*** Посмотреть сообщение
и вообще не хорошо воровать чужие программы....
Светлана, вот Вы просите разработать программу. Для Вас её делают, Вы копируете и сдаете как собственную. Вот Вас совесть не мучает????
Кстати, откуда Вы знаете что не Gruvi её написал???
Léon вне форума   Ответить с цитированием
Старый 13.05.2012, 01:39   #8 (permalink)
Gruvi
VIP user
 
Аватар для Gruvi
 
Регистрация: 10.03.2011
Сообщений: 765
Записей в дневнике: 1
Сказал(а) спасибо: 10
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 3453
По умолчанию

да не моя программа, просто смысл был писать программу самому, если готовая есть уже ? вам то какая разница светлана, кто её написал и как?
я специализируюсь в основном на delphi , но pascal не весь еще забыл
Gruvi вне форума   Ответить с цитированием
Старый 13.05.2012, 02:10   #9 (permalink)
DDREDD
Member
 
Регистрация: 15.10.2010
Сообщений: 9,817
Записей в дневнике: 1
Сказал(а) спасибо: 32
Поблагодарили 45 раз(а) в 8 сообщениях
Репутация: 54920
По умолчанию

Цитата:
Сообщение от Светлана*** Посмотреть сообщение
и вообще не хорошо воровать чужие программы....
Вот тебе и спасибочки.
__________________
Там, откуда я родом, безумцы правят народом...
DDREDD вне форума   Ответить с цитированием
Старый 13.05.2012, 09:53   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Светлана*** Посмотреть сообщение
и вообще не хорошо воровать чужие программы....
Цитата:
Сообщение от DDREDD Посмотреть сообщение
Вот тебе и спасибочки.
Да уж... С минуту сидел с отвисшей челюстью, а потом ржал, аки конь непотребный. Ну просто восхитительная наглость! Т.е. позиция типа "вы мне напишите программу, я скатаю и сдам, как свою, но чтобы была оригинальной, а не то...". Bravissimo! Название: rofl.gif
Просмотров: 310

Размер: 23.7 Кб
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 22:13.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.