[propozycja]forum "algorytmy"

0

Czasem niektórzy zadająpytanai odośnie naprowadzeniu, lub tez napisaniu algorytmu rozwiazujący jakis tam problem. I te posty znajdująsie albo w off-topic albo w nietuzinkowe tematy. Może warto zrobić oddzielne forum na tego typu pytania. Wtedy szukajac rozwiazania na swój problem będzie wiadomo gdzie szukać.

0

Tak, tak, tak. Jestem za i popieram!

Fajnie by było utworzyć z 4programmers.net też dobry serwis z opisami algorytmów, co by m. in. się można było przygotować do OI'a dobrze.

0

Jestem za. Pomysł mi się podoba.

0

Ja też popieram zdanie reszty i jestem jak najbardziej za :)

0

W sumie ciekawy pomysł. Tylko jak te algorytmy chciałbyś tam przedstawiać? Słownie? W "dowolnym języku, byle się dało zrozumieć", czy jeszcze inaczej? Możnaby uznać, że do prezentacji algorytmów używa się jakichś konkretnych schematów (ot choćby NS, jak ktokolwiek wie, co to za jedne, ale myślę, że w dwóch-trzech zdaniach mógłbym wyjaśnić co jest co :P), ale niestety po pierwsze rysowanie czegoś takiego ręczne trochę mija się z celem, a jak się poprosi o algorytm, a odpowiedź padnie w brainfuck'u, to sobie możecie podziękować i będziecie wiedzieć tyle samo co wcześniej :P

0
Adam.Pilorz napisał(a)

W sumie ciekawy pomysł. Tylko jak te algorytmy chciałbyś tam przedstawiać? Słownie? W "dowolnym języku, byle się dało zrozumieć", czy jeszcze inaczej? Możnaby uznać, że do prezentacji algorytmów używa się jakichś konkretnych schematów (ot choćby NS, jak ktokolwiek wie, co to za jedne, ale myślę, że w dwóch-trzech zdaniach mógłbym wyjaśnić co jest co :P), ale niestety po pierwsze rysowanie czegoś takiego ręczne trochę mija się z celem, a jak się poprosi o algorytm, a odpowiedź padnie w brainfuck'u, to sobie możecie podziękować i będziecie wiedzieć tyle samo co wcześniej :P

No jeśli chodzi o owe tam, to chodzi Ci pewnie o dział Artykuły, a nie samo forum, tak? Przecież, jak już wspomniałem przed chwilą, dział dotyczący algorytmiki już istnieje, jest opisanych już wiele algorytmów, stwierdzenie odnośnie moich nadziei odnosi się do tego, aby rozbudować ten dział, poszerzyć go o nowe artykuły. Nie trzeba do tego celu używać jakichś schematów, itp., choć nie jest to wzbronione - jak kto woli, byle było to zrozumiałe dla każdego i łatwo można by odczytać sposób implementacji oraz zrozumieć metodę (bez względu na znajomośc tego czy innego języka programowania). Nie widzę problemu, żeby w łatwy i przyswajalny sposób tworzyć opisy nowych algorytmów (sam ostatnio za to się zabrałem, będę się starał sukcesywnie tworzyć nowe artykuły z dziedziny algorytmiki).

A co do forum - przyda się, zwłaszcza, gdy mamy ambicję, aby być najlepszym polskim serwisem programistycznym w każdej dziedzinie, w tym w dziedzinie algorytmiki ;)

Jeśli chodzi o anegdotę z tą odpowiedzią w brainfucku - przecież to się tyczy absolutnie każdego pytania - ktoś prosi o sposób na szukanie plików na dysku, a dostanie kod assemblera, to też nic mu po tym, skoro będzie chciał modyfikować i zrozumieć kod :P

0

Thenkles: ale mowa właśnie o forum. Czyli rozumiem, że ktoś się spyta o jakiśtam algorytm. No i trzeba mu odpowiedzieć, a do tego trzeba użyć jakiegoś rozsądnego sposobu.

