UJ Kraków i debilne zadania z informatyki...

0

http://asd1.tcs.uj.edu.pl/docs/V.pdf

Jaki jest sens zadawania takich zadań? Przecież takich rzeczy nawet nie trzeba umieć jak sie programuje rakiete ziemia-powietrze :/

0

A myślisz, że na czym polegają niektóre metody routingu sieciowego, czy szukania ścieżki w grach, jak nie na algorytmach właśnie tej klasy.

0

typowe algorytmiczne zadanko nie wiem czemu sie rzucasz w koncu to informatyka ;)

0

dlaczego mi coś mówi że to jest bardzo klasyczny problem pana parającego suię zawodem na jedenastą literę alfabetu...
Podpowiem w Algorytmach jest rozwiązanie :)

0

Koziołek: Nie, to nie jest ten problem ;].
To jest problem, nad którym się zastanawiał pewien mądry człowiek, z nazwiskiem na E, kiedy przebywał w Królewcu.

Komorkowy: Tego typu zadania mają na celu sprawdzenie, czy potrafisz myśleć algorytmicznie, abstrakcyjnie, czy nieobce ci jest pojęcie grafu, sposoby implementacji, etc. Na dodatek, chyba jedno z najbardziej klasycznych w informatyce. ;) Oczywiście pomijając masę praktycznych zagadnień, gdzie jego rozwiązanie się stosuje.
Nazywając je debilnym, co najwyżej obrażasz sam siebie...

0

Poszedłeś na uniwerek i dziwisz się, że tam algorytmy klepią? A te zadanie wcale nie jest takie oderwane od praktyki. Chcesz zobaczyć prawdziwie bezsensowne zadania? Przejrzyj dowolne OI.

0
this napisał(a)

Poszedłeś na uniwerek i dziwisz się, że tam algorytmy klepią? A te zadanie wcale nie jest takie oderwane od praktyki. Chcesz zobaczyć prawdziwie bezsensowne zadania? Przejrzyj dowolne OI.

A OI to co innego jak nie algorytmy? Prawdą jest, że dla większości tzw. rzemieślników algorytmy nie są potrzebne, ale gdy zacznie się pisanie profesjonalne gier, rozkładów jazdy, itp., to algorytmika może się przydać - tak więc doświadczenie z OI może być pomocne.

0

Taa, zadania z OI wydaja sie byc czysto akademickim rozwazaniem o abstrakcjach, ale znaczna wiekszosc z nich to bardzo realne problemy. Sprobuj napisac oprogramowanie ukladajace plan lekcji dla malej szkolki podstawowej w Pipidowie Dolnej, gdzie jest 10 nauczycieli i 5 klas... Wtedy docenisz 'akademickie gdybanie'. A przeciez to 'tylko' zwykly plan lekcji...

0

@johny_bravo co do planów lekcji to przypomina mi się historia z MIMUWu. Kilka sezonów temu odszedł doktor, który (hobbistycznie) zajmował się tworzeniem siatki zajęć. Nigdy się nie pomylił (z 20 lat to robił). Jego "obowiązki" przejął komputer. Konflikty w planach są na porządku dziennym.
Jak się okazało człowiek ten miał opracowany pewien sprytny algorytm wg którego działał.
Wniosek:
Durne zadania z algorytmiki ułatwiają życie...

0

dobra inaczej, jak mi to ma niby w grze pomoc jak kazdy pisze inaczej i inaczej mozna problem rozwaizac, a juz na pewno nie bede uzywal metod zadanych tak jak na linku, to mieli mózg!, a nie pokazuje czy umiem myslec abstrakcyjnie....

najlepiej zamknac topic bo nie lubie gdy wypowiadaja sie kujony... dla nich to czysta informatyka taaaak! :0 ;S

0

no tak mozna inaczej tylko ciekawe czy starczy ci tydzien zanim komputer sie z tym wyrobi dla max danych :P te zadanka maja to do siebie ze mozna podejsc od d**y strony i je odwalic, beda dzialac dla n=10 ale dla n=50000 to predzej elektrownia padnie niz komputer to skonczy mielic :P albo zrobisz to jak ci na uj pokazali z wykorzystaniem nudnej (bo nudna) algorytmiki i bedzie dzialac sekunde :P

