{<Z Kordian Zadrożny

AI, Strony WWW, Programowanie, Bazy danych

Kurs Programowania od ZERA – Lekcja 1: Co to jest Algorytm czyli myśl jak programista!

utworzone przez | lis 12, 2025 | kurs programowania | 0 komentarzy

Zgodnie z obietnicą z początku tygodnia, zaczynamy kurs programowania, od podstaw, dla osób nietechnicznych, które nigdy nie programowały.

Skąd taki pomysł? Co chcę inaczej robić niż na innych kursach?

Dziś, w czasach AI wmawia się ludziom, iż mogą tworzyć aplikacje nie będąc programistami. Że nie muszą umieć programować by tworzyć narzędzia i produkty.

To połowiczna prawda, a raczej dziś jeszcze półprawda. Żeby współpracować z AI przy tworzeniu oprogramowania, trzeba go prowadzić za rączkę, rozumiejąc co AI robi, i potrafiąc jego pracę weryfikować.

To jest bardzo ważne, a dziś właśnie, sporo osób, które wcześniej z programowaniem nie miały do czynienia, zaczyna tworzyć produkty, a z tego procesu biorą się katastrofy.

A więc radzę, „vibe koduj” ale i ucz się programowania.

Zaczynamy

Co to jest ALGORYTM?

Najpierw powinienem zapytać, czym jest programowanie?

Programowanie to sztuka i nauka dawania komputerowi precyzyjnych instrukcji, krok po kroku, jak ma rozwiązywać problemy i wykonywać zadania.

Pomyśl o tym tak: komputer jest niezwykle szybkim i potężnym narzędziem, ale jednocześnie jest „głupi”. Nie ma własnej inicjatywy ani intuicji. Potrzebuje dokładnego przewodnika po każdej czynności, jaką ma wykonać. Twoim zadaniem jako programisty jest stworzenie takiego przewodnika – zestawu instrukcji, które komputer zrozumie i będzie w stanie wykonać.

To trochę jak bycie reżyserem dla aktora, który potrafi tylko robić to, co mu się powie, ale za to z niezwykłą precyzją i szybkością. Musisz rozpisać scenariusz każdej sceny, każdego ruchu i każdej kwestii.

I właśnie tutaj wkraczają algorytmy. Najprościej mówiąc, algorytm to przepis.

Przykłady algorytmów z życia:

  1. Przepis kulinarny: „Algorytm na jajecznicę”.
    • START
    • Weź 2 jajka i miskę.
    • Rozbij jajka do miski.
    • Dodaj sól.
    • Mieszaj przez 30 sekund.
    • Rozgrzej patelnię… itd.
    • STOP
  2. Instrukcja składania mebli z IKEA: To idealny, choć czasem frustrujący, przykład algorytmu. Jeśli pomylisz krok 3 z krokiem 4, wynik będzie błędny (lub w ogóle go nie będzie).
  3. Droga do pracy:
    • Wyjdź z domu.
    • Idź do przystanku.
    • Poczekaj na autobus nr 123.
    • Jedź 4 przystanki… itd.

W programowaniu jest identycznie. Mówimy komputerowi „krok po kroku”, co ma zrobić. Komputer jest niesamowicie szybki, ale też (niestety) kompletnie pozbawiony domyślności. Musimy mu dać idealnie precyzyjny przepis.

Czym są ZMIENNE?

Zanim zaczniemy budować skomplikowane algorytmy, potrzebujemy miejsca na przechowywanie danych. Tym właśnie są zmienne.

Najłatwiej myśleć o zmiennej jak o pudełku z etykietą.

  • Możesz włożyć coś do pudełka (np. liczbę 5 albo tekst "kot").
  • Pudełko musi mieć etykietę (nazwę zmiennej, np. wiek albo zwierze).
  • Gdy potrzebujesz wartości, zaglądasz do pudełka o odpowiedniej etykiecie.

Przykład: Chcemy zapisać wiek użytkownika. Tworzymy „pudełko” (zmienną) o etykiecie wiek_uzytkownika i wkładamy tam liczbę 30.

Kiedy komputer zobaczy później instrukcję „wypisz wiek_uzytkownika„, zajrzy do tego pudełka i pobierze wartość 30.

Dzięki zmiennym nasz algorytm może operować na danych, które się zmieniają (stąd nazwa „zmienna„).

ALGORYTMY: IF, FOR, WHILE

Gdy już wiemy czym są zmienne, i czym są algorytmy pokażę ci trzy absolutnie podstawowe algorytmy.

Gdy tworzymy coś skomplikowane, często to najpierw rysujemy, aby łatwiej było nam zrozumieć. W nauce algorytmiki stosuje się schematy blokowe, które na potrzeby tego kursu postaram się uprościć, zachowując jednak ich sens.

Te podstawowe algorytmy to instrukcja warunkowa IF, oraz dwa algorytmy pętli.

Po co to?

Instrukcje warunkowe prowadzą kod programu za rączkę. Na przykład gdy zmienna wiek_uzytkownika pokaże mniej lub równe niż 10 program powie, jesteś za młody aby używać tego programu, zawołaj rodzica! A gdy pokaże więcej umożliwi zalogowanie się.

Przykład w pseudokodzie, czyli takim uniwersalnym sposobie pokazywania kodu:

if wiek_uzytkownika <=10 
then print("Zawołaj rodzica")
else print("zaloguj się") 

A po co pętle?

Zazwyczaj program robi coś, przez pewien czas, np. prosimy użytkownika o wpisanie wieku, a ten łobuz wpisuje swoje imię. W tej chwili program się mówiąc wprost „wywali” 🙂 i jego praca by się zakończyła, a chcemy przecież, żeby podał wiek, więc prosimy dopóki nie poda liczby całkowitej. To właśnie przykład pętli.

IF – PRZEDSTAWIAMY JAKO RĄB

przypisujemy zmiennej wiek_uzytkownika wartość 23

IF czyta wartość i gdy jest większa niż 10 zwraca TAK idzie do logowania, a w przeciwnym przypadku, czyli gdy wartość jest NIE informuje użytkownika, że jest za młody.

To co się faktycznie dzieje, to zwracanie true lub false, ale o tym opowiem w następnej lekcji.

Teraz pętla, zaczniemy od pętli FOR. Pokażę schemat i go wytłumaczę.

Pętla FOR – wykonywanie operacji określoną ilość razy

Załóżmy, że mamy robota, który robi babeczki. Mamy zamówienie na 5 babeczek. Mówimy robotowi upiecz 5 babeczek, i rozpoczyna się pętla.

Nasze „i” to ilość babeczek. W programowaniu bardzo często, a chyba i zawsze pierwsza wartością jest zero – 0 i tak inicjujemy naszą zmienną i = 0.

Kolejno w pętli dzieje się:

  1. Czy i <5 ? (nasze i = 0)
  2. Tak, jest mniejsze, pieczemy babeczkę (🍪)
  3. następnie powiększamy nasze i czyli i = 0 + 1 = 1
  4. Czy i <5 ? (nasze i = 1)
  5. Tak, jest mniejsze, pieczemy babeczkę (🍪 🍪)
  6. następnie powiększamy nasze i czyli i = 1 + 1 = 2
  7. Czy i <5 ? (nasze i = 2)
  8. Tak, jest mniejsze, pieczemy babeczkę (🍪 🍪 🍪)
  9. następnie powiększamy nasze i czyli i = 2 + 1 = 3
  10. Czy i <5 ? (nasze i = 3)
  11. Tak, jest mniejsze, pieczemy babeczkę (🍪 🍪 🍪 🍪)
  12. następnie powiększamy nasze i czyli i = 3 + 1= 4
  13. Czy i <5 ? (nasze i = 4)
  14. Tak, jest mniejsze, pieczemy babeczkę (🍪 🍪 🍪 🍪 🍪)
  15. następnie powiększamy nasze i czyli i = 4 + 1=5
  16. Czy i <5 ? (nasze i = 5)
  17. NIE, nasze i = 5 więc GOTOWE

Powyżej macie krok po kroku rozpisany algorytm pętli FOR w jej klasycznej wersji.

Pętla WHILE – czyli dopóki

Za pomocą tejże, można przedstawić taki algorytm jak powyżej, ale to zostawię ci jako zadanie domowe. tu pokażmy nasz przykład z wprowadzaniem danych do formularza, niech to będzie podaj hasło.

Można to przeczytać jako DOPÓKI zmienna haslo jest różne od „tajne hasło” proś użytkownika o podanie hasła.

Rodzaje języków programowania

Najpierw zobaczcie na ten ranking: 20 Most Popular Programming Languages in 2025 (Worldwide Ranking)

I na ten: Top 10 programming languages in 2025 | Online Courses, Learning Paths, and Certifications – Pluralsight

Istnieje wiele języków programowania. Każdy ma swoją składnię, słownictwo i filozofię, ale wszystkie służą temu samemu – pozwalają nam pisać algorytmy.

Kluczową różnicą jest to, jak komputer „czyta” i „wykonuje” nasz kod. Tutaj wchodzą w grę dwa główne mechanizmy: kompilacja i interpretacja.

Języki Kompilowane (np. C#)

W językach kompilowanych, takich jak C# (którego będę się z Wami uczył!), proces wygląda tak:

  1. Piszesz kod źródłowy: Tworzysz plik z instrukcjami w języku C#.
  2. Kompilator wkracza do akcji: Specjalny program, zwany kompilatorem, „czyta” cały Twój kod, sprawdza go pod kątem błędów składniowych i tłumaczy go na język maszynowy (lub pośredni kod, który jest bardzo bliski językowi komputera).
  3. Tworzy plik wykonywalny: Wynikiem kompilacji jest niezależny plik (np. .exe w systemie Windows), który komputer może uruchomić bezpośrednio, bez potrzeby dodatkowych narzędzi.
  4. Uruchomienie: Gdy uruchamiasz ten plik, komputer wykonuje go bardzo szybko, ponieważ został on już wcześniej przetłumaczony na zrozumiałą dla niego formę.

Języki Interpretowane (np. Python, JavaScript, PHP)

W językach interpretowanych, takich jak Python, JavaScript czy PHP, proces jest nieco inny:

  1. Piszesz kod źródłowy: Tworzysz plik z instrukcjami w danym języku.
  2. Interpreter czyta i wykonuje na bieżąco: Kiedy uruchamiasz taki plik, specjalny program, zwany interpreterem, czyta Twój kod linijka po linijce i od razu go wykonuje. Nie ma etapu tworzenia jednego, dużego, przetłumaczonego pliku.
  3. Dynamiczność: Oznacza to, że możesz łatwiej wprowadzać zmiany i testować kod, ponieważ nie musisz za każdym razem czekać na pełną kompilację.
  4. Wymagania: Aby uruchomić program napisany w języku interpretowanym, na komputerze musi być zainstalowany odpowiedni interpreter.

Dlaczego te różnice są ważne?

  • Szybkość: Zazwyczaj programy kompilowane są szybsze, bo ich tłumaczenie odbywa się raz, „przed” uruchomieniem.
  • Elastyczność: Języki interpretowane często są bardziej elastyczne i szybsze w procesie tworzenia i testowania, ponieważ od razu widzisz efekty zmian.
  • Debugowanie: W językach interpretowanych łatwiej jest śledzić błędy „na żywo”.

Niezależnie od języka, logika i algorytmy pozostają te same! Zrozumienie, co to jest IF, FOR czy zmienna, jest uniwersalne dla każdego programisty.

W następnej lekcji napiszemy pierwsze programy.

Będziemy używać Pythona – zawsze – skonfigurujemy pod niego środowisko,

JavaScriptu – czasem – do niego wystarczy przeglądarka internetowa

PHP – pokażę przykłady ale nie będziemy ich uruchamiać

i C# – będę się uczył razem z Tobą. Pod niego też skonfigurujemy podstawowe środowisko.

A jak Wam podoba się takie podejście?

Masz pytania do dzisiejszej lekcji? A może przychodzi Ci do głowy jakiś inny, zabawny algorytm z życia codziennego? Daj znać w komentarzu poniżej! Pamiętaj, uczymy się razem

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Share This

Share this post with your friends!