POWRÓT NA STRONĘ SZKOŁY

Wprowadzenie do programowania

Dzisiaj prawdobodobnie wszyscy posługujemy się programami komputerowymi. Często nie mamy o tym nawet pojęcia - włączając pralkę, wysyłając SMSa, czy jadąc samochodem. Może dlatego, że taki program kojarzy nam się z komputerem - jakby nie patrzeć, dużym urządzeniem, którego trudno nie zauważyć. Zgadza się, ale weź pod uwagę, że dzisiejszy smarfon ma większą moc obliczeniową jak pierwsze komputery które zajmowały przestrzeń całego budynku. Dzisiaj komputery mogą być małe i często stanowią integralną część wielu urządzeń i maszyn. Tak więc wszechobecność programów komputerowych jest dzisiaj faktem, więc warto zadać sobie pytanie - co to jest ten program? Zacznijmy od uświadomienia sobie, jak działa komputer. W największym uproszczeniu przetwarza ciągi zer i jedynek. Tylko tyle i aż tyle. Dlaczego aż tyle? Ponieważ za pomocą zera i jedynki można przedstawić każdą liczę znaną Ci z zapisu dziesiętnego. Tyle, że nie będzie to już system dziesiętny ale dwójkowy, tak zwany system binarny. Tak więc te ciągi zer i jedynek, to ciągi liczb. Wobec tego wiemy już, że komputer, to maszyna która przetwarza liczby. Ale jak się to ma do współczesnego programu komuterowego na przykład gry? Jeżeli komputer rozumie tylko liczby, to należy realny świat "dać mu" w postaci liczb. Czy to możliwe? Jak się okazuje, przynajmniej do tej pory nie ma z tym problemów. Jeden mały przykład - świat jest kolorowy - jak przekazać komputerowi pojęcie koloru? Domyślamy się, że za pomocą odpowiedniej liczby. Tak jest w istocie. Na przykład schemat RGB przyjmuje (zgodnie z prawdą), że każdy kolor można otrzymać poprzez odpowiednie zmieszanie kolorów podstawowych - czerwonego (red), zielonego (green) i niebieskiego (blue). Przyjmując zakres "ilości" każdego koloru w "mieszance" od 0 do 255 możemy definiować kolory w języku liczb. Tak więc kolor RGB(255,255,255) będzie biały, RGB(0,0,0) - czarny, RGB(255,0,0) - czerwony, RGB(0,255,0) - zielony, RGB(0,0,255) - niebieski, a kolor dowolny będzie miał różne wartości liczb. Dlatego wcześniej użyliśmy pojęcia mocy obliczeniowej, ponieważ im szybszy komputer, tym więcej operacji na liczbach wykona.

Wszystko, zaczyna nam się układać w logiczną całość. Należy sobie jeszcze uświadomić, że komputer jest tylko maszyną, która sama "z siebie" nie jest nic w stanie zrobić. Tak jak np. koparka będzie kopać, dopiero jak wsiądzie do niej operator, uruchomi silnik i inne zespoły oraz zacznie sterować pracą poprzez wciskanie różnych dźwigni, przełączników, itd. Takim operatorem dla komputera jest oprogramowanie zwane systemem operacyjnym. Ten "operator komputera" umożliwia uruchamianie wszystkich programów, których używamy. Bez względu na stopień złożoności programu, jego zadania są zawsze takie same - przetwarzanie danych, które są sprowadzane do wartości liczbowych. Dane trzeba najpierw wprowadzić, dlatego funkcjonuje takie pojęcie jak wprowadzenie danych. Dane przetworzone przez program muszą być wyprowadzone - na przykład pokazane na ekranie monitora. I znów, wracając do przykładu z kolorami - widzimy na ekranie jakiś piękny obraz i możemy się zapytać - jak liczby mogą coś takiego pokazać? Nie ma problemu, wystarczy że każdemy świecącemu punktowi ekranu (piksel) przypiszemy odpowiedni kolor - określony za pomocą liczb. Tak więc doszliśmy do podstawowego schematu programu komputerowego polegającego na:

  • wprowadzeniu danych,
  • operacji na danych
  • wyprowadzeniu danych

Tworzenie programu komputerowego nazywamy programowaniem. Programy komputerowe, wykonujące dla użytkownika pewne określone zadania, są często określane mianem aplikacji.

Jeżeli w tej chwili zastanawiasz się - po co mi te oczywiste oczywistości, to wiedz, że programowanie, przynajmniej w wersji podstawowej nie jest niczym tajemniczym - kod źródłowy tworzony przez programistę jest również oczywisty, ponieważ opiera się o elementarne zasady logiki.

Zanim zaczniesz programować musisz przebrnąć przez kilka informacji wprowadzających:

Praca domowa

Opisz w zeszycie, własnymi słowami, poznane na lekcji pojęcia.