FilmyProgramowanie w Pythonie – filmy powtórzeniowe

Filmy

Prezentacja 1Sposoby przedstawiania algorytmów

Prezentacja omawia zapis algorytmu za pomocą języka naturalnego, w postaci listy kroków (pseudokodu), schematu blokowego i programu.

Prezentacja 2Python – powtórzenie

Prezentacja przedstawia najważniejsze konstrukcje stosowane w języku Python.

PlanszaPython – podstawowe polecenia

Plansza zawiera podstawowe operatory działań i porównania oraz polecenia.

Ćwiczenie 0

Przećwicz posługiwanie się pętlą while. Zdefiniuj funkcję ile_cyfr(liczba), której wynikiem będzie liczba cyfr danej liczby. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile_cyfr(123) jest 3.
  • Wynikiem funkcji ile_cyfr(17923) jest 5.
# zdefiniuj funkcję def ile_cyfr(liczba): pass # testy print(ile_cyfr(123)) print(ile_cyfr(17923))
Wynikiem funkcji ile_cyfr(12) jest 2
testResult = ile_cyfr(12)==2
2
ile_cyfr(12)
Wynikiem funkcji ile_cyfr(179233334) jest 9
testResult = ile_cyfr(179233334)==9
9
ile_cyfr(179233334)
Wynikiem funkcji ile_cyfr(1) jest 1
testResult = ile_cyfr(1)==1
1
ile_cyfr(1)
Rozwiąż ćwiczenie

Ćwiczenie 1Podział na rzędy

W międzynarodowej konferencji weźmie udział określona liczba gości z różnych krajów i określona liczba gospodarzy. Zaproszeni będą siedzieć w rzędach tak, aby każdy rząd był równoliczny i w każdym siedzieli albo tylko goście, albo tylko gospodarze. Jaka jest największa możliwa liczba osób w każdym rzędzie? Zdefiniuj funkcję rzad(goscie, gospodarze), której parametrami są liczba gości i gospodarzy, a wynikiem jest liczebność rzędu. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji rzad(72, 90) jest 18.
  • Wynikiem funkcji rzad(24, 36) jest 12.
# zdefiniuj funkcję def nwd(a, b): pass # zdefiniuj funkcję def rzad(goscie, gospodarze): pass # testy print(rzad(72, 90)) print(rzad(24, 36))
Wynikiem funkcji rzad(100, 100) jest 100.
testResult = rzad(100, 100)==100
100
rzad(100, 100)
Wynikiem funkcji rzad(51, 65) jest 1.
testResult = rzad(51, 65)==1
1
rzad(51, 65)
Wynikiem funkcji rzad(32, 48) jest 16.
testResult = rzad(32, 48)==16
16
rzad(32, 48)
Rozwiąż ćwiczenie

Ćwiczenie 2Podział na grupy

Na potrzeby warsztatów należy podzielić gości i gospodarzy na możliwie małe zespoły tak, by w każdym zespole była jednakowa liczba osób (gości i gospodarzy). Zdefiniuj funkcję ile(goscie, gospodarze) , której parametrami są liczba gości oraz liczba gospodarzy, a wynikiem jest liczebność każdego zespołu. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji ile(56, 42) jest 7.
  • Wynikiem funkcji ile(25, 35) jest 12.
# zdefiniuj funkcję def nwd(a, b): pass # zdefiniuj funkcję def ile(goscie, gospodarze): pass # testy print(ile(56, 42)) print(ile(25, 35))
Wynikiem funkcji ile(100, 100) jest 2.
testResult = ile(100, 100)==2
2
ile(100, 100)
Wynikiem funkcji ile(51, 65) jest 116.
testResult = ile(51, 65)==116
116
ile(51, 65)
Wynikiem funkcji ile(32, 48) jest 5.
testResult = ile(32, 48)==5
5
ile(32, 48)
Rozwiąż ćwiczenie

Ćwiczenie 3Spotkania zespołów

Organizacją konferencji zajmują się dwa zespoły: do spraw programowych i do spraw metodycznych. Pierwszy spotyka się co x dni, drugi co y. Dziś spotkały się oba zespoły. Zdefiniuj funkcję kiedy(x, y), w której jako parametry będziesz podawać, co ile dni spotykają się zespoły, a wynikiem będzie liczba dni, które upłyną do następnego wspólnego spotkania obu zespołów. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji kiedy(6, 4) jest 12.
  • Wynikiem funkcji kiedy(9, 12) jest 36.
