Wprowadzenie do programowania
Tematyka
-
Kurs stanowi szybkie wprowadzenie w podstawy tworzenia programów, ze szczególnym uwzględnieniem języków C i Python.
Nie jest to jednak kompleksowy trening, wyczerpujący wszelkie podstawy i podsuwający zróżnicowane ćwiczenia konieczne do opanowania wspomnianych języków. Materiały pomyślane są raczej jako porządkujące podstawowe pojęcia związane z programowaniem i akcentujące wspólne dla różnych języków elementy. Zapoznając się z nimi uzyskasz pierwsze spojrzenie na to, co trzeba mieć na uwadze komunikując komputerowi zadania w formie kodu. Dzięki temu, mam nadzieję, będziesz w stanie bardziej świadomie poruszać się po kursach i materiałach dotyczących konkretnych języków programowania, zapewne nie tylko C i Pythona, pamiętając, że dla inżyniera stanowią one narzędzia - zróżnicowane, ale jednak ostatecznie służące temu samemu celowi - wykonaniu przez system komputerowy pożądanych operacji.
Opracowanie: Mateusz Szumilas
Ostatnie zmiany: 09 października 2025 r.
Kurs powstał w ramach projektu "OMNIS2 Otwartość. Modernizacja. Nowoczesność. Integracja. Społeczność.", współfinansowanego ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Plus, w ramach programu Fundusze Europejskie dla Rozwoju Społecznego 2021-2027.
W ramkach Zadanie znajdziesz pytania i ćwiczenia do samodzielnego opracowania. Nawiązują one do prezentowanych w kursie treści, a także poruszają zagadnienia wykraczające poza te materiały. Nie pomijaj ich - to ważne, żeby zaangażować się nie tylko w odbieranie, ale także wykorzystywanie lub przekazywanie nabytych informacji. Nie mierz się z nimi tylko w głowie - jeżeli w zadaniu trzeba uruchomić kod, zrób to; jeżeli trzeba poszukać wyjaśnienia cechy lub elementu języka programowania - poświęć chwilę na przestudiowanie tematu i zapisz krótką odpowiedź - wystarczy kilka zdań, może być na papierze albo cyfrowo. Jeżeli nie wiesz jak wyjaśnić pojęcie lub napisać kod - zapisz pytania, które się nasuwają. -
Gdy mamy do rozwiązania problem, mniej lub bardziej złożony, z pomocą mogą przyjść nam pewne schematy myślenia. Myślenie obliczeniowe (computational thinking) to określenie procesu, który obejmuje takie działania, jak: dekompozycja, wyszukiwanie wzorców, abstrahowanie czy tworzenie algorytmów. Z punktu widzenia programisty, celem myślenia obliczeniowego jest ustalenie jakie informacje ma otrzymać maszyna obliczeniowa i jakie kroki podjąć, żeby rozwiązać postawiony problem. Dobrze, gdy ten proces jest realizowany świadomie i w sposób usystematyzowany już zanim rozpocznie się tworzenie programu komputerowego.
-
W programach komputerowych musimy zapisywać liczby, które dla procesora ostatecznie przybierają formę ciągów zer i jedynek. Nie posługujemy się jednak tylko systemem dziesiętnym i liczbami całkowitymi. W tej sekcji przyjrzyjmy się zapisowi liczb całkowitych w systemach (notacjach) dwójkowej i szesnastkowej, a także zapisowi liczb obejmującym część ułamkową w systemach stało- i zmiennoprzecinkowych.
-
Czy można wyróżnić punkty wspólne dla różnych języków programowania? Elementy, które występują w prawie wszystkich programach? Tak, są pewne składowe, które spotykamy powszechnie.
Omówimy więc zmienne i struktury danych. Zarówno pojedyncze zmienne, jak i całe struktury służą nam do przechowywania różnych danych dla naszego kodu. Wtedy, kiedy program musi je modyfikować, ale także gdy wykorzystuje je jako stałe. Logicznie powiązane ze sobą zmienne łączymy w struktury danych. Następnym elementem są operatory, które pozwalają na przetwarzanie zmiennych: dodawanie, odejmowanie, dzielenie, mnożenie, operacje logiczne i tak dalej. Operatory i zmienne łączymy w instrukcje. Instrukcje wykonywane są w określonej w kodzie sekwencji, która wynika z implementowanego algorytmu działania. Natomiast jeżeli do kodu dodamy pewną warunkowość, to poprzez sprawdzanie szeregu warunków mamy możliwość zmiany ścieżki wykonania programu, która bez warunkowości musiałaby być stała. Do implementacji tego zachowania, służą nam szczególne instrukcje: instrukcje wyboru, znane także jako instrukcje warunkowe. Czasem kod trzeba powtórzyć wielokrotnie, wykonać wiele jego iteracji, zwykle ze zmieniającymi się parametrami. Żeby takie iteracje zrealizować również dostępne są odpowiednie składowe programu, np. instrukcje tworzące pętle.
-
W materiale znajdziesz wprowadzenie w zasady stosowania zmiennych w programowaniu. Pojawią się takie pojęcia jak: typy danych, deklaracje i nazewnictwo zmiennych. Przykłady obejmują programy w języku C i Python.
-
Omówiono reprezentację danych w pamięci na przykładzie programu napisanego w języku C.
Przytaczane związki między typami zmiennych, notacją wartości liczbowych w kodzie, a zawartością komórek pamięci, zachodzą jednak w różnych językach programowania.
-
Funkcje to ważny element programów. Pozwalają na wydzielenie fragmentów kodu, które możemy wielokrotnie uruchamiać (wykonywać) w ramach jednego albo wielu programów. Dodatkowo te fragmenty kodu mogą być sparametryzowane, a więc możemy wprowadzić pewne wartości, które przekazujemy do wykorzystania w funkcji. Uwzględnienie parametrów sprawia, że wykonywane obliczenia (czy też inne operacje) mogą być adaptowane do kontekstu, w którym funkcja jest wywoływana. Z zastosowania funkcji wynika też modularyzacja kodu, a więc rozdzielenie go na fragmenty, które posiadają pewne interfejsy komunikacyjne (ich wejścia i wyjścia danych). Dobrze przeprowadzona modularyzacja ułatwia utrzymanie kodu: naprawianie go i rozwijanie w przyszłości.
-