Python

Szanowni Państwo,
poniżej zamieszczone są zestawy zadań dla osób początkujących (dopiero zaczynających swoją przygodę z programowaniem). Zestawy zadań dala studentów zaawansowanych są przekazywane podczas zajęć — zależnie od stopnia zaawansowania konkretnej osoby.

Wszystko to w myśl o Państwa jak najlepszym i jak najszybszym rozwoju.

Przykładowe kolokwium wprowadzające: kolokwium 1.
Przykładowe kolokwium wprowadzające: kolokwium 2 (część dotycząca plików).

Zestawy zadań:

  • Zadania 1
  • Zadania 2 (instrukcje warunkowe i pętle)
  • Listy:

  • Słowniki:
    • Z zastosowaniem słowników należy napisać funkcję, dzięki które można dokonać zmiany liczby podanej przez parametr (w postaci int) na zapis słowny tej liczby. Można założyć, że liczba zawsze będzie mniejsza niż milion.
    • Z zastosowaniem słowników należy napisać program „fiszki”. W wyniku działania programu powinno być możliwe dodawanie słowa i jego znaczenia, pamiętając że tłumaczone słowo może wystąpić tylko raz. Następnie program losowo wyświetla słowa pytając o ich znaczenie i zlicza liczbę poprawnych oraz błędnych odpowiedzi.

      Program można rozszerzyć o ocenę wielkości błędu, licząc odmienność pomiędzy słowami (stosując odległość Levenshteina) i normalizując ją (w zależności od długości słowa).

      Przykładowo dla słowa:
      narty
      i odpowiedzi
      karty
      błąd wynosi 0,2 (odległość 1 z 5).

      W kolejnych fazach można zwiększyć prawdopodobieństwo pojawiania się fiszek, które mają najgorszą ocenę.

  • Pliki:
    • Zadania proste
    • Napisać program, który po uruchomieniu (przepraszam za uosobienie) wykonuje (według wyboru – może być poprzez parametr):
      • wyświetlenie sumy wszystkich liczb zapisanych we wszystkich plikach z katalogu, w którym się znajduje,
      • wyświetlenie nazw plików, w których znajduje się podana (jako parametr) fraza, wraz z liczbą wystąpień tej frazy,
      • zamianę podanego znaku lub ciągu znaków na inny we wszystkich plikach z katalogu,
      • wyświetlenie stosunku sumy liczb całkowitych do rzeczywistych (z wszystkich plików w katalogu),
      • wyświetlenie plików ze względu na liczbę znaków (w kolejności rosnącej pod względem liczby znaków),
      • połączenie wszystkich plików w jeden z pominięciem powtarzających się linii,
      • porównania (diff) wybranych plików (na przykładzie DIFF).
  • https://pl.python.org/docs/ref/node15.html
  • Obiekty pierwsze zajęcia: obiekty – początki (Python).
  • Obiekty kolejne zajęcia:
    • Dokończyć (lub napisać od nowa) program do gry w kółko krzyżyk: Python – kółko krzyżyk.
    • Napisać program do gry w kółko i krzyżyk na nieograniczonej planszy, czyli „do pięciu”, według zasad podanych m.in. na stronie kółko i krzyżyk do pięciu.
    • Napisać program do gry w statki. Początkowa implementację można oprzeć na przykładzie statki C++.

      Następnie, do tak zaimplementowanej podstawowej wersji gry należy dopisać:

      1. Możliwość dodawania jednomasztowców, trójmasztowców i czteromasztowców.
      2. Dodać informację o zatopieniu statku (Statek).
      3. Dodać informację o zatopieniu wszystkich statków – koniec gry (Plansza).
      4. Możliwość dotykania przez statki ścian planszy.
      5. Pozwolić na pionowy układ statków.
      6. Stworzyć drugą planszę.
      7. Zezwolić użytkownikowi na ustawienie statków (zadana liczba każdego rodzaju) dla dwóch plansz.
      8. Pozwolić na grę pomiędzy dwoma użytkownikami.
      9. Pozwolić na inny układ większych statków. *
  • Obiekty zajęcia związane z dziedziczeniem: obiekty – dziedziczenie (Python).
  • scikit-learn, NumPy, SciPy, matplotlib, pandas.