# zdefiniuj funkcję def nwd(a, b): pass # zdefiniuj funkcję def nww(a, b): pass # zdefiniuj funkcję def kiedy(x, y): pass # testy print(kiedy(6, 4)) print(kiedy(9, 12))
Wynikiem funkcji kiedy(2, 5) jest 10.
testResult = kiedy(2, 5)==10
10
kiedy(2, 5)
Wynikiem funkcji kiedy(3, 3) jest 3.
testResult = kiedy(3, 3)==3
3
kiedy(3, 3)
Wynikiem funkcji kiedy(4, 7) jest 28.
testResult = kiedy(4, 7)==28
28
kiedy(4, 7)
Rozwiąż ćwiczenie

Ćwiczenie 4Sprytne zakupy

Każdy gość powinien dostać taką samą liczbę długopisów, ołówków i flamastrów. Zdefiniuj funkcję flamastry(x, y, z), której parametrami są liczba długopisów w paczce (x), liczba ołówków w paczce (y) i liczba sztuk flamastrów w paczce (z), a wynikiem jest najmniejsza liczba opakowań flamastrów, które gospodarze powinni kupić, aby nic nie zostało. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji flamastry(6, 8, 10) jest 12.
  • Wynikiem funkcji flamastry(39, 26, 52) jest 3.
# zdefiniuj funkcję def nwd(a, b): pass # zdefiniuj funkcję def nww(a, b): pass # zdefiniuj funkcję def flamastry(x, y, z): pass # testy print(flamastry(6, 8, 10)) print(flamastry(39, 26, 52))
Wynikiem funkcji flamastry(5, 110, 15) jest 22.
testResult = flamastry(5, 110, 15)==22
22
flamastry(5, 110, 15)
Wynikiem funkcji flamastry(5, 10, 15) jest 2.
testResult = flamastry(5, 10, 15)==2
2
flamastry(5, 10, 15)
Wynikiem funkcji flamastry(7, 9, 7) jest 9.
testResult = flamastry(7, 9, 7)==9
9
flamastry(7, 9, 7)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 1

Przećwicz posługiwanie się pętlą while. Zdefiniuj funkcję suma_cyfr(liczba), której wynikiem jest suma cyfr liczby. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji suma_cyfr(123) jest 6.
  • Wynikiem funkcji suma_cyfr(17923) jest 22.

Wskazówka
Zauważ, że algorytm sumowania cyfr opiera się na wyodrębnianiu cyfr od końca i kolejno ich sumowania. W każdym kroku wyliczana jest ostatnia cyfra jako reszta dzielenia przez 10 oraz liczba jest dzielona przez 10.

# zdefiniuj funkcję def suma_cyfr(liczba): pass # testy print(suma_cyfr(123)) print(suma_cyfr(17923))
Wynikiem funkcji suma_cyfr(12) jest 3.
testResult = suma_cyfr(12)==3
3
suma_cyfr(12)
Wynikiem funkcji suma_cyfr(179233334) jest 35.
testResult = suma_cyfr(179233334)==35
35
suma_cyfr(179233334)
Wynikiem funkcji suma_cyfr(1) jest 1.
testResult = suma_cyfr(1)==1
1
suma_cyfr(1)
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 2

Przećwicz posługiwanie się pętlą while. Zdefiniuj funkcję iledo6(lista), której wynikiem jest liczba liczb, które na liście są wpisane przed liczbą 6. Przyjmij, że 6 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji iledo6([1, 2, 3, 4, 5, 6, 7]) jest 5.
  • Wynikiem funkcji iledo6([1, 6, 3, 5, 5, 6, 7]) jest 1.
# zdefiniuj funkcję def iledo6(lista): pass # testy print(iledo6([1, 2, 3, 4, 5, 6, 7])) print(iledo6([1, 6, 3, 5, 5, 6, 7]))
Wynikiem funkcji iledo6([6]) jest 0.
testResult = iledo6([6])==0
0
iledo6([6])
Wynikiem funkcji iledo6([1, 1, 1, 1, 5, 6, 6, 6, 6]) jest 5.
testResult = iledo6([1, 1, 1, 1, 5, 6, 6, 6, 6])==5
5
iledo6([1, 1, 1, 1, 5, 6, 6, 6, 6])
Wynikiem funkcji iledo6([0, 0, 0, 0, 6]) jest 4.
testResult = iledo6([0, 0, 0, 0, 6])==4
4
iledo6([0, 0, 0, 0, 6])
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 3