Co do brainfucka i assembler'a - to na jedno wychodzi. Rzecz w tym, że jak ktoś umie pisać w Pascalu i dostanie kod w C, to jak jest średnio rozgarnięty, to sobie przetłumaczy. Ale jak dostanie w jakimś egzotycznym języku, to niekoniecznie.

Stąd moje pytanie jakiego sposobu opisu algorytmów mielibyśmy używać. Wszak jakiś schemat byłby wskazany (w sensie schemat odpowiedzi, nie schemat w sensie stosowania koniecznie schematów takich czy innych).

Z moich propozycji schematów właśnie, ogólnie znaną metodą zapisu jest schemat blokowy. Niestety ma on się nijak do programowania strukturalnego. Najlepiej to przedstawia to co się dzieje, jak do wszystkiego używa się instrukcji skoku. Za to wspomniane przeze mnie schematy NS (schematy zwarte) są w tej dziedzinie o niebo lepsze, ale ich olbrzymią wadą jest fakt, że stosunkowo mało osób o nich w ogóle słyszała. Pozostaje jeszcze TurboGorgol TM do opisu algorytmów matematycznych, ale z tego forum chyba jakiekolwiek pojęcie o nim mamy ja i Ktos :P. Oczywiście wzmianka o TurboGorgol TM jest tzw. "just joking", nie zamierzam tego bynajmniej wprowadzać w życie :).

0

Proste. Takiego samego jak w dziale Algorytmy

0

A może spece od Coyote mogliby zaimplementować jakiś prosty aplet do rysowania schematów blokowych. Być może byłby to język opisowy do generowania czegoś takiego. W końcu np. forum matematyczne ma wbudowaną edycję równań to czemu by na forum programistycznym nie dodać możliwości tworzenia schematów blokowych.

0

Trzeba jednak by coś takiego zrobić. Łatwo powiedzieć, o wiele trudniej zrobić. Zamiast apletu proponowałbym aplikację w flashu.

0
Berus123 napisał(a)

Trzeba jednak by coś takiego zrobić. Łatwo powiedzieć, o wiele trudniej zrobić. Zamiast apletu proponowałbym aplikację w flashu.

Won z flashem! Juz lepiej stworzyc jakis prowizoryczny jezyk skryptowy i za pomoca php i biblioteki GD rysowac jakies schematy :>

0

Pisząc tego posta miałem po prostu na myśli oddzielne forum na którym możnaby pytać sie o jakies tam algorytmy(niekoniecznie te które juz sa, ale np. "Jak zrobic algorytm, który zamienia parzyste cyferki na nieparzyste ;P" ).

A teraz wpadłem na taki pomysł, że po burzy mózgów moznaby stworzyckonkretny algorytm i samemu go jakoś nazwać i jeżeli wszystko byłoby zrobione na tip-top to wtedy możnaby przenieść go do oddzielnego działu gdzie byłyby opisane wszystkie algorytmy. A co do rysowania tych schematów to niełatwiej by było, aby rysować go w np. photoshopie a potem zamieszczać gotowy rysunek przy opisie algorytmu? Po co jakies programy do tego? No i tworząc taki algorytm najlepiej aby nie był on pisany w zadnym języku tylko tak słownie coś w stylu "najpierw trzeba za pomoca dzielenia bez reszty znaleźć liczby parzyste. potem przenieść je do tablicy itd.). No i kazdy juz wiedząc co ma po kolei zrobić przełożyłby to na język który go interesuje.

0
samos napisał(a)

A co do rysowania tych schematów to niełatwiej by było, aby rysować go w np. photoshopie a potem zamieszczać gotowy rysunek przy opisie algorytmu? Po co jakies programy do tego?

Latwiej moze i by bylo ale zobacz ze jak potem takie rysowanie w czasie rzeczywistym schematow moze sie przydac np w artykulach, faq itp. Potem dodac aby coyote automatycznie pobieral dane z powiedzmy <schemat></schemat> i aby skrypt na to miejsce wstawial obrazek by sie jeszcze moglo przydac w innych miejscach i chociazby po to by bylo potrzebne. Druga sprawa ze wtedy wszystkie algorytmy gdyby kazdy w photoshopie robil bylyby inne a to nie wyglada tak ladnie jak by byly takie same :P

