python-radionica/cas1.html

185 lines
6.5 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Uvod u programiranje - 1. čas</title>
<link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/black.css">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="plugin/highlight/monokai.css">
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<p>Uvod u programiranje</p>
<p>1. čas</p>
</section>
<section>
O ovom kursu<br/><br/>
<ul>
<li class="fragment">Osnovne informacije</li>
<ul>
<li class="fragment"><a href="https://radionice.dmz.rs/python">radionice.dmz.rs/python</a> - ovi slajdovi:)</li>
<li class="fragment"><a href="https://forum.dmz.rs/t/python-radionica-u-kc-gradu/66" target="_blank">forum</a></li>
<li class="fragment"><a href="https://wiki.dmz.rs/python" target="_blank">wiki</a></li>
</ul>
<li class="fragment">Kurs za početnike</li>
<li class="fragment">Nećete se zaposliti posle ovog kursa:)</li>
<li class="fragment">Zašto Python?</li>
<ul>
<li class="fragment">Interpreterski programski jezik visokog nivoa opšte namene</li>
</ul>
</ul>
</section>
<section>
Podešavanje okruženja<br/>
<ul>
<li class="fragment">https://www.python.org</li>
<ul>
<li class="fragment">Idite na Download latest -> Files -> Windows Installer</li>
</ul>
<li class="fragment">Šta je IDE?</li>
<li class="fragment">https://www.jetbrains.com</li>
<ul>
<li class="fragment">Idite na Developer Tools -> PyCharm -> Download -> Community</li>
</ul>
</ul>
</section>
<section>
Igranje u Python konzoli?<br/>
<ul>
<li class="fragment">Otvorite PyCharm</li>
<li class="fragment">Napravite novi projekat</li>
<li class="fragment">U dnu nađite "Python Console"</li>
<ul>
<li class="fragment">REPL režim rada (Read-Evaluate-Print-Loop)</li>
</ul>
<li class="fragment">Unesite "1", "1+1", probajte pod znacima navoda nešto</li>
<li class="fragment">Da li radi puta</li>
<li class="fragment">Koliko veliki broj može da bude?</li>
<li class="fragment">Da li radi deljenje?</li>
</ul>
</section>
<section>
Aritmetičke operacije<br/>
<ul>
<li class="fragment">+, -. *, /</li>
<li class="fragment">** &mdash; stepenovanje</li>
<li class="fragment">// &mdash; deljenje bez ostatka</li>
<li class="fragment">% &mdash; ostatak</li>
</ul>
</section>
<section>
Prvi pravi program<br/>
<ul>
<li class="fragment">Napravite novi fajl, unesite "1+1" opet</li>
<li class="fragment">Program se pokreće desnim klikom na fajl, pa "Run ..."</li>
<li class="fragment">Run -> Run ... -> Edit Configuration</li>
<li class="fragment">Šta se desi kada pokrenete program?</li>
<li class="fragment">Print funkcija</li>
</ul>
</section>
<section>
Promenljive<br/>
<ul>
<li class="fragment">Šta su promenljive?</li>
<ul>
<li class="fragment">Promenljive (engl. <i>variables</i>) su imena koja dajemo mestima u memoriji gde čuvamo podatke</li>
</ul>
<li class="fragment">Kako se kreiraju promenljive</li>
<ul>
<li class="fragment">Sa znakom "=", npr. <code>a=5</code></li>
</ul>
<li class="fragment">Kako da ispišemo promenljive</li>
<ul>
<li class="fragment">Samo ih ispišemo u konzoli</li>
</ul>
<li class="fragment">Kako da dodelimo vrednost promenljivoj</li>
</ul>
</section>
<section>
Promenljive<br/>
<ul>
<li class="fragment">Ograničenja promenljivih</li>
<ul>
<li class="fragment">Promenljive ne mogu da počinju sa brojem</li>
<li class="fragment">Promenljive su case-sensitive</li>
</ul>
<li class="fragment">Stil je bitan u programiranju</li>
<ul>
<li class="fragment"><code>camelCase, PascalCase, snake_case</code></li>
</ul>
<li class="fragment">Primer računanja PDV-a preko promenljivih</li>
</ul>
</section>
<section>
Tipovi promenljivih<br/>
<ul>
<li class="fragment">Reprezentacija promenljive u memoriji</li>
<li class="fragment">Osnovni tipovi u Python-u: int, str, float, bool</li>
<li class="fragment">Kako saznati koji je tip neke promenljive?</li>
<ul>
<li class="fragment"><code>type(x)</code></li>
</ul>
<li class="fragment">Kako uraditi konverziju neke promenljive u drugi tip (engl. cast)</li>
<ul>
<li class="fragment"><code>int(x), str(x), float(x), bool(x)</code></li>
</ul>
</ul>
</section>
<section>
Ulaz i izlaz<br/>
<ul>
<li class="fragment">Print &mdash; ugrađena funkcija</li>
<ul>
<li class="fragment">Više argumenata, odvojenih zarezima</li>
</ul>
<li class="fragment">Input &mdash; isto ugrađena funkcija</li>
<ul>
<li class="fragment">Specijalni karakter "\n"</li>
<li class="fragment">Setite se konverzije u int</li>
</ul>
</ul>
</section>
<section>
Debugging<br/>
<ul>
<li class="fragment">Postavljanje breakpoint-a (srp. tačka prekida)</li>
<li class="fragment">Run -> Debug</li>
<li class="fragment">Step over</li>
<li class="fragment">Watch</li>
</ul>
</section>
<section>
Domaći<br/>
<ul>
<li class="fragment">Napisati program koji ispiše refren, haiku budite kreativni:)</li>
<li class="fragment">Napisati program koji pita korisnika za dužinu stranice i izračuna obim i površinu kvadrata</li>
<li class="fragment">Napisati program koji pita korisnika za ime, težinu i visinu i ispiše mu BMI. Zatim ispiše koliko korisnik minimalni broj kilograma treba da ima i koliko treba da smrša još</li>
<li class="fragment">U REPL konzoli raditi "import this" da vidite Python ZEN</li>
</ul>
</section>
</div>
</div>
<script src="dist/reveal.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
// - https://revealjs.com/config/
Reveal.initialize({
hash: true,
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ ]
});
</script>
</body>
</html>