Przećwicz posługiwanie się pętlą while. Zdefiniuj funkcję suma(lista), której wynikiem jest suma liczb, które na liście są wpisane przed liczbą 0. Przyjmij, że 0 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji suma([1, 2, 3, 4, 0, 6, 7]) jest 10.
  • Wynikiem funkcji suma([1, 2, 0, 4, 5, 6, 0]) jest 3.
# zdefiniuj funkcję def suma(lista): pass # testy print(suma([1, 2, 3, 4, 0, 6, 7])) print(suma([1, 2, 0, 4, 5, 6, 0]))
Wynikiem funkcji suma([2, 4, 11, 6, 5, 0, 7, 6]) jest 28.
testResult = suma([2, 4, 11, 6, 5, 0, 7, 6])==28
28
suma([2, 4, 11, 6, 5, 0, 7, 6])
Wynikiem funkcji suma([1, 1, 0, 1, 1, 6]) jest 2.
testResult = suma([1, 1, 0, 1, 1, 6])==2
2
suma([1, 1, 0, 1, 1, 6])
Wynikiem funkcji suma([0]) jest 0.
testResult = suma([0])==0
0
suma([0])
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 4

Przećwicz posługiwanie się pętlą while. Zdefiniuj funkcję sumap(lista), której wynikiem jest suma liczb parzystych, które na liście są wypisane przed liczbą 0. Przyjmij, że 0 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji sumap([1, 2, 3, 4, 0, 6, 7]) jest 6.
  • Wynikiem funkcji sumap([2, 2, 2, 4, 2, 6, 0]) jest 18
# zdefiniuj funkcję def sumap(lista): pass # testy print(sumap([1, 2, 3, 4, 0, 6, 7])) print(sumap([2, 2, 2, 4, 2, 6, 0]))
Wynikiem funkcji sumap([2, 4, 11, 6, 5, 0, 7, 6]) jest 12.
testResult = sumap([2, 4, 11, 6, 5, 0, 7, 6])==12
12
sumap([2, 4, 11, 6, 5, 0, 7, 6])
Wynikiem funkcji sumap([1, 1, 0, 1, 1, 6]) jest 0.
testResult = sumap([1, 1, 0, 1, 1, 6])==0
0
sumap([1, 1, 0, 1, 1, 6])
Wynikiem funkcji sumap([0]) jest 0.
testResult = sumap([0])==0
0
sumap([0])
Rozwiąż ćwiczenie

Ćwiczenie dodatkowe 5

Przećwicz posługiwanie się pętlą while. Zdefiniuj funkcję sumanp(lista),  której wynikiem jest suma liczb nieparzystych, które na liście są wypisane przed liczbą 0. Przyjmij, że 0 występuje co najmniej raz. Sprawdź działanie funkcji dla podanych poniżej parametrów.

  • Wynikiem funkcji sumanp([1, 2, 3, 4, 0, 6, 7]) jest 4.
  • Wynikiem funkcji sumanp([2, 2, 2, 4, 2, 6, 0]) jest 0.
# zdefiniuj funkcję def sumanp(lista): pass # testy print(sumanp([1, 2, 3, 4, 0, 6, 7])) print(sumanp([2, 2, 2, 4, 2, 6, 0]))
Wynikiem funkcji sumanp([2, 4, 11, 6, 5, 0, 7, 6]) jest 16.
testResult = sumanp([2, 4, 11, 6, 5, 0, 7, 6])==16
16
sumanp([2, 4, 11, 6, 5, 0, 7, 6])
Wynikiem funkcji sumanp([1, 1, 0, 1, 1, 6]) jest 2.
testResult = sumanp([1, 1, 0, 1, 1, 6])==2
2
sumanp([1, 1, 0, 1, 1, 6])
Wynikiem funkcji sumanp([0]) jest 0.
testResult = sumanp([0])==0
0
sumanp([0])
Rozwiąż ćwiczenie

Pytania quizoweAlgorytm Euklidesa w praktyce

Twój wynik to: /3
  • Czy w algorytmie Euklidesa z odejmowaniem można zastąpić krok „Wynikiem jest a” krokiem „Wynikiem jest b”?
  • Jeśli warunek pętli while zapisano jako x <= 10, przy czym w pętli tej nie jest modyfikowana wartość x, to ile razy wykona się pętla dla wartości początkowej x = 3?
  • Czy przy dodawaniu dwóch ułamków zwykłych krok „Znajdź wspólny mianownik   m = NWW(b, d)” można zastąpić krokiem „Znajdź wspólny mianownik m = b * d”?