Blog (1)
Komentarze (6)
Recenzje (0)
@Grzesieq94Od czego zacząć programowanie?

Od czego zacząć programowanie?

06.04.2011 00:24, aktualizacja: 06.04.2011 17:56

Jeśli to czytasz to pozwól, że przejdziemy na Ty. Jestem Grzegorz, mam 17 lat i uczę się w Technikum Informatycznym. Będę tutaj przedstawiał zagadnienia związane z programowaniem jak i też takie luźne newsy, artykuły i poradniki.

Dobra, jeśli wstępik mamy za sobą to czas się wziąć do pracy. Nie zniechęcaj się widząc obszerność tego artykułu. Jest on tylko wstępem do tego co będzie potem ? …

Pytanie zawarte w tytule tego wpisu zadaje sobie wiele ludzi którzy chcą troszkę bardziej zagłębić się w działanie programów i komputera. Ba! Nawet mogę sobie dać głowę uciąć, że wszyscy o to pytają. Często też łączą to pytanie z innym: „Jakiego języka programowania warto się uczyć?”. Jeśli szukasz odpowiedzi na to drugie pytanie w tym artykule to możesz już od razu zamknąć przeglądarkę.

Dalej tu jesteś? Świetnie! No więc zacznijmy od tego drugiego pytania które nurtuje wielu z was. Jeśli myślałeś kiedyś o rozpoczęciu nauki programowania to pewnie pierwsze co zrobiłeś to zapytałeś wujka Google jakiego języka warto się uczyć. Wyświetliły Ci się pewnie linki do stron lub for na których ludzie „programiści” piszą różne zalety i wady języków programowania. Ja powiem tak. Nie zależnie od tego jakiego języka się będziesz uczył to musisz programowanie poczuć i zrozumieć, a nie bezsensownie przepisywać kod z książki za którą zapłaciłeś majątek, a nawet w połowie jej nie przeczytasz bo nie rozumiesz podstawowych zagadnień. W mojej szkole naukę rozpoczyna się od Pascala. Starego, dobrego, DOSowego Pascala. Spytasz DOSowego!?! Przecież to stary system którego nikt już dziś nie używa… Może i nikt lub prawie nikt go nie używa, ale jest on najlepszą podstawą do zrozumienia ogółu programowania. Ze swojego doświadczenia wiem, że te proste zagadnienia z programowania dzięki niemu bardzo łatwo wytłumaczyć i zrozumieć. Ostatnio z ciekawości zakupiłem książkę pt. „Ćwiczenia praktyczne c++” autorstwa Andrzeja Stasiewicza. Nie jest to na pewno książka dla początkującego, ponieważ tu nie są wytłumaczone wszystkie najmniejsze elementy języka. Niektóre rzeczy powinno się już wiedzieć, albo powinno się je wyszukiwać w Internecie. Przeczytałem tę książkę w 3 dni robiąc oczywiście pewne programy na komputerze. I co? Przecież nie znałem C++, nigdy w nim nic nie robiłem i pierwszy raz na oczy język widziałem, ale z tej książki jedyne czego nie zrozumiałem to konstruktory które odwołują się do klas które są dopiero w programowaniu obiektowym. Reszta zagadnień to tylko inaczej wyglądający kod i nic więcej! Ufff! Ale daleko wybrnąłem. No nic to teraz wróćmy się do pierwszego pytania!

Od czego zacząć programowanie? No więc najpierw wytłumaczmy co potrzebujesz do tworzenia programów. No więc musisz mieć komputer (bo bez tego raczej się nie obejdzie), trochę wiedzy i dużo kreatywności. Nie musisz się tu uczyć „na blachę” wszystkich schematów i skryptów. Wystarczy je zrozumieć. Np. sito Eratostenesa można napisać różnie, zależnie od wybranych pętli, ale o tym trochę później, przejdźmy dalej. Na komputerze musisz mieć kompilator czyli program który zamienia kod pisany na kod maszynowy / binarny. Kod pisany to taki który można odczytać i w większości składnie języków programowania opierają się o język angielski. Np. if – jeśli, return – zwróć, Begin – zacznij, break – przerwij itp. Kod binarny natomiast to taki który rozumieją maszyny i składa się on tylko z dwóch znaków 1 i 0. „Komputer to tylko kupa złomu, a my musimy ją nauczyć myśleć” i tego musimy się trzymać.

Tak w kwestii wytłumaczenia. Ten artykuł mówi o ogóle programowania i nie przedstawiam tutaj kompilatorów czy zasad typowych dla danego języka programowania. W przyszłości opublikuje też takie artykuły, ale ten taki nie jest ?

