Differences between revisions 47 and 78 (spanning 31 versions)
Revision 47 as of 2009-05-03 10:18:50
Size: 3217
Editor: dial-95-105-158-139-orange
Comment:
Revision 78 as of 2010-04-28 21:29:57
Size: 4786
Editor: jenca
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
== Downloady pre cvičenia == ## == Downloady pre cvičenia ==
##
## [[attachment:gallery.tar.gz]]
##[[attachment:passwd.txt]]
## [[attachment:zadanie2.pdf]]
##[[attachment:zadanie_opr.pdf]]
Line 7: Line 12:
[[attachment:gallery.tar.gz]]
[[attachment:passwd.txt]]

##== Uploady ==

##[[/Uploady]]
Line 16: Line 23:
V stredu 12:00-13:50. Radšej ale konzultuje priamo na cvičení. V utorok 16:00-17:00. Radšej ale konzultuje priamo na cvičení.
Line 28: Line 35:
 
Line 34: Line 40:
== Zadanie na druhé zápočtové cvičenie ==
Line 35: Line 42:
== Domáce zadania == <<Pozor>>
Toto zadanie si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení
problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám
dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete
za to, čo urobíte priamo na cvičení.
Line 37: Line 48:
[[/Zadanie1 | Domáce zadanie na prvé cvičenie]] Skúšobné cvičenie bude 13.4.2010 počas cvičenia.
<<Pohov>>
Line 39: Line 51:
[[attachment:python_zadania.pdf | Zadania z Pythonu]] Napíšte modul `stack.py`, ktorý obsahuje implementáciu
Line 41: Line 53:
== Vzorove riesenia cviceni ==  * triedy `Stack` a
 * funkcie `stack_from_string`
Line 43: Line 56:
[[/Riesenie 1| Riešenie prvého skúšobného cvičenia (shell)]] Trieda `Stack` implemetuje takéto metódy:
Line 45: Line 58:
##=== Cvičenia z pythonu === ||`__init__(self)` || Inicializuj zásobník ako prázdny.||
||`push(self,what)` || Vloží `what` na vrch zásobníka.||
||`peek(self)` || Vráti objekt, ktorý je na vrchu zásobníka, pričom ho nevyberá.||
||`pop(self)` || Vyberie objekt zo zásobníka, návratová hodnota je tento objekt.||
||`empty(self)`||Vyprázdni zásobník.||
||`__repr__(self)`||Vráti reťazec, v ktorom sú zreťazené `repr(x)` pre všetky objekty `x` v zásobníku, oddelené medzerami. Vrch zásobníka je na konci tohto reťazca.||
Line 47: Line 65:
## 1. Napíšte program, ktorý zostrojí a vypíše zoznam prvočísiel < 100
## 1. Napíšte funkciu, ktorá transponuje maticu. Matica je daná ako zoznam zoznamov čísel.
## 1. Napíšte funkciu {{{permutuj(zoz)}}}, ktorá vráti všetky permutácie zoznamu {{{zoz}}}
Okrem triedy Stack obsahuje modul stack aj takúto funkciu:
Line 51: Line 67:
||`stack_from_string(s)`||Ako parameter očakáva reťazec celých čísel oddelených medzerami, napr. `"1 -20 17 4 5"`. Vráti `Stack` naplnený týmito číslami, pričom vrchné číslo je na konci s.||


== Ďalšie cvičenia ==

[[ /CviceniaZoShellu | Cvičenia zo shellu]]

