PDA

Просмотр полной версии : Delphi-кодеры ачата


Knight_of_Darkness
13.09.2007, 10:16
Перекличка!

Я думаю, можно собраться и выделиться отдельным движением, и создать много полезных проектов.

ak[id]
13.09.2007, 10:18
это у тебя сейчас энтузиазм. а потом все угаснет.

Knight_of_Darkness
13.09.2007, 10:21
Дружище, ты не знаешь МОЙ Энтузиазм. Он пишется с Большой буквы... Я думаю, есть смысл создать раздельчик, где мы сможем кодить сообща, когда приходит в голову дельная мысль. А приходят постоянно. Такие релизы античату бы не помешали, я уверен.

zl0y
13.09.2007, 10:47
хех ну я кодер,что с того :-)

GlOFF
13.09.2007, 13:01
Knight_of_Darkness
Я думаю, можно собраться и выделиться отдельным движением, и создать много полезных проектов.
Начинай, а там подхватим ;)

system_32
13.09.2007, 13:31
Я начинающий!!! Начинабщих берете :?

Marlboro_X
13.09.2007, 15:08
я тож делфякодер

Ni0x
13.09.2007, 15:43
Ребят, вы бредите? Что за идиотские соц.опросы, сейчас в теме отпишутся все кому не лень, в итоге все закончится забвением. Команды не так собираются, что толку просто написать, что набираешь команду? Каждый должен быть проверен на проф.пригодность, да и сам то ТС сможет справиться? Или ты планируешь писать калькуляторы и блокноты? Да, еще, ТС верно написал про энтузиазм, на данный момент есть только энтузиазм, но нет опыта, что в данном случае играет значительную роль.

byblik
13.09.2007, 15:51
А я поддерживаю ТС. Только если так дело и пойдет как щас, энтузиазм быстро угаснет. Предложи реально что-нибудь, допустим какую-нибудь программу и кто согласен разрабатывать ее с тобой отпишутся. А после выложи релиз, в этуже тему и я уверен что в таком случае народ начнет подтягиваться.

Brun
13.09.2007, 16:03
При всём уважении эту тему здесь создавать ненадо было. Для таких вещей есть "Болталка".
Перекликнулись... и?...

Imho То что сделал топик стартер - демагогия

Joker-jar
13.09.2007, 16:28
begin_end, по нику видим :)

FuckоFF
13.09.2007, 16:39
а кто такой кодер?если тот кто в блокноте что-то пишет то я тоже кодер.

Piflit
13.09.2007, 16:41
Ni0x, +1
ТС, сбор команды - это бред. знаю по собственному опыту.

byblik
13.09.2007, 16:44
а кто такой кодер?если тот кто в блокноте что-то пишет то я тоже кодер.
Нееее. Кто в блокноте пишет те начинающие кодеры, а настоящий кодер через трафорет выводит строки программного кода на формат А4, после сканирует и через фаенридер компилирует.
П.С Мне так мама сказала

FuckоFF
13.09.2007, 16:48
+1,щас флудеров будет,теперь по теме кодинга,я щас пишу прогу для аймонов,будут халявные алмазы=)

Ni0x
13.09.2007, 16:57
ТС, сбор команды - это бред. знаю по собственному опыту.
Не бред, НО создатель темы по моему мнению не сможет собрать и координировать работу команды, если все будет иначе - мое уважение.

Zitt
13.09.2007, 16:57
када вы всётаки соберетесь, надо будет создать команду бейсик-кодероф, и вместе сконпелируете страшного робота уничтожающего человекоф =)))))

byblik
13.09.2007, 17:03
Была подобная тема по созданию хак тимы, где-то год назад, народу желающего вступить было много, много флудеров было. Через пару дней топик стартер забил, вот только один чел который действительно хотел создать хак тиму начал стучать в асю всем кто отписывался в теме, и в итоге я трой и маньяк познакомились, и начали обсуждение по созданию тимы. Первое время, мы бурно помогали и разбирались вместе во всех трудностях. Но все закончелость очень быстро, теперь мы просто иногда общаемся по аси. (к примеру вышесказанное)