0

DIA + SVG

0

Adam.Pilorz zrobił niedawno jakieś takie cudo do tworzenia schematów zwartych opierające się na języku wcięciowym. Nie pisałem w tym czymś, jedynie oglądałem schemat, niebrzydkie. Może można by wykorzystać?

Do pobrania tutaj:
http://www.pilotmp3.devtown.net/index.php?page=download.php&project=3&relase=13

0

Popieram pomysł stworzenia oddzielnego działu 'Algorytmy'. Myślę, że to nie problem stworzyć aplet do rysowania prostych schematów blokowych. Najważniejsze byłyby : START, KONIEC, BLOK WEJ-WYJ, BLOK OBLICZENIOWY, BLOK INSTR. WARUNKOWEJ. Deklarację zmiennych można byłoby dawać w bloku obliczeniowym. A do zapisu proponuje Pascala: ':=' przypisanie, '=' rownosc, 'i:=i+1;' inkrementacja itd.

@down : A co myślisz o stworzeniu apletu do tworzenia schematów blokowych?

0

Nowy dział na forum? Nie. I tak sporo już tego.. a pytania o algorytmy są taką rzadkością, że nie ma sensu robić pustego działu. I tak 95% ludzi prosi o gotowca w jakimś tam języku niż o algorytm.

[do postu poniżej]
dział == poddział w mojej wypowiedzi

0

Adam.Pilorz: Co się tak uparłeś tych schematów i brainfucka? Toć metoda opisowa zdecydownie wystarczy. I nie trzeba od razu przykłądów praktycznych - to już leży w gestii usera. Jeśli chodzi o schematy - to raczej zbędny bajer, sam raczej rzadko korzystam ze schematów - choć oczywiście nie przeszkadza mi samo ich wprowadzenie.

To jak nie dział, to może chociaż poddział?

0
Thomashek napisał(a)

To jak nie dział, to może chociaż poddział?

chyba cały czas była mowa o poddziale? :>

0

Co do schematów blokowych - twarde i zdecydowane [chyba ;P] nie. Dlaczego - powody podawałem wyżej. Schemat blokowy ma tyle do programu co piernik do wiatraka. To znaczy coś ma, ale niewiele.

Co do opisu - IMHO jest to kiepski sposób. Dlaczego? Ano dlatego, że każdy sobie opisuje to jakoś, a potem i tak nie wiadomo co z tym fantem zrobić, bo każdy jakoś tam sobie rozumie to, ale do programu jeszcze daleko.

Dla programisty jedynym IMHO rozsądnym zapisem jest właśnie schemat NS. Konkretnie zdefiniowany i przedstawiający strukturalnie program/fragment programu w uniwersalnym zapisie. Co do mojego NSCreatora - można użyć, ja się nie obrażę, ale tłumaczyć na PHP/JS/Flash/Javę tego nie będę. Z drugiej strony zawsze pozostaje podanie pliku wejściowego (tekst, nie trzeba grafiki trzymać na serwerze, mało tego, nie trzeba jej nawet ściągać, jak by to miało miejsce w przypadku generowania grafiki w locie), oraz linku do programu. Jak komuś tekst nie odpowiada (nie zdziwiłbym się ;) ), to sobie przepuści przez program prostym poleceniem i wio.

Jeśli ktoś chce, mogę napisać jak się korzysta ze schematów NS, co jest co i jak do mojego programiku napisać tekst wejściowy.

0

E tam, wiadomo. Wystarczy ładnie opisać, łącznie z podaniem ogólnego zarysu sposobu implementacji wraz z pseudokodem, to nie będie problemu. Możliwe, że ten system/program podawany przez Ciebie też jest fajny i przyjemny, co nie znaczy, że jest konieczny do zrozumienia kodu (choć możliwe, że ułatwi zrozumienie) - jak będę miał chwilę czasu, to zobaczę, co to jest.

