I Liceum Ogólnokształcące w Jarosławiu – Informatyka

🐍 Wstęp do programowania w języku Python

Poznaj podstawy programowania w Pythonie: algorytmy, zmienne, instrukcje wejścia i wyjścia, warunki, pętle, funkcje i listy. Przejrzyj teorię, a następnie sprawdź się w ćwiczeniach i quizach.

Algorytm Specyfikacja Zmienne i typy input / print Operatory if / else Pętla for Funkcje Listy

📋 Spis treści

  1. Algorytm i specyfikacja problemu
  2. Zmienne i typy danych
  3. Wejście i wyjście (input / print)
  4. Operatory arytmetyczne
  5. Instrukcja warunkowa if / else
  6. Pętla for i range()
  7. Funkcje
  8. Listy
  9. Ćwiczenia interaktywne
  10. Quiz – 20 pytań

1 Algorytm i specyfikacja problemu

Czym jest algorytm?

Algorytm to dokładny opis postępowania prowadzący do rozwiązania określonego problemu. Musi być:

Schemat myślenia informatycznego: Problem → Algorytm → Program

Algorytmy w życiu codziennym

Algorytmy spotykamy wszędzie: przepis kulinarny, instrukcja obsługi, zasady logowania do serwisu, plan dojazdu – to wszystko algorytmy.

Specyfikacja problemu

Przed napisaniem algorytmu precyzujemy problem w formie specyfikacji, która zawiera:

Przykład specyfikacji – parzysta liczba

ElementWartość
Daneliczba całkowita n
WynikTrue / False (albo komunikat)
Zależnośćn % 2 == 0

Program to algorytm zapisany w języku programowania. W Pythonie kod źródłowy przechowujemy w plikach .py. Python jest językiem interpretowanym – interpreter wykonuje kod linia po linii.

2 Zmienne i typy danych

Czym jest zmienna?

Zmienna to nazwane miejsce w pamięci komputera, w którym przechowujemy dane. Python rozpoznaje typ automatycznie na podstawie przypisanej wartości.

x = 10          # int
wzrost = 175.5  # float
imie = "Anna"   # str

Podstawowe typy danych

TypCo przechowujePrzykład
intliczby całkowiterok = 2025
floatliczby rzeczywiste (z kropką)pi = 3.14
strtekst (ciąg znaków)miasto = "Jarosław"

Zmiana wartości zmiennej

liczba = 23
liczba = liczba + 1   # teraz liczba = 24
print(liczba)
Uwaga: Zapis liczba = liczba + 1 to nie równanie matematyczne. To polecenie: „weź obecną wartość, dodaj 1 i zapisz z powrotem".
Ważne: Część dziesiętną zapisujemy kropką, np. 34.5, a nie przecinkiem.

3 Wejście i wyjście – input() i print()

print() – wyświetlanie wyników

suma = 10 + 5
print("Suma wynosi:", suma)
print("Linia 1\nLinia 2")   # \n = nowy wiersz

input() – pobieranie danych od użytkownika

imie = input("Podaj imię: ")
print("Cześć,", imie)
Uwaga: input() zawsze zwraca tekst (str). Żeby pracować z liczbami, trzeba dokonać konwersji:
# Wczytaj liczbę całkowitą
n = int(input("Podaj liczbę całkowitą: "))

# Wczytaj liczbę rzeczywistą
srednia = float(input("Podaj średnią: "))

# Dlaczego to ważne?
# input() → "34"   →  "34" + "34" = "3434"  (sklejanie tekstu!)
# int(input()) → 34  →  34 + 34 = 68        (dodawanie liczb)

Zatrzymanie okna po zakończeniu programu

input("\nAby zakończyć, naciśnij Enter")

4 Operatory arytmetyczne

OperatorDziałaniePrzykładWynik
+dodawanie10 + 313
-odejmowanie10 - 37
*mnożenie10 * 330
/dzielenie (z ułamkiem)10 / 42.5
//dzielenie całkowite10 // 33
%reszta z dzielenia10 % 31

Zaokrąglanie i konwersja

x = 10 / 3          # 3.3333...
print(round(x, 2))  # 3.33

c = (98.6 - 32) * 5 / 9
print(round(c, 1))  # 37.0
Plus przy tekstach: Jeśli zmienne są typu str, operator + oznacza sklejanie: "samo" + "chód""samochód".

Przykład – przeliczanie temperatury

f = int(input("Temperatura w Fahrenheitach: "))
c = (f - 32) * 5 / 9
print(f, "°F to", round(c, 2), "°C")

5 Instrukcja warunkowa – if / else

Podstawowa składnia

if warunek:
    # blok gdy warunek prawdziwy
else:
    # blok gdy warunek fałszywy
Wcięcia są obowiązkowe! Bloki po if i else muszą być wcięte (4 spacje). Brak wcięcia = błąd składni (IndentationError).

Operatory porównania i logiczne