Piflit
13.09.2007, 17:12
Не бред, НО создатель темы по моему мнению не сможет собрать и координировать работу команды, если все будет иначе - мое уважение.
это требует ОЧЕНЬ много времени. если оно есть, то можно сделать абсолютно все.

KEZ
13.09.2007, 17:18
ЗАБАНЬТЕ МЕНЯ НАХУЙ ЕЩЁ А ТО ВЕДЬ НЕМОГУ Я НА ЭТО УЖЕ СМОТРЕТЬ!

Ni0x
13.09.2007, 17:18
Нужно поступить иначе просто. Для начала взять пару человек, сформировав костяк команды, зарелизить что-то действительно стоящее и тогда люди сами захотят вступить, остается только делать отбор в команду для повышения качества. Однако, такая методика не распространяется на команды новичков, так как у них банально не хватит знаний и опыта для релизинга чего-то стоящего.

NeXArmAor
13.09.2007, 17:21
Йа кодеркО,йа умею кодить делфы,базики,асмы...сейчас пишу криптор N-Code кто со мной,вперед....

Joker-jar
13.09.2007, 17:30
Предлагаю самым рулезным делфи-кодерам решить очень интересную задачку.

Задача: дана шахматная доска размером N на N. Найти количество расположений N ферзей на этой доске таким образом, чтобы ни один не находился под боем.

Пример для N=4:

0 * 0 0
0 0 0 *
* 0 0 0
0 0 * 0

0 0 * 0
* 0 0 0
0 0 0 *
0 * 0 0

Ответ: 2

Есть интересный факт, который я раскрою после решения кем-то ;)

Joker-jar
13.09.2007, 18:10
Хех, я всегда знал, что такие посты заглушают волную бестолкового флуда :) Часть "кодеров" убежала прочь с этой темы, часть погрузилась в делфи, нагревая свои черепные коробки. Программирование = знание синтаксиса + искусство решения задач. Кодер, обладающий только первым компонентом, несомненно может написать текстовый редактор, калькулятор и т.п., но он никогда не решит вышезапощенную задачу. Думать алгоритмически, строить в голове путь решения задачи - вот что я считаю главным в программировании. Такие программисты пишут стойкие, быстрые и красивые алгоритмы.

Hormold
13.09.2007, 18:12
Я программирую =)
Но так ;)
Делал mail-седер и другое =)

Knight_of_Darkness
13.09.2007, 20:29
KEZ, не нравится - не смотри.
Joker-jar и все вменяемые: да, идей есть действительно много, но я категорически против того, как это было с Zero Byte - весь проект держался на мне. Неужели нет энтузиастов на ачате? Полно! Как раз Delphi - тот язык, в котором можно работать коллективно, и вот моя первая идея. Надеюсь, они не пройдут даром и будут замечены администрацией, которая прислушается к идее о создании раздела.

ZeroNews
программа берет сдирает новости с сервиса google, rss-каналов, и автоматически постит их на сайт под учеткой админа. Заточить под основные скрипты, настроить работу в режиме демона. Алгоритм таков: Сначала она грузит страницу новостей и выделяет по заданным формулам обзоры в один массив, адреса картинок ака превью в другой. Дальше загружает страницы со ссылок и аналогичным образом выдирает полные тексты и полные картинки. После либо через php-скрипт сливает на собственную новостную ленту (свой двиг), либо чередой загрузок определенных страниц логинится под своей модераторской учеткой и таким же образом постит новости. Это один цикл. Далее. Можно програму натаскать на то, чтобы каждые 30 минут она проверяла новые новости и повторяла вышеописанное. Жду ваших поправок в алгоритме, и приступим.

