Podstawowe pojęcia, zależność między problemem, algorytmem a programem komputerowym.
Środowisko Python 3.
Tryb interaktywny Pythona. Python jako interpreter programu.
Podstawowe typy danych.
Operatory i zmienne.
Instrukcje warunkowe.
Instrukcje iteracyjne.
Typy sekwencyjne.
Typ napisowy.
Listy i ich własności.
Krotki i ich własności.
Konwersja typów sekwencyjnych.
Definiowanie funkcji.
Parametry funkcji, zmienne lokalne i globalne.
Podstawy podejścia obiektowego.
Metody operujące na napisach.
Metody operujące na listach.
Przykładowe biblioteki (moduły).
Data i czas we własnych programach.
Funkcje matematyczne.
Generowanie liczb losowych.
Słowniki i ich zastosowanie.
Obsługa plików.
Zapis do pliku i odczyt z pliku.
Praca z plikami tekstowymi.
Przykłady zadań maturalnych.
Pojęcie algorytmu.
Etapy rozwiązywania zadań za pomocą komputera.
Sposoby reprezentowania algorytmu.
Układanie algorytmu za pomocą edytora.
Algorytmy liniowe.
Edycja i układanie prostych algorytmów rozgałęzionych.
Iteracja.
Rekurencja.
Ciąg Fibonacciego.
Metoda „dziel i zwyciężaj”.
Przeszukiwanie binarne ciągu uporządkowanego.
Programowanie zachłanne.
Kryptografia i kryptoanaliza. Metody szyfrowania.
Złożoność obliczeniowa i efektywność algorytmów.
Algorytmy badające własności geometryczne.
Przykładowe ćwiczenia:
Działania na liczbach (+, -, *, /, //, %)
Wykonywanie operacji na napisach, wyświetlanie, użycie „format”.
Wprowadzanie napisów, wyodrębnianie ich fragmentów, odwracanie napisu.
Wyświetlanie znaków kodu ASCII, ich podzbiorów, znaków specjalnych (użycie „for”, „while”).
Wyznaczanie (użycie „if”) największej (najmniejszej) spośród 3 liczb, 4 liczb.
Rozwiązanie równania liniowego.
Wyświetlanie ciągu liczb (np. parzystych, np. podzielnych przez 7) z danego zakresu.
Wyświetlenie tabliczki mnożenia do 100.
Zamiana liczb z systemu dziesiętnego na dwójkowy, ósemkowy, szesnastkowy.
Sprawdzenie, czy liczba jest liczbą pierwszą.
Obliczanie średniej arytmetycznej N liczb.
Zbadanie, czy 3 liczby mogą być dł. boków trójkąta, pole trójkąta, trójkąty pitagorejskie.
Losowanie i odgadywanie liczby – „za dużo, za mało”.
Wykonywanie różnych operacji na listach (m.in. kopiowanie, usuwanie wycinka, dołączanie el. na końcu, na podanej pozycji, łączenie list, zwielokrotnianie, max, min, sort, sum, generowanie list).
Stosowanie wzorów (np. obliczanie pól i objętości figur).
Wyznaczenie sumy cyfr liczby.
Wyświetlenie potęg (np. potęg liczby 3 mniejszych od 4000).
Wyświetlenie dużych liter alfabetu od Z do A.
Wygenerowanie i posortowanie 5 wyników rzutu kostką.
Sprawdzanie czy napis jest palindromem.
Wyświetlenie wyniku losowania liczb w lotto (6 z 49).
Zamiana liczby z sytemu rzymskiego na arabski i odwrotnie.
Konwersje między typami sekwencyjnymi.
Wyznaczanie części wspólnej sekwencji.
Rozwiązywanie kryptarytmu.
Znajdowanie liczb doskonałych, par liczb zaprzyjaźnionych.