Prosze
Sinusoidalny: Chciałbym nauczyć sie programowa w jakimś języku .
Co polecacie ? Może Rygby, JS , Python ?
W tej chwili z języków programowania poslugiwalem sie JS, poza tym znam HTML CSS i dobrze
biblioteke jQuerry.
Co o nich sądzicie ? Jak. Nauczyć sie myslec jak programista?
1 lip 09:46
Sinusoidalny: Miałem na myśli Ruby
1 lip 09:50
Sinusoidalny: Miałem na myśli Ruby
1 lip 09:51
b.: Polecałbym Pythona lub C/C++. Przy czym jeśli uczysz się całkiem sam, to raczej Pythona, jest
dużo łatwiejszy. Z kolei jeśli opanujesz dobrze C++, to poradzisz sobie chyba w każdym innym
języku, co jest konsekwencją tego, że C++ jest bardzo bogaty (i dość skomplikowany)
do pythona polecam:
http://docs.python.org/2/tutorial/ (wersja 2)
http://docs.python.org/3/tutorial/ (nowsza, ale ciągle mniej popularna wersja 3)
do C++ polecałbym raczej jakąś książkę
1 lip 10:03
Mateusz:
Jak znasz HTML i CSS dodatkowo JS to poucz sie tez PHP i MySQL wbrew pozorom poszukuje sie
programistow do tego bardziej niz do C++ czy inych jesli chodzi o Polske bo na zachodzie jest
troche inaczej, jest to bardziej wyrównane jesli interesują cie tez bazy danych to z pewnoscią
przyda sie Oracle tez poszukuje się bazodanowców wszelkiej maści i będzie poszukiwało.
1 lip 10:18
Sinusoidalny: Dziękuje za odpowiedź

Temat jest wciąż aktywny .
1 lip 10:29
Sinusoidalny: Aktualna wersja stabilna 3.3.1 (6 kwietnia 2013)
2.7.4 (6 kwietnia 2013)
Czym różnią sie te dwie wersje pythona ?
1 lip 10:58
Sinusoidalny: Czym sa programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne.
1 lip 11:02
1 lip 11:23
Mateusz:
Google nie gryzie

jak to mowią
ale mowiac tak w skrocie obrazowo
Programowanie strukturalne w tej metodzie programowania program dzieli się na mniejsze
fragmenty i zapisuje w postaci podprogramow(inaczej procedur lub funkcji) tzw projektowanie
top down.
programowanie obiektowe to kolejny etap rozwoju językow programowania, łączą dane z
wykonywanymi na nich operacjami tworząc tzw obiekty co pozwala na łatwiejsze i dokładniejsze
modelowanie rzeczywistosci po drugie stosujac techniki takie jak dziedziczenie czy ukrywanie
danych np stsosowanie modyfikatora dostepu private lub protected ułatwia sie rozbudowywanie
programów przez zespoły programistyczne.
programowanie funkcyjne w tym programowaniu program składa sie tylko z funkcji (język takie jak
np Haskell )
1 lip 11:23
Sinusoidalny: Dziekuje
1 lip 11:39
fx: Zważyć należy, że kluczową umiejętnością programisty jest umiejętność samodzielnego
pozyskiwania informacji. Startując od zera w zasadzie nie ma znaczenia co wybierzesz. Python
rzeczywiście jest przyjemnym środowiskiem nie tylko do nauki programowania.
1 lip 11:45
Sinusoidalny: A jak nauczyć sie myśleć jak programista ?
1 lip 11:55
Mateusz:
Tego sie nie da nauczyc w 100% z tym trzeba sie urodzic prawdziwy programista nie widzi kodu
programu np
int main()
{
cout<<"cos tam";
return 0;
}
przykład bardzo banalny ale programista tego nie widzi on widzi rezultat