Piflit
13.09.2007, 20:48
KEZ, не нравится - не смотри.
ZeroNews
программа берет сдирает новости с сервиса google, rss-каналов, и автоматически постит их на сайт под учеткой админа. Заточить под основные скрипты, настроить работу в режиме демона. Алгоритм таков: Сначала она грузит страницу новостей и выделяет по заданным формулам обзоры в один массив, адреса картинок ака превью в другой. Дальше загружает страницы со ссылок и аналогичным образом выдирает полные тексты и полные картинки. После либо через php-скрипт сливает на собственную новостную ленту (свой двиг), либо чередой загрузок определенных страниц логинится под своей модераторской учеткой и таким же образом постит новости. Это один цикл. Далее. Можно програму натаскать на то, чтобы каждые 30 минут она проверяла новые новости и повторяла вышеописанное. Жду ваших поправок в алгоритме, и приступим.

Наши коллеги дельфисты оживились. Не к добру это. План такой. Делаем прогу AntiZeroNews, которая будет спамить "новости с сервиса google, rss-каналы" сообщениями, которые будут переполнять буффер ZeroNews'a во время сбора новостей и тот будет уходить в офф, предварительно отсылая на php скрипт кучу непонятных запросов, которые скрипт не сможет обработать, умрет и утянет за собой весь веб сервер. А мы в это время будем потирать ладошки и злобно хихикать.

ЗЫ даешь холивар! =))
ЗЫЫ не воспринимайте этот пост всерьез=)
ЗЫЫЫ хотел запостить это в тему про с++, но ее снесли=\
ЗЫЫЫЫ какой-то я бред написал ^^

.Slip
13.09.2007, 20:52
Жесть... что дальше, кубасик?

Piflit
13.09.2007, 20:52
']Жесть... что дальше, кубасик?
html

Knight_of_Darkness
13.09.2007, 21:09
Не бред, НО создатель темы по моему мнению не сможет собрать и координировать работу команды, если все будет иначе - мое уважение.

Ты это решил, глядя на циферки? И кто вообще сказал о тиме? Я предполагал раздельчик, где будут отписываться энтузиасты, это не обязывает никого к постоянному участию.

AL Capone
13.09.2007, 21:15
Я предполагал раздельчик, где будут отписываться энтузиасты... .
ну тогда уж раздельчик для всех языков...А то сторонникам других языков будет обидно.

Knight_of_Darkness
13.09.2007, 21:29
угу, релизы на хтмл рулят! %)

Zitt
13.09.2007, 21:46
давайте уже роботоф для зохвата человекоф+)

FuckоFF
13.09.2007, 21:52
Terminator

надо переписать ему систему что он не убивал человекоФ,кто возьмется?

Ni0x
13.09.2007, 21:58
Zitt,
KeDestroyTheWorld( 0 );

Knight_of_Darkness, даже по твоему сообщению все понятно, КАК ты хочешь заниматься одним проектом в группе человек? Каждый будет писать одно и тоже? Без координации ты не сделаешь ничего, а работа с координацией и есть командная, теперь ты понимаешь, что я имел ввиду? У тебя есть только желание, но не опыт.

Knight_of_Darkness
13.09.2007, 22:33
Правильно, это никак не значит, что я набираю команду. Я лишь могу предложить, отписать алгоритм, сказать, каких функций не хватает, собрать программу. А кто сказал, что человек, участвующий сегодня будет продолжать завтра?

Вобщем, сказанное тобой боян - с тобой никто не пытается спорить. Были бы люди и желание с их стороны.

The_HuliGun
13.09.2007, 22:36
Решение задачи о ферзях.
n = |1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 | |
L= |1 |0 |0 |2 |10 |4 |40 |92 |352 |724 |2680 |14200 |73712|
n - сторона квадрата, L - количество решений.
Если исходить из императивного программирования, то решение задачи может оказаться очень запутанным, а если следовать засадам декларативного программирования, то решение можно найти куда легче.
Кто не понял о чем речь, читаем доки и не спрашываем ерунды.

Knight_of_Darkness
13.09.2007, 22:43
The_HuliGun, может всё-таки выложишь более развернутый алгоритм на народное обозрение? А что касается стороны L=14?

