Zdravo,
Kako smo želeli da izbegnemo dugačke teorijske uvode o tome šta je programiranje, koji ti i neće mnogo značiti na samom početku učenja, rešili smo da ti, pre nego što pređemo na samo programiranje, pokažemo nekoliko primera stvari koje ćeš, ako prođeš ovaj kurs i nastaviš da radiš, uskoro moći i sam da napraviš.
Sve primere koje ćemo prikazati u ovom poglavlju napravili su srednjoškolci u Istraživačkoj stanici Petnica. Neki od njih su imali samo nekoliko nedelja iskustva sa programiranjem pre izrade ovih projekata, što samo pokazuje da i, poznajući samo osnove, možeš početi da primenjuješ svoje programersko znanje.
Programiranje je svestran alat kojim se mogu rešiti najrazličitiji problemi koji se protežu kroz vrlo raznovrsni spektar ljudskog delovanja. Na primer, jedna od zanimljivih stvar koju možemo da uradimo pomoću programiranja, koja se često i koristi za predviđanje i opisivanje različitih fenomena, predstavlja simuliranje neke pojave iz stvarnog sveta. Simulacije su vrlo korisne zato što nam, između ostalog, dozvoljavaju da ispitujemo određene pojave koje bi u stvarnom svetu bilo teško ili nemoguće ispitati, na primer kako izgleda pad meteora na planetu i njene satelite, koji možete videti u videima ispod. Iako bi bilo teško i skupo u realnom vremenu ispitivati pad meteora na neku planetu, pomoću simulacije možemo steći razumevanje načina na koji meteori udaraju u planetu i načina na koji udaraju u njene satelite. Takođe, simulacija nam dozvoljava da ispitamo i neke stvari koje ne bismo mogli da ispitamo u stvarnosti, na primer šta ako je broj meteora jako veliki, ili ako je gravitacija te planete jako velika? Programiranje nam tako omogućuje da elemente stvarnosti prevedemo u kod kojim je moguće manipulisati na najrazličtije načine.
Od programa koji oponašaju jednostavne fenomene na koje ne utiče mnogo faktora, poput pada lopte na zemljinu površinu, pa sve do programa koji opisuju neverovatno komplikovane pojave na koje utiče mnoštvo raznovrsnih i međusobno isprepletanih faktora, kao što je, recimo, distribucija bogatstva u nekom društvu, programiranje koristimo kao jedan od nezaobilaznih alata za pravljenje i ispitivanje modela nekog fenomena iz stvarnog sveta.
Ispod možeš videti nekoliko primera simulacija koje su učenici srednjih škola uspeli da samostalno naprave za jedan ili dva dana.
| Simulaciju kretanja lopte bačene pod uglom | |:-: | https://www.youtube.com/watch?v=O8MLSyzvSjY
| Simulaciju dvostrukog klatna | |:-: | https://www.youtube.com/watch?v=XYqnoducSPE
| Simulaciju padanja meteora na planetu i njene satelite | |:-: | https://www.youtube.com/watch?v=ApP_IU84FJw
Stvari koje možemo da napravimo uz pomoć programiranja ne moraju da ostanu samo na ekranu kompjutera. Umesto za naš personalni računar, program možemo da napišemo i za telefon ili čak i za mašinu za veš. Programiranje je dobrodošlo u svim sferama života u kojima je potrebno automatizovati neki proces, bilo da je to paljenje i gašenje ulične rasvete ili kontrolisanje broja obrtaja bubnja veš mašine.
Jedna od zanimljivijih upotreba programiranja je i pisanje programa za mikrokontroler, vrlo mali računar pomoću koga je moguće primati i slati signal raznim uređajima. Na mikrokontroler tako možemo da primamo infomacije sa kamera, mikrofona, GPS sistema i raznih drugih uređaja, a pomoću njega možemo kontrolisati i različite uređaje - igračke, svetla, kućne aprate i sl. Osim što prikazujemo nešto na ekranu, pomoću programa možemo i da upravljamo stvarima kao što su motori, zvučnici, sijalice... U primerima ispod možeš videti kako pomoću programiranja možemo da naučimo robota da izađe iz lavirinta ili da napravimo sistem koji samostalno balansira nemirnu lopticu na vrh ploče. Da biste ovladali ovakvim znanjem potrebno je malo više vremena, ali ove stvari su srednjoškolci uspeli da urade za samo dve nedelje:
| [Leto 2011] Ball & Plate | |:-: | https://www.youtube.com/watch?v=AYEnIdA2g2w
| [Leto 2012] Lokalizacija robota u poznatoj sredini | pomoću partikl filtra | |:-: | https://www.youtube.com/watch?v=EahmivnregE
Ako su ti prethodni primeri zanimljivi možeš se više informisati o tome gde su rađeni na sajtu seminara Primenjene fizike i elektronike u Petnici, a još zanimljivih primera možeš naći i na Youtube kanalu seminara.
Možda ti neki od ovih projekata sada ipak izgledaju komplikovano, ali jedna od glavnih prednosti programiranja je što ne moramo ceo problem da rešimo odjednom. Štaviše, takav pristup celoj stvari nije nimalo plodotvoran prilikom rešavanja programerskih problema. Sve što treba da uradimo je da problem podelimo na nekoliko manjih, koje ćemo onda možda čak i podeliti na još manje, sve do trenutka u kome dođemo do problema ništa komplikovanijih od onih sa kojima ćemo se uskoro sresti u ovom priručniku.
Nadamo se da smo te ovim primerima zainteresovali da nastaviš sa čitanjem priručnika, kao i da smo ti pomogli da uvidiš da se i sa malo poznavanja programiranja možeš uhvatiti u koštac sa raznovrsnim problemima i da, ako su srednjoškolci koji nisu umeli da programiranju, za nekoliko dana naučili da prave ovakve programe, nema razloga da i ti ubrzo ne budeš u stanju da ih sam praviš.