Komorkowy_dzony napisał(a)

to mieli mózg!

ma mielic [diabel]

Komorkowy_dzony napisał(a)

najlepiej zamknac topic bo nie lubie gdy wypowiadaja sie kujony... dla nich to czysta informatyka taaaak! :0 ;S

odezwal sie programista z bozej laski

0

eee, yyy, uuuu. Gdzieś na forum było pytanie, dlaczego w programowanie działa błędnie czy coś takiego. Mam odpowiedź: przez takich ludzi jak dzony.

Jak będziesz w zespole pisał inaczej, bo "każdy pisze inaczej", to nie będzie cię w zespole po kilku dniach.

Jak każdy problem będziesz chciał sam rozwiązać, bez użycia znanych, przetestowanych i skutecznych metod, bo ci się "mózg zmieli", to efekt będzie taki, że napiszesz coś wolnego, nikomu nieznanego i niepewnego.

A później zaleje cię cała fala pytań współpracowników: "co to k... jest?!" albo "skąd wiesz, że to zawsze działa?"

I co powiesz: "sprawdziłem dla kilku podstawowych danych"?

0
Komorkowy_dzony napisał(a)

dobra inaczej, jak mi to ma niby w grze pomoc

Przyklady:
Gry RPG - wyszukiwanie najkrotszej sciezki
wiekszosc gier - sztuczna inteligencja - to dopiero brzmi nudnie...
wymuskane gry akcji - cala masa algorytmow szybkiego liczenia grafiki

Nikt nie kaze Ci tych sposobow uzywac. Jesli Twoim sposobem na zycie jest pisanie do konca zycia akranoidow i tetrisow to mozesz spac spokojnie - te gierki mozna napisac i bez znajomosci algorytmow :)

Ale firmy programistyczne skladaja sie w glownej mierze z 'kujonow', ktorzy wiedza jak napisac profesjonalna aplikacje dla duzej firmy, ktora nie zakorkuje sie po 5 minutach dzialania. I nie zgadniesz jak to robia :) To nie kwestia wyzylowanych komputerow, magii, czy sztuczek - tylko wlasnie algorytmow. Wiekszosci realnych problemow, ktorych obrazem jest problem komiwojazera, upakowania danych itp. nie rozwiaze ZADEN komputer, jesli danych bedzie realna ilosc (w sensie zyciowa), a problem rozwiazany po lebkach. Nawet machiny za 10 lat beda mialy z tym wielki problem.

Temat mozna zamknac dlatego, ze najwyrazniej nic do Ciebie nie dociera. Powodzenia w programowaniu...

0

dzony napisałeś już chociaż jakąś grę ?
kolejny twój post po którym mam minę numer 7

@Johny: chyba arkanoidów :>

0

a potem jest płacz, że po studiach ynformatik nie ma pracy... Uwierz mi - niektórzy jeszcze przed studiami zarabiają, bo "studenciak nie dał rady, żeby to szybko chodziło"

0

A OI to co innego jak nie algorytmy? Prawdą jest, że dla większości tzw. rzemieślników algorytmy nie są potrzebne, ale gdy zacznie się pisanie profesjonalne gier, rozkładów jazdy, itp., to algorytmika może się przydać - tak więc doświadczenie z OI może być pomocne.

Oczywiście, że algorytmy. Ale trochę bardziej oderwane od życia niż te z linku dzonego. Tam, żeby zwiększyć poziom trudności zaczynają po prostu wydziwiać. Oczywiście dla ludzi, którzy potrafią rozwiązywać takie zadania mam spory szacunek, ale informatyka na tym się nie kończy. Często mistrzowie algorytmów mają słaby styl pisania kodu, nie używają obiektowości i zazwyczaj mają problemy, żeby napisać większą aplikację. Rzadko używają bibliotek, ponieważ wolą samemu coś naskrobać. Oczywiście są wyjątki i właśnie ci będą klepać największą kasę w Microsofcie czy innym gigancie.