The_HuliGun
13.09.2007, 23:00
Читаем сначала о Прологе, предикатах, логическом программировании, потом уже обсуждаем код

domains
queen = q(integer, integer)
queens = queen*
freelist = integer*
board = board(queens, freelist, freelist, freelist, freelist)
facts - counter
single counter(integer)
predicates
nondeterm placeN(integer,board,board)
nondeterm place_a_queen(integer,board,board)
nondeterm nqueens(integer SizeOfBoard,integer NumberOfQ)
nondeterm makelist(integer, freelist)
nondeterm findandremove(integer, freelist, freelist)
nextrow(integer, freelist, freelist)
nondeterm rows(integer, freelist, freelist)

clauses
nqueens(N,Q):-
makelist(N,L),
Diagonal=N*2-1,
makelist(Diagonal,LL),
rows(Q,L,Rows),
placeN(N,board([],Rows,L,LL,LL),Final),
Final=board(Queens,_,_,_,_),
write(Queens),nl,
counter(I),I1=I+1,assert(counter(I1)),
fail;
true.

placeN(_,board(D,[],L,D1,D2),board(D,[],L,D1,D2)):- !.
placeN(N,Board1,Result):-
place_a_queen(N,Board1,Board2),
placeN(N,Board2,Result).

place_a_queen(N,board(Queens,Rows,Columns,Diag1,Di ag2),
board([q(R,C)|Queens],NewR,NewC,NewD1,NewD2)):-
nextrow(R,Rows,NewR),
findandremove(C,Columns,NewC),D1=N+C-R,
findandremove(D1,Diag1,NewD1),D2=R+C-1,
findandremove(D2,Diag2,NewD2).

findandremove(X,[X|Rest],Rest).
findandremove(X,[Y|Rest],[Y|Tail]):- findandremove(X,Rest,Tail).

makelist(1,[1]).
makelist(N,[N|Rest]):- N>1,N1=N-1, makelist(N1,Rest).

nextrow(Row,[Row|Rest],Rest).

rows(0,_,[]).
rows(N,[R|L],[R|S]):- N1=N-1,rows(N1,L,S).
rows(N,[_|L],S):- N>0,rows(N,L,S).

counter(0).
goal
nqueens(4,2),counter(N),write(N),exit.

Пример взят для Visual Prolog 5.2

Joker-jar
14.09.2007, 02:41
Вот как эту зудучу решил я, код на Делфи (о ней же все-таки тема). Для наглядности рисую и доски, хотя это не нужно, главное - число.
program Ferzi;

{$APPTYPE CONSOLE}

uses
SysUtils;

const
Ferz = '*';
Empty = '1';
War = '0';
N=4;

type
TDoska = array[1..N, 1..N] of char;

var
Count: word;
Dos: TDoska;

function SetFerz(D: TDoska; i,k: word): TDoska;
var
i1,k1: word;
begin
result := D;
if (i>N)or(k>N) then exit;
if result[i,k]<>Empty then exit;
for i1:=1 to n do
for k1:=1 to n do
begin
if result[i1,k1]=Empty then
begin
if (i1 = i)or(k1 = k) then result[i1,k1] := War;
if (i1-i=k1-k) then result[i1,k1] := War;
if (k1+i1=i+k) then result[i1,k1] := War;
end;
end;
result[i,k] := Ferz;
end;

procedure ShowDoska(D: TDoska);
var
i,k: word;
begin
for i := 1 to n do
begin
writeln;
for k:=1 to n do
write(D[i,k]:2);
end;
writeln;
end;

procedure Perestanovka(D: TDoska; h, c: integer);
var
i,k: word;
begin
if c = N then
begin
ShowDoska(D);
inc(Count);
end;
for k := 1 to N do
begin
if h < N then
if D[h+1,k]=Empty then
Perestanovka(SetFerz(D,h+1,k),h+1,c+1);
end;
end;