oczywiscie z
biegiem lat doswiadczenie rośnie i mozna byc bardzo dobrym programistą.
1 lip 12:01
Sinusoidalny: Można sie nauczyć . Oglądałem wykłady z MIT i tam tego uczą
1 lip 12:07
Sinusoidalny:
1 lip 12:08
fx: Programista musi potrafić dekomponować problemy a tej umiejętności można się nauczyć poprzez
ćwiczenia.
1 lip 12:12
fx: Mówienie, że programista nie widzi kodu a rezultat jest przynajmniej ryzykowne. Zwłaszcza gdy
większość programistów to klepacze kodu a tworzeniem modelu zajmuje się sztab ludzi, bardzo
często nie programistów.
1 lip 12:13
Sinusoidalny: Jak to?
1 lip 12:14
fx: Jeśli masz jakieś pytanie to zadaj je w sposób szczegółowy nie tak jak powyżej.
1 lip 12:18
Sinusoidalny: Nie chciałbym być maszyna do wklepywania kodu ale tez twórca
1 lip 12:45
Mateusz:
No to musisz duzo cwiczyc

ale najlepiej na praktycznych rzeczach,projektach
@ fx tak zgadza się że większość to klepacze kodu dostają specyfikację i piszą w konkretnym
języku programowania mi nie o to chodzi , tylko o to ze chcąc byc naprawde dobrym programistą
trzeba rozumiec jak działa dany język programowania i jak komputer przetwarza te dane o taki
rezultat mi chodzi ja np znając asembler wiem np ze tam jedna instrukcja warunkowa np if(a>b)
c=a+b; w C++ odpowiada mniej wiecej 7 instrukcjom procesora ktore beda wyglądały mniej wiecej
tak:
mov eax,[ebp−0x04]
cmp eax, [ebp−0x08]
jle +0x09
mov edx, [ebp−0x04]
add edx,[ebp−0x08]
mov [ebp−0x0],edx
przyjałem ze zmienna a jest pod adresem 0x04 a zmienna b w komorce 0x08
zrozumienie tego duzo ułatwia ale nie jest konieczne
1 lip 18:58
Sinusoidalny: Studiujesx informatykę, na jakiej uczelni na którym roku jesteś?
Kiedy zacząłes uczyć sie programowac?
1 lip 19:46
Mateusz:
Nie studiuje informatyki. W wieku 17 lat miałem pierwszą stycznosc z programowaniem.
1 lip 19:55
Sinusoidalny: Rozumie ze programowabie jest bardzo trudne?
1 lip 20:59
Mateusz: Nie, nie jest trudne