0

Dodalem ankiete. Czas waznosci: 10 dni.
Jak dla mnie to moze byc. Ale chyba nie chodzi o to, aby podawac gotowe, wymyslone juz rozwiazania bo do tego sluzy dzial Algorytmy z artykulami :)
Ale przykladowo - jezeli ktos ma problem, szuka rozwiazania danego zadania algorytmicznego, pyta na forum jak to mozna rozwiazac. Ludzie moga mu pomoc w rozwiazaniu tego problemu, w napisaniu wlsanego algorytmu lub tez - zaproponowaniu wykorzystania juz gotowego.

Z drugiej strony - takie posty mozna umieszczac w dziale ktorego jezyk dotyczy (czyli "Delphi/Pascal", "C/C++" itp). A wiec czy mowimy tutaj o podforum czy osobnym forum?

Przypominam ze jest rowniez dzial "Nietuzinkowe tematy" ktory IMHO moze posluzyc tego typu postom.

0

Poza tym [co widać po C# i Java] poddziały są rzadko odwiedzane. Za to nie chciałbym rozwalać strony kolejnym działem głównym - i tak jest już ich dużo. Fora, na których jest po kilkadziesiąt działów są wg mnie porażką - totalnie nieczytelne.
Już nie wspomnę o tym, że dochodzi robota dla moderów ;)

Może ktoś by się szarpnął i podał listę wątków z ostatniego miesiąca, które pasowały by do takiego działu? Bo wg mnie nie będzie ich więcej jak 3 :|

0

Adamie Boduch właśnie chodzi mi o to, że jak ktos chce sie zapytac o jakis algorytm(niekoniecznie juz wymyślony) to będzie wiedział gdzie napisac posta. I jak sam stwierdziłeś można taki post pisac w Nietuzinkowych tematach albo w konkretnym języku. Może i to wystarczy, ale potem jak ktos chce zadac podobne pytanie to nie za bardzo wie gdzie sprawdzic czy juz taka odpowiedź na jego problem niepadła.

Oddałem głos na TAK. Jest 5-5 kto sie do mnie przyłączy;P ?

OT- Adam Boduch Fajny ten avatar ale czemu ta owieczka ciągnie tę drugą za uszy? ;P [diabel]

0

Ja również zagłosowałem na 'tak'. W mojej opini dobrze byłoby <ort>znaleŹć </ort>osobne miejsce na takie zagadnienie jak algorytmika i mam tu na myśli pisanie o popularnych algorytmach rozwiązujacych problem sortowania i kompresji jak i optymalizowanie algorytmów. Co do appletu czy innego sposobu prezentacji graficznej algorytmów to nie jest to konieczne lecz niewątpliwie byłoby ułatwieniem dla początkujących programistów.

Marooned napisał(a)

Poza tym [co widać po C# i Java] poddziały są rzadko odwiedzane.
Wydaje mi się, że te działy są rzadko odwiedzane nie dlatego, że są poddziałami ale dlatego, że poruszują tematykę wciąż jeszcze mało popularnych języków programowania Java i C#.

samos napisał(a)

OT- Adam Boduch Fajny ten avatar ale czemu ta owieczka ciągnie tę drugą za uszy?
Tam chyba Adam... tzn. tryk Sven wykorzystuje seksualnie koleżankę ;P

0

Thomashek - program, o którym pisałem i Ktos pisał był dla mnie tylko narzędziem do rysowania. Zamienia kod (którego stworzenie może wymagać zajrzenia do źródeł albo na mojego Jogger'a) na rysunek. Jeśli się nie zna zasad schematów NS, to nic nie pomoże w zrozumieniu. Ale jeśli schematy NS uznać za obowiązujący sposób przedstawiania algorytmów, to już zmienia postać rzeczy. Zresztą póki co nie ma żadnego szerszego opisu sposobu tworzenia kodu dla mojego programiku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1