OperatorZnaczeniePrzykład
==równya == b
!=różnya != b
<mniejszya < b
>większya > b
<=mniejszy lub równya <= b
>=większy lub równya >= b
andi (oba muszą być True)a > 0 and b > 0
orlub (wystarczy jeden True)a < 0 or b < 0
notnegacjanot a == 5

Przykład 1 – większa z dwóch liczb

a = int(input("Podaj pierwszą liczbę: "))
b = int(input("Podaj drugą liczbę: "))

if a > b:
    print("Większa jest:", a)
else:
    print("Większa jest:", b)

Przykład 2 – program logowania (and)

login_baza = "Robik"
haslo_baza = "Gwi@zdA#99"

login = input("Login: ")
haslo = input("Hasło: ")

if login == login_baza and haslo == haslo_baza:
    print("Logowanie prawidłowe")
else:
    print("Błąd logowania")

Przykład 3 – warunek istnienia trójkąta

a = int(input("Bok a: "))
b = int(input("Bok b: "))
c = int(input("Bok c: "))

# Ustaw c jako największy bok
if a > b and a > c:
    a, c = c, a
elif b > c:
    b, c = c, b

if a + b > c:
    print("TAK – trójkąt istnieje")
else:
    print("NIE – trójkąt nie istnieje")

6 Pętla for i range()

Ogólna postać

for zmienna in sekwencja:
    # powtarzany blok kodu

Funkcja range()

ZapisGenerujePrzykład
range(n)0, 1, 2, ..., n-1range(5) → 0 1 2 3 4
range(a, b)a, a+1, ..., b-1range(2, 6) → 2 3 4 5
range(a, b, k)a, a+k, ..., ≤b-1range(1, 10, 2) → 1 3 5 7 9
Uwaga: Liczba b (koniec) NIE wchodzi do sekwencji. Zawsze kończymy na b − 1.

Przykład – pola pięciu prostokątów

for i in range(5):
    x = int(input("Podaj długość boku a: "))
    y = int(input("Podaj długość boku b: "))
    print("Pole:", x * y)

input("\nNaciśnij Enter, aby zakończyć")

Pętla po liście

oceny = [4, 5, 3, 5, 4]
for ocena in oceny:
    print(ocena)

Algorytm Herona – przykład z pętlą while

Pozwala obliczyć przybliżenie √x bez funkcji sqrt():

x = float(input("Pierwiastkuj: "))
a = x / 2
while abs(a - x / a) > 0.001:
    a = (a + x / a) / 2
print("Wynik:", round(a, 4))

7 Funkcje

Czym jest funkcja?

Funkcja (podprogram) to wydzielony, nazwany fragment kodu, który można wielokrotnie wywołać. Dzięki funkcjom kod jest czytelniejszy i łatwiejszy w utrzymaniu.

Definicja i wywołanie

def nazwa_funkcji(parametry):
    # ciało funkcji
    return wartość    # opcjonalne
Ważne: Najpierw definiujemy funkcję (def), a dopiero potem ją wywołujemy.

Funkcja z return – objętość sześcianu

def szescian(a):
    return a * a * a

bok = int(input("Bok sześcianu: "))
print("Objętość:", szescian(bok))

Funkcja bez return – rysowanie znaków

def pokaz_znaki(znaki):
    for i in range(1, 11):
        print(znaki * i)

emotikon = input("Wpisz znak: ")
pokaz_znaki(emotikon)

Parametry formalne i aktualne

8 Listy

Czym jest lista?

Lista to struktura przechowująca wiele wartości pod jedną nazwą. Elementy numerujemy od 0.

a = [10, 20, 30, 40, 50]
print(a[0])   # 10
print(a[4])   # 50

Tworzenie list

SposóbPrzykładWynik
Wartości od razu[31, 28, 31, 30]lista 4 elementów
Ta sama wartość N razy[0] * 10lista 10 zer
Rozmiar w zmiennejN = 5; [0] * Nlista 5 zer

Ćwiczenie: wczytaj 5 liczb i wypisz

N = 5
a = [0] * N

def wprowadz_dane():
    for i in range(N):
        a[i] = int(input("Podaj liczbę: "))

def wyprowadz_dane():
    for i in range(N):
        print(a[i])

wprowadz_dane()
wyprowadz_dane()
input("\nNaciśnij Enter, aby zakończyć")

9 Ćwiczenia interaktywne

Odpowiedz na pytania do każdego działu. Przejście do kolejnego pytania możliwe tylko po wybraniu poprawnej odpowiedzi. Do statystyk liczy się wyłącznie pierwsza odpowiedź.

🧩 Blok A – Algorytm i specyfikacja

🧩 Blok B – Zmienne, wejście–wyjście i obliczenia

🧩 Blok C – Instrukcja warunkowa i operatory

🧩 Blok D – Pętla for i funkcje

🧩 Blok E – Listy

10 Quiz – 20 pytań z całości

Sprawdź znajomość całego materiału. Pytania losowane z różnych działów.

✅ Po tym powtórzeniu powinieneś/powinnaś: