Witam,
Wiem, że było wiele tematów "Jak zacząć programować", "Od jakich języków zacząć", "Jak się zmotywować", ja mam podobne, ale z drugiej strony inne pytanie.
Jak można zauważyć jest wiele żartów na temat tego, że "Napisałem program i działa - nie wiem dlaczego. Napisałem program i nie działa - nie wiem dlaczego" i tym podobnych. Jestem raczej początkującym programistą, łatwo pochłaniam wiedzę teoretyczną, ale w praktyce jest inaczej...
Podam na przykładzie robienia zadań ze SPOJa. Często mam tak, że jak widzę zadanie, to w głowie mam już algorytm, wiem co zastosować w programie, biorę się za pisanie i wtedy mam czarną dziurę... Cokolwiek napiszę, to zawsze wyjdzie jakiś error z którym nie daje sobie rady i w większości przypadków jest tak, że szukam podobnego programu, leciutko go pozmieniam, wykomentuje sobie go i teoretycznie go rozumiem, ale gdybym miał pisać od podstaw, to znowu złapałbym zadyszkę...
Moje pytanie do was - jak z tym sobie poradzić? Czytam książkę S. Pratha "Szkoła programowania C++" i dokształcam się jeszcze kursami Pana Mirosława (nie są tutaj skomplikowane zadania i to trochę na minus), umiem sobie poradzić z małoskomplikowanymi zadaniami, ale gdy mam do zrobienia zadania na przykład takie:
http://pl.spoj.com/problems/PRIME_T/ (wiem, że trzeba zastosować Sito Eratostensa, tylko nie wiem jak to przelać na kod)
http://pl.spoj.com/problems/PA05_POT/ (tutaj jest zależnośc w potęgowaniu, wiem jak ona wygląda, ale też nie wiem jak to napisać)
http://pl.spoj.com/problems/FLAMASTE/ (mam na to alogytm, no ale tak jak napisałem wyżej..)
Jak to u was wyglądało? Jak nauczyliście się rozwiązywać takie problemy? Jak załapaliście kiedy stosować dane funkcje?
Pozdrawiam