Dzony <-- powiem Ci, że każdy Twój temat mnie po prostu rozkłada na łopatki. Obiektowość niepotrzebna, algorytmy niepotrzebne, właściwie w czym Ty tak na prawdę jesteś dobry, bo mi się wydaje, że w niczym.

0

akurat z ostatnim się zgadzam. jest dużo uczelni które produkują "techników informatyków" czyli prostych klepaczy kodu. Znacznie gorsze jest jednak to że ludzie kończący takie uczelnie maja przeświadczenie że Turninga za nogi chwycili i "wymiatają". Niestety bardzo często osoby takie nie dość że dodają pracy innym (po prostu procentuje brak doświadczenia) to jeszcze psuja rynek (można pisać strony www za 1.50zł za godzinę).

0
Adamo napisał(a)

@Johny: chyba arkanoidów :>

Zaleznie od samozaparcia ;)

0
this napisał(a)

(...)Oczywiście dla ludzi, którzy potrafią rozwiązywać takie zadania mam spory szacunek, ale informatyka na tym się nie kończy.
Tak, bo na tym się zaczyna :).

this napisał(a)

Często mistrzowie algorytmów mają słaby styl pisania kodu, nie używają obiektowości i zazwyczaj mają problemy, żeby napisać większą aplikację. Rzadko używają bibliotek, ponieważ wolą samemu coś naskrobać.
Hm, dziwne, spotkałem co najmniej kilku, jak to nazwałeś "mistrzów algorytmów", i Twoja opinia zupełnie nie pasuje do żadnego z nich... Zresztą, gdyby było tak jak piszesz, to firmom, takim np. jak Prokom, nie opłacałoby się inwestować w OI, żeby wybierać i promować tych najlepszych. Więc moim zdaniem -- mylisz się ;).

0

Paweł, kiedyś sobie przeglądałem różne kody z ACM. Styl był fatalny - większość nie dzieliła programu nawet na funkcję, zmienne globalne były na porządku dziennym. Gdy trzeba było wczytać max 2 000 000 liczb to deklarowali globalną statyczną tablicę o 2 000 000 elementów. Jeżeli ktoś już decydował się na alokację dynamiczną to potem tej pamięci nie zwalniał. Nie powiedział bym, żeby to był elegancko napisany kod.
Nie chodzi mi o to, żeby tu kogokolwiek oskarżać. Po prostu gdy się większość czasu przeznacza na naukę algorytmów, zostaje mało czasu na szkolenie technik programistycznych. Prokom dofinansowuje OI. Być może ma zapotrzebowanie na analityków, być może zamierza zorganizować później szkolenia. Jednak jeżeli nie jest się najlepszym to nie można liczyć, że będzie się pracowało w firmie, którą stać na szkolenie pracowników. Moim zdaniem najważniejsze jest zachować umiar i znać się w miarę na algorytmach jak i na programowaniu.

0

Troszke bzdury opowiadasz. Na konkursie nie ma czasu na zajmowanie sie interfejsem uzytkownika, sprawdzaniem ogolnej poprawnosci danych, czy alokacje pamieci itp. Program ma byc szybki i spelniac wymagania. Te wszystkie elementy, o ktorych piszesz jako o 'stylu programowania' w tym wypadku zajmuja czas tworzenia i wykonania programu - tutaj wiec odpada. To oczywiscie nie znaczy, ze ci ludzie zawsze i wszedzie programuja w ten sposob.

0

Na pewno nie wszyscy programują tak. Ale jeżeli ktoś pisze wyłącznie programy na konkursy to właśnie w ten sposób będzie programował bo innego stylu nie zna. A żeby poznać trzeba trochę czasu.
Z resztą johny, nie przeinaczaj mojego posta - nigdzie nie pisałem o GUI, ani o sprawdzaniu danych. Dla mnie to jest naturalne, że dzielę program na procedury, którę realizują poszczególne funkcje. Nawet się nad tym nie zastanawiam więc nie tracę żadnego czasu. Jeżeli alokuję pamięć to od razu piszę pod tym funkcję zwalniającą. Ile to czasu zajmuje? 3 s.?