Już jesteśmy więc przygotowani sprzętowo, więc musimy zadbać o nasz mózg. Zacznijmy od tego z czego składa się program? Program składa się zazwyczaj z danych wejściowych, algorytmów i danych wyjściowych. Dane wejściowe w programie mogą być zapisane na stałe, ale to w 95% przypadkach nie ma sensu. Wyobraź sobie np. program kalkulatora w 100 wersjach. Pierwszy dodaje 1+1, drugi 1+2, trzeci 1+3 itd. Wiadomo, że lepiej jest zrobić jeden program kalkulatora do którego możemy wpisać sami te dane. Więc dane wejściowe to inaczej mówiąc te dane które użytkownik programu wpisuje do algorytmu ale nie ingerując w kod programu do którego zwykły laik nie ma dostępu. Algorytm to skrawek kodu który robi coś z danymi które otrzymał np. otrzymał a, b i h, i oblicza z nich pole trapezu. Algorytmu wysyła wynik na ekran komputera lub w inne wyznaczone miejsce i są to dane wyjściowe, które użytkownik otrzymuje bo zakończeniu wykonywania kodu.

Teraz na przykładzie. Tworzymy program do obliczenia pola trójkąta. Prosimy użytkownika aby wpisał on długości boków a i h. To są nasze dane wejściowe. Są one przesyłane do algorytmu który ze wzoru ah/2 obliczy pole trapezu. To pole trapezu jest naszą daną wyjściową.

Ogólną zasadę działania programów znamy więc zabierzmy się za ich konstruowanie. Więc jak zacząć? Po pierwsze musimy sformułować problem do rozwiązania czyli musimy się zastanowić co tak naprawdę ma robić nasz program. Później musimy problem zanalizować czyli zastanowić się jakie dane mogą być przydatne, czy które wzory matematyczne ułatwią nam zadanie. W wielu przypadkach tutaj trzeba zadawać wiele pytań bo przecież nie na wszystkim programista musi się znać np. Dostajesz w pracy zlecenie na program który ma za zadanie rozszyfrować czy wpisany związek chemiczny jest kwasem, solą, tlenkiem czy zupełnie innym typem związku chemicznego. Czysto teoretycznie załóżmy, że o tym nic nie wiesz. Więc musisz zdobyć informacje na temat jak zbudowany jest tlenek, kwas i sól, czym się wyróżniają, jak łatwo je rozpoznać itp. Zazwyczaj zadawanie takich pytań okaże się niezbędne w pracy z komputerem i to nie tylko przy programowaniu. Następnym naszym zadaniem będzie utworzenie algorytmu. Jest to chyba najcięższe i zarazem najważniejsze zadanie. Rozwinę je później lub w następnym artykule, zobaczę jak wyrobię się z czasem :D Następnie przystępujemy już do pisania programu na podstawie danego algorytmu który już stworzyliśmy. Gdy już się trochę wprawisz w pisaniu programów to nie będziesz musiał pisać na sucho schematów blokowych algorytmów, ale będziesz je tworzył przy pisaniu programu, więc jak widzisz to są podstawy i potem możesz niektóre rzeczy z którymi radzisz sobie lepiej omijać. Ostatecznym punktem opcjonalnym jest sporządzenie dokumentacji programu jeśli jest ona konieczna. Oczywiście przy tworzeniu aplikacji dla siebie omiń ten punkt bo przecież będziesz wiedział jak dany program działa ?

Co to jest algorytm? Regułkowo to: szczegółowy przepis określający rodzaj i kolejność działań niezbędnych do uzyskania wymaganych wyników na podstawie danych wejściowych. Należy podkreślić, że opracowany algorytm musi uwzględniać wszystkie możliwe przypadki jakie mogą się zdarzyć podczas obliczeń. Prościej to po prostu kawałek kodu, opisu słownego który mówi nam jak rozwiązać dany problem. Jednak regułka ma w sobie coś ważnego. „Należy podkreślić, że opracowany algorytm musi uwzględniać wszystkie możliwe przypadki jakie mogą się zdarzyć podczas obliczeń.” Tutaj trzeba uważać. Np. gdy prosisz użytkownika o wprowadzenie przedziału liczbowego z którego program ma wypisać tylko te które są liczbami parzystymi. No więc użytkownik wpisuje jako początek przedziału 10, a jako koniec 5. Program się rozsypuje. Trzeba więc zrobić pewne zabezpieczenia przed takimi sytuacjami, ale to tylko wzmianka reszta potem.

Dobra, jednak czas mnie nagli, a muszę jeszcze to przeczytać, skorygować to i tamto a potem opublikować, więc przepraszam jeśli chciałeś więcej. Będzie jutro, Ew. pojutrze :] Jeśli jednak jesteś bardzo spragniony wiedzy to poszukaj w Internecie już coś o schematach blokowych algorytmów, blokada początku i końca przedziału (pisałem o tym wcześniej) oraz poczytaj o zmiennych i ich typach w Pascalu bo na nim się będę opierał czy się komuś to podoba czy nie :P. Na dziś to koniec. Mam nadzieję, że pierwszy mój artykuł na tym blogu Cię nie rozczarował i jesteś zadowolony z czasu który poświęciłeś na jego czytanie… Pozdrawiam

Wybrane dla Ciebie
Komentarze (49)