Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Programiranje 1
Pseudoslučajni brojevina programskom jeziku Python
Univerzitet u Beogradu
Elektrotehnički fakultet
2019/2020.
Pseudoslučajni brojevi (1)
Sekvenca brojeva iz skupa S je slučajna ako važi:
⚫ Brojevi iz sekvence suuniformno raspoređeni u odnosu na S
⚫ Za svako n važi da, na osnovu prvih n−1 članova sekvence,
nije moguće zaključiti koji broj predstavlja sledeći, n-ti član
Uniformna raspodela: ⚫ Svi brojevi iz S imaju jednaku šansu da budu izabrani
2/12ETF Beograd::Programiranje 1
Pseudoslučajni brojevi (2)
U dovoljno dugim sekvencama, frekvencije pojave svih brojeva približno su jednake
Računar ne može generisati slučajnu sekvencu u determinističkom postupku;⚫ Potrebna je slučajna veličina iz fizičkog sveta ⚫ npr. Toplotni ili elektromagnetni šum
Zato se koriste pseudoslučajne sekvence⚫ Sekvenca se ponavlja
posle konačnog broja članova⚫ Zasnovane na algoritmima
3/12ETF Beograd::Programiranje 1
Pseudoslučajni brojevi na Python
Potrebno je uraditi import modula random
4/12ETF Beograd::Programiranje 1
Pseudoslučajni brojevi – primeri (1)
5/12ETF Beograd::Programiranje 1
Pseudoslučajni brojevi – primeri (2)
6/12ETF Beograd::Programiranje 1
Pogadjanje broja (1)
Program generiše broj od 1 do n,
a igrač ga pogađa
Posle svakih m neuspešnih pokušaja,
bira se novi broj
7/12ETF Beograd::Programiranje 1
Pogadjanje broja (2)
8/12ETF Beograd::Programiranje 1
Pogadjanje broja (3)
9/12ETF Beograd::Programiranje 1
Pogadjanje broja (4)
10/12ETF Beograd::Programiranje 1
Literatura - knjige
M. Kovačević, Osnove programiranja u Pajtonu, Akademska misao, Beograd, 2017.
M. Lutz, Learning python: Powerful object-oriented programming, 5th edition, O'Reilly Media, Inc., 2013.
J. Zelle, Python Programming: An Introduction to Computer Science, 3rd Ed., Franklin, Beedle & Associates, 2016.
D. Beazley, B. K. Jones, Python Cookbook, 3rd edition, O'Reilly Media, 2013.
A. Downey, J. Elkner, C. Meyers, How To Think Like A Computer Scientist: Learning With Python, free e-book
11/12ETF Beograd::Programiranje 1
Literatura – online izvori
Python 3.8.0 documentation, https://docs.python.org/3/index.html
Colin Morris, 7-day Python course, https://www.kaggle.com/learn/python
Learn Python, Basic tutorial, https://www.learnpython.org/
TutorialsPoint, Python tutorial https://www.tutorialspoint.com/python/index.htm
12/12ETF Beograd::Programiranje 1