0

this: ale właśnie szkopuł polega na tym, że ci ludzie nie piszą tylko na ACM'y, wręcz przeciwnie, zazwyczaj to tylko forma "rozrywki". Nie ma opcji, żeby zakodować dobry algorytm, pisać elegancko, z klasami, etc. i uzyskać optymalny algorytm w czasie godziny. Dlatego na tego typu konkursach te rzeczy nie są brane pod uwagę. Tamte programy mają za cel tylko działać i być szybkie. Nikt raczej nigdy nie będzie ich czytał, dlatego ci programiści po prostu ignorują to, co w tej chwili nieistotne i skupiają się na tym, co w tym ważne -- czyli na optymalności rozwiązania. I gwarantuje Ci, że w projektach użytkowych (czy na laborki na studiach ;)), to właśnie te osoby, które są doświadczone w tego typu zawodach, piszą bardzo eleganckie, czytelne i wydajne programy.

Dalej: osoby z dobrymi wynikami powiedzmy na OI idą na dobre uczelnie. A dobrych uczelni nie da się skończyć, pisząc brzydki, nieobiektowy kod.

0
this napisał(a)

Paweł, kiedyś sobie przeglądałem różne kody z ACM. Styl był fatalny - większość nie dzieliła programu nawet na funkcję, zmienne globalne były na porządku dziennym. Gdy trzeba było wczytać max 2 000 000 liczb to deklarowali globalną statyczną tablicę o 2 000 000 elementów. Jeżeli ktoś już decydował się na alokację dynamiczną to potem tej pamięci nie zwalniał. Nie powiedział bym, żeby to był elegancko napisany kod.

Czasu rzeczywiście szkoda... ale również na pierwszy etap OI, gdzie na zadania jest ponad miesiąc, leci taki sam kod. Brakuje jakiegoś logicznego podziału, zwykłych wcięć. Zmienne są globalne, bo łatwiej takich używać - w przypadku jakiejś rekurencji to się sprawdza. Ale prawda jest taka, że ludzie, którzy odnoszą jakieś wyjątkowe sukcesy w algorytmach to w większości bardziej matematycy niż typowi koderzy i kod nie ma dla nich specjalnego znaczenia.

Może jak napisał Pawel200x.5 studia to potem rekompensują - kasy w każdym razie im nie brak :P

0

Paweł nie zgodzę się - być może znasz takie osoby, które jedną reką robią zadania na ACM a drugą piszą interpreter Perla ale takich na prawdę nie jest zbyt wielu. Do takich konkursów potrzeba przygotowania i to solidnego. Ludzie, którzy doszli gdzieś dalej wcześniej przerabiają kilkadziesiąt (jeżeli nie kilkaset) zadań tego typu. Skąd wiem? Była kiedyś ankieta na stronie OI. Na to trzeba czasu. Zresztą zobacz z jakich szkół pochodzą laureaci OI. Szkoły te się powtarzają (szczególnie jedna ;)) Mało kto ma taki talent, że sobie idzie i wygrywa OI. Reszta musi się przyogotować.

0

Dobra, skończmy może tą dyskusję, bo imo robi się trochę bezowocna. ;] Pewno jak zwykle, racja jest gdzieś po środku ;).

Jednak dalej sądze, że jeśli ktoś jest w stanie opanować i zrozumieć tyle materiału z dziedziny algorytmiki (a bez zrozumienia, ciężko cokolwiek osiągnąć), to posiada na tyle zdolności, że nauczenie się eleganckiego programowania, oop, czy czego tam jeszcze, nie jest dla tej osoby problemem.

Z mojej strony eot, pozdrawiam. :P

0

Zgadzam się - algorytmika jest trudniejsza od dowolnych technik programistycznych ale nie do końca o to tu chodzi. Masterów algorytmicznych zazwyczaj nudzi nauka nowego języka, klepanie linijek kodu, który nie rozwiązuje jakichś wielce skomplikowanych algorytmów tylko np. rysuje GUI. A żeby zostac dobrym programistą trzeba na prawdę lubieć to co się robi.

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