begin
FillChar(Dos,sqr(N),Empty);
Perestanovka(Dos, 0, 0);
writeln(#13#10,Count);
readln;
end.

Решал ее в прошлом году, признаюсь, поначалу никаких идей по поводу решения не было. А теперь о фактах. Эта задача была в финале чемпионата мира по программированию 1989 года :)

The_HuliGun
14.09.2007, 08:16
Уважаемые кодеры, не стоит замыкаться на одном программном продукте, ведь делфи не есть путь к решению всех прикладных задач программирования. Ведь кидать компоненту на форму и дурак сможет, а вот закодить алгоритм ето, как показывает практика, уже не всем под силу.
Попробуйте решить следующую задачу с приминением императивного программирования (Delphi, C++, Perl, PHP, etc).
Задача. Найти все способы обхода конверта, когда каждая из линий участвует в обходе ровно один раз. При обходе должны использоваться все линии.
http://huligun2006.narod.ru/konv.JPG
Добавлю, что при использовании логического программирования задача решаеться легко.

BoDVa
17.09.2007, 22:09
Задача очень популярна, и при большом желании я думаю решение можно найти в нете. А решается она алгоритмом BackTrack и этим все сказано. Просьба решить задачу не есть показатель грамотности в прорамировании. И убедиться в грамотности человека можно лишь пообщавшись с ним

Knight_of_Darkness
17.09.2007, 22:25
Стоит ли спорить? Я считаю, что нужно направить свои силы в нужном направлении, ибо есть сила, но нет вектора. Идея насчет ZeroNews висела выше. Чтобы оценить человека, нужно увидеть его в действии.

Piflit
17.09.2007, 22:30
как идут ваши delphi-дела?

BoDVa
17.09.2007, 22:31
...Чтобы оценить человека, нужно увидеть его в действии.
Абсолютно согласен :)

Knight_of_Darkness
17.09.2007, 22:31
Piflit, тебя все уже давно поняли, может хватит флеймить и наезжать на меня?

jipik
22.08.2008, 01:19
при N=15 корость обработки 14сек. Кто быстрее ?



const NN = 15 ;
type Arr2 = array[1..NN] of boolean;
var
N,K,Ri,pp:integer;
A: array[1..NN] of integer;

procedure f(R:integer;Mo: Arr2); // обробка рівнів
label L1;
var
pp,Ri:integer;
Mo0: Arr2;
begin
Mo0:=Mo;
pp:=0;
repeat
inc(pp);
if Mo[pp] then begin for Ri:=1 to R-1 do if(abs(pp-A[Ri])=R-Ri)then goto L1;end else goto L1;
A[R]:=pp; Mo[pp]:=false;
if R=N then inc(K) else f(R+1,Mo);
Mo[pp]:=true;
L1: until(pp=N)
end;
//---------------------------------------------------------------------------


procedure TForm1.Button1Click(Sender: TObject);
var
Mo: Arr2;
R:integer;

D: TDateTime;
Time:string;
begin
K:=0;
N:=strtoint(edit1.Text);
for pp:=1 to N do Mo[pp]:=true; //онуляю масив для ограніченій з верхнього рівня (тільки вертикаль так як з діагоналями гімор...)

D:= Now;
// так як комбінації на дошці дзеркальні то...
for pp:=1 to trunc(N/2) do begin
Mo[pp]:=false;// Mo[pp-1]:=false; Mo[pp+1]:=false;
A[1]:=pp;
f(2,Mo); Mo[pp]:=true;//
end;
k:=k*2 ;
if N/2 = trunc(N/2)+0.5 then begin
Mo[pp]:=false;//
A[1]:=trunc(N/2)+1;
f(2,Mo); Mo[pp]:=true;//
end;

D:= D-Now;

if N=1 then K:=1; // :)
DateTimeToString(Time, 'ss/zzzzz', D);
label1.Caption:=inttostr(k)+#13+Time ;
end;

De-visible
22.08.2008, 02:27
Ну что команда собрана?
Тема бред:/