.
1 lip 21:00
Sinusoidalny: Chyba jest
1 lip 21:37
Mateusz:
Dlaczego? Programowanie to tylko język, narzędzie. Trudnosc tkwi w jego rozumnym
wykorzystaniu.
1 lip 21:42
Sinusoidalny: <Wyślij rozwiązanie> [0/100]Statystyki zadania
Liczba osob: 43
Liczba osob na 100 punktow: 26
Sredni wynik: 75.0233
Komiwojażer
Limit pamięci: 128 MB
Komiwojażer stwierdził, iż optymalne planowanie podróży na powierzchni ziemi jest zbyt trudnym
problemem obliczeniowym, więc przenosi swój interes w liniowy świat na Dunaju. Ów komiwojażer
posiada bardzo szybką łódź, którą może przepłynąć pomiędzy dowolnymi punktami na rzece w
pomijalnym czasie, ale niestety łódź ta zużywa ogromne ilości paliwa −− każdy metr
przepłynięty w górę rzeki (w kierunku jej źródła) kosztuje komiwojażera dolarów, a każdy
metr przepłynięty w dół rzeki (w przeciwnym kierunku) −− dolarów.
Wzdłuż rzeki jest rozmieszczonych targów, które komiwojażer chciałby odwiedzić. Każdy targ
odbywa się tylko przez jeden dzień. Dla każdego targu , komiwojażer zna jego datę , wyrażoną
jako liczba dni od zakupu jego łodzi. Zna też lokalizację targu , będącą jego odległością w
metrach od źródła rzeki (w dół rzeki), jak również liczbę dolarów , którą zarobi, jeśli
odwiedzi ten targ. Powinien zacząć i zakończyć swoją podróż w swoim domu nad brzegiem rzeki,
który znajduje się na pozycji , także wyrażonej jako odległość w metrach od źródła rzeki.
Pomóż komiwojażerowi wybrać targi, które powinien odwiedzić (potencjalnie żadne), oraz ich
kolejność, tak aby zmaksymalizować zysk na końcu podróży. Zysk komiwojażera wyraża się jako
suma dolarów uzyskanych na odwiedzonych targach minus suma dolarów wydanych na podróże w górę
i w dół rzeki.
Pamiętaj, że jeśli targ odbywa się przed targiem , komiwojażer może odwiedzić je tylko w tej
kolejności (tzn. nie może najpierw odwiedzić , a potem ). Jeśli jednak dwa targi odbywają się
tego samego dnia, komiwojażer może odwiedzić je w dowolnej kolejności. Nie ma ograniczenia na
liczbę targów odwiedzonych jednego dnia, ale oczywiście komiwojażer nie może odwiedzić dwa
razy tego samego targu i zgarnąć zysków dwukrotnie. Może natomiast przepłynąć obok
odwiedzonych wcześniej targów bez dodatkowego zysku.
Zadanie
Napisz program, który mając dane daty, lokalizacje i możliwe zyski z poszczególnych targów, jak
również lokalizację domu komiwojażera i jego koszty podróżowania, wyznaczy maksymalny możliwy
do uzyskania zysk na końcu podróży.
Ograniczenia
−− liczba targów
−− koszt podróżowania w górę rzeki () i w jej dół ()
−− lokalizacja domu komiwojażera
−− dzień, w którym odbywa się targ
−− lokalizacja targu
−− liczba dolarów, którą zarobi komiwojażer, jeśli odwiedzi targ
Wejście
Twój program powinien wczytać ze standardowego wejścia następujące dane:
Pierwszy wiersz zawiera liczby całkowite , , oraz , w tej kolejności, pooddzielane
pojedynczymi odstępami.
Kolejne wierszy opisuje targów, w jakiejkolwiek kolejności. −ty z tych wierszy opisuje −ty
targ i zawiera trzy liczby całkowite pooddzielane pojedynczymi odstępami: dzień odbywania się
targu , jego lokalizację oraz zysk możliwy do uzyskania na nim przez komiwojażera.
Uwaga: Wszystkie lokalizacje podane na wejściu będą różne. Dokładniej, żadne dwa targi nie będą
odbywały się w tym samym miejscu i żaden targ nie odbędzie się w domu komiwojażera.
Wyjście
Twój program powinien wypisać na standardowe wyjście jeden wiersz zawierający jedną liczbę
całkowitą: maksymalny zysk, jaki może uzyskać komiwojażer po odbyciu swej podróży.
Ocenianie
W testach wartych łącznie 60 punktów żadne dwa targi nie będą odbywać się tego samego dnia.
W testach wartych łącznie 40 punktów żadna z liczb na wejściu nie przekroczy .
Testy, w których zachodzą oba powyższe warunki, są warte 15 punktów.
Testy, w których zachodzi co najmniej jeden z tych warunków, są warte 85 punktów.
Przykład
Dla danych wejściowych:
4 5 3 100
2 80 100
20 125 130
10 75 150
5 120 110
poprawną odpowiedzią jest:
50
Wyjaśnienie do przykładu: Optymalny plan podróży przewiduje odwiedzenie targów 1 i 3 (tych o
lokalizacjach 80 i 75). Kolejność działań oraz odpowiadające im zyski i koszty są następujące:
Komiwojażer podróżuje 20 metrów w górę rzeki kosztem 100 dolarów. Dotychczasowy zysk: −100.
Odwiedza targ numer 1 i zyskuje 100. Dotychczasowy zysk: 0.
Podróżuje 5 metrów w górę rzeki, ponosząc koszt 25. Dotychczasowy zysk: −25.
Odwiedza targ numer 3, gdzie zarabia 150. Dotychczasowy zysk: 125.
Podróżuje 25 metrów w dół rzeki i tym samym wraca do domu, ponosząc koszt 75. Zysk końcowy: 50.
<Wyślij rozwiązanie> [0/100]
1 lip 21:46
Trivial: Gratulacje, potrafisz kopiować!
1 lip 22:10
Mateusz: 
@Sinus ale takie zadanie ma mało wspolnego z praktyką powiem wiecej to jest zabawa ale bardzo
pouczająca sprawdza czy potrafisz myśleć abstrakcyjnie i przy okazji skupia sie na budowaniu w
miare solidnej aplikacji a nie zapisaniu programu byle jak byle by działał a pozerał 80%
zasobow

Tak swoją drogą to chyba z main−a pochodzi.
2 lip 07:29
tn: Bodaj nawet z jakiegoś OIa, czyżby LCA?
2 lip 22:25
Jak to zrobić ?: Main
2 lip 23:14