[[attachment:python_zadania.pdf | Cvičenia z Pythonu]]
Line 56: Line 80:
 * [[attachment:tahak_python.pdf|Ťahák - Python (komplexný)]]
 * [[http://www.yukoncollege.yk.ca/~ttopper/COMP118/rCheatSheet.html|Ťahák - Python (jednoduchší)]]
Line 57: Line 83:
=== Pythonovské programy === ##=== Pythonovské programy ===
Line 59: Line 85:
 * [[PocitacoveSiete/Fork|fork(), wait(), SIGCHLD]]
 * [[PocitacoveSiete/Pipe|pipe()]]
 * [[PocitacoveSiete/Socket| UNIXové sockety]]
 * [[PocitacoveSiete/TCPSocket | Klient a server TCP]]
 * [[PocitacoveSiete/Sumator | TCP server pre scitanie cisel]]
 * [[PocitacoveSiete/ChatServer | Chatovací server - multithreading]]
 * [[PocitacoveSiete/Webserver | "Webovsky server" implementovaný na úrovni socketov]]
 * [[attachment:cgi-server.tar.gz | CGI server a skripty]]
## * [[PocitacoveSiete/Fork|fork(), wait(), SIGCHLD]]
## * [[PocitacoveSiete/Pipe|pipe()]]
## * [[PocitacoveSiete/Socket| UNIXové sockety]]
## * [[PocitacoveSiete/TCPSocket | Klient a server TCP]]
## * [[PocitacoveSiete/Sumator | TCP server pre scitanie cisel]]
## * [[PocitacoveSiete/ChatServer | Chatovací server - multithreading]]
## * [[PocitacoveSiete/Webserver | "Webovsky server" implementovaný na úrovni socketov]]
## * [[attachment:cgi-server.tar.gz | CGI server a skripty]]
Line 72: Line 98:
 1. ''Learning Python",, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar
Line 89: Line 116:
20 bodov zo 40. Body sa budú udeľovať v rámci cvičení. 15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell
scriptov a jedno z Pythonu.

Operačné systémy

2008/09 -- LS

Vyučujúci

Konzultačné hodiny

V utorok 16:00-17:00. Radšej ale konzultuje priamo na cvičení.

Stručná osnova predmetu

  • Princípy OS Unix/Linux
  • Základy práce so systémom
  • Súborový systém
  • Užívatelia a skupiny
  • Procesy, rúry
  • Prehľad základných utilít
  • Programovanie v shelli, skripty
  • Programovací jazyk Python

Výsledky

/Výsledky

Zadanie na druhé zápočtové cvičenie

Toto zadanie si vypracujte doma. Ak to zvládnete sami, nemali by ste mať na skúšobnom cvičení problém. Môžete si samozrejme navzájom pomáhať. Zadania nebudem zbierať. Na cvičení vám dám urobiť niečo podobné, takže si vypracované zadania doneste, pomôže vám to. Body dostanete za to, čo urobíte priamo na cvičení.

Skúšobné cvičenie bude 13.4.2010 počas cvičenia.

Napíšte modul stack.py, ktorý obsahuje implementáciu

  • triedy Stack a

  • funkcie stack_from_string

Trieda Stack implemetuje takéto metódy:

__init__(self)

Inicializuj zásobník ako prázdny.

push(self,what)

Vloží what na vrch zásobníka.

peek(self)

Vráti objekt, ktorý je na vrchu zásobníka, pričom ho nevyberá.

pop(self)

Vyberie objekt zo zásobníka, návratová hodnota je tento objekt.

empty(self)

Vyprázdni zásobník.

__repr__(self)

Vráti reťazec, v ktorom sú zreťazené repr(x) pre všetky objekty x v zásobníku, oddelené medzerami. Vrch zásobníka je na konci tohto reťazca.

Okrem triedy Stack obsahuje modul stack aj takúto funkciu:

stack_from_string(s)

Ako parameter očakáva reťazec celých čísel oddelených medzerami, napr. "1 -20 17 4 5". Vráti Stack naplnený týmito číslami, pričom vrchné číslo je na konci s.

Ďalšie cvičenia

Cvičenia zo shellu

Cvičenia z Pythonu

Materiály

Literatúra

  1. Linux: Příručka českého uživatele, Vilém Vychodil; Computer Press 2003, Brno (je žiadúce, aby každý mal svoju kópiu)

  2. Začínáme programovat v jazyce Python, Daryl Harms, Kenneth McDonald; Computer Press, 2003

  3. Learning Python",, Mark Lutz, David Ascher; O'Reilly 2007, http://slav0nic.org.ua/static/books/python/OReilly.Learning.Python.3rd.Edition.Oct.2007.eBook-BBL.rar

  4. The Art of Unix Programming, Eric S. Raymond, http://www.faqs.org/docs/artu/

  5. Umění programování v Unixu, Eric S. Raymond, (český preklad horeuvedeného)

  6. How To Ask Questions The Smart Way, Eric Steven Raymond, http://www.catb.org/~esr/faqs/smart-questions.html

  7. Dive into Python, Mark Pilgrim, http://www.diveintopython.org/

  8. Advanced Bash-Scripting Guide, Mendel Cooper, http://tldp.org/guides.html

  9. GNU/Linux Command-Line Tools Summary, Gareth Anderson, http://tldp.org/guides.html

  10. A Byte of Python, Swaroop C H, http://www.swaroopch.com/notes/Python

  11. How to Think Like a Computer Scientist, Jeffrey Elkner, Allen B. Downey and Chris Meyers, http://openbookproject.net//thinkCSpy/

Webové stránky

  1. http://www.root.cz/clanky/regularni-vyrazy-1/ seriál o regulárnych výrazoch od P. Satrapu

  2. http://www.py.cz/ Český server venovaný Pythonu, obsahuje aj dokumentáciu k starším verziám Pythonu

Podmienky na zápočet

15 bodov z 30. Body sa budú udeľovať v rámci cvičení. Budú 2 zápočtové cvičenia, jedno zo shell scriptov a jedno z Pythonu.

Príklady a cvičenia

Výsledky

KMaDGWiki: OperacneSystemy (last edited 2024-09-17 13:58:44 by jenca)