{"id":8257,"date":"2014-09-27T19:08:26","date_gmt":"2014-09-27T23:08:26","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=8257"},"modified":"2014-10-16T17:00:53","modified_gmt":"2014-10-16T21:00:53","slug":"9-lt","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/9-lt\/","title":{"rendered":"9: Loginiai veiksmai"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<br \/>\nLithuanian translators: Jurgis Pralgauskis, jurgis.pralgauskis@gmail.com, Aidis Stukas aidiss@gmail.com<br \/>\nOriginal lesson author: David Pritchard, daveagp@gmail.com, http:\/\/cscircles.ca<br \/>\nLicense: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/-->\n<p>\u0160ioje pamokoje i\u0161moksime sud\u0117ting\u0173 s\u0105lyg\u0173 tikrinim\u0105 apra\u0161yti kuo trumpiau\/patogiau, tam Python'e naudojama:<\/p>\n<ul>\n<li><code>else<\/code> rei\u0161kia \u201ekitu atveju\u201c ir nurodo, k\u0105 daryti, jei \u201e<code>if<\/code>\u201c esanti s\u0105lyga netenkinama.<\/li>\n<li>loginiai jungtukai \u201eir\u201c (<code>test1 and test2<\/code>) bei \u201earba\u201c (<code>test1 or test2<\/code>) leid\u017eia sujungti dvi (ar kelias) s\u0105lygas.<\/li>\n<li>neigimas -- <code>not test1<\/code> -- irgi praver\u010dia :)<\/li>\n<\/ul>\n<h1><code>else<\/code><\/h1>\n<p>Programuojant da\u017enai pasitaiko u\u017eduotys, kuriose reikia skirtingai elgtis, priklausomai nuo to ar s\u0105lyga tenkinama (True), ar ne (False).\u00a0<a href=\"http:\/\/cscircles.cemc.uwaterloo.ca\/6-lt\/\">6 temos<\/a> u\u017eduotis pra\u0161\u0117 atspausdinti vienok\u012f tekst\u0105, jei am\u017eius (<code>age<\/code>) yra ma\u017eesnis u\u017e 0, ir kitok\u012f - jeigu am\u017eius yra ne ma\u017eesnis u\u017e 0; ma\u017edaug taip:<\/p>\n<pre>if age &gt;= 0: \u00a0\r\n \u00a0print('Tu jau esi gim\u0119s!')\r\nif age &lt; 0:\r\n \u00a0print('Dar negimei, arba tu - keliautojas laiku!')<\/pre>T\u0105 galima u\u017era\u0161yti truput\u012f patogiau\/trumpiau, naudojant\u00a0 <code>else<\/code>.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox0'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nage = int(input())\nif age &gt;= 0:\n  print('You are not necessarily a time traveller')\nelse:    # vietoje antro 'if'!\n  print('You are a time traveller')<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput0\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch0\" value=\"Input Switch\" onclick=\"pbInputSwitch(0,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(0)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(0,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse0\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"0\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"e29d952198aa6907d11d9df08aff4f6b\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(0,\"N\");<\/script>\n<\/p>\n<p>Apibendrintas <code>else<\/code> naudojimo atvejis:<\/p>\n<pre>if \u00abs\u0105lyga\u00bb:\r\n \u00a0 \u00abveiksmai, kai True\u00bb \u00a0 \u00a0 \u00a0 \u00a0# atitrauktas blokas\r\nelse:\r\n \u00a0 \u00abveiksmai, kai False\u00bb \u00a0 \u00a0 \u00a0 # kitas atitrauktas blokas<\/pre>\n<h2><code>else<\/code> filosofija<\/h2>\n<p><code>else<\/code>\u00a0 leid\u017eia mums\u00a0 lengviau u\u017era\u0161yti bei perskaityti program\u0105. Palyginkime:<\/p>\n<table id=\"AB\">\n<tbody>\n<tr>\n<td>\n<div>A variantas<\/div>\n<pre>if age &lt; 18:\r\n \u00a0 print('Dar negali laikyti teisi\u0173')\r\nelse:\r\n \u00a0 print('Eime pavairuoti!')<\/pre>\n<\/td>\n<td>\n<div>B variantas<\/div>\n<pre>if age &lt; 18:\r\n\u00a0\u00a0 print('Dar negali laikyti teisi\u0173')\r\nif age &gt;= 18:\r\n \u00a0print('Eime pavairuoti!')<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Abu daro t\u0105 pat\u012f, ta\u010diau dauguma programuotoj\u0173 sutaria, kad <strong>A<\/strong> variantas yra geresnis. Jame lengviau keisti kintam\u0105j\u012f (nes jis naudojamas tik vienoje s\u0105lygoje), o u\u017era\u0161ym\u0105 galima grei\u010diau perskaityti.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox1'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Skai\u010diaus modulis<\/span><\/div><em>Skai\u010diaus modulis<\/em> yra jo reik\u0161m\u0117 be \u017eenklo. Jei <em>x<\/em> teigiamas (arba 0), jo modulis yra <em>x<\/em>. Kai <em>x<\/em> neigiamas, jo modulis yra <em>-x <\/em>(nes papildomas minusas panaikina turim\u0105 minus\u0105). Pvz., <code>5<\/code> modulis yra <code>5<\/code>, o <code>-10<\/code> modulis yra <code>10<\/code>.<br \/>\nNaudodami\u00a0 <code>if<\/code> ir <code>else<\/code>, para\u0161ykite program\u0105, kuri nuskaito \u012fvest\u0105 sveik\u0105 skai\u010di\u0173 ir atspausdina jo modul\u012f.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode1' id='usercode1'  cols=10 rows=20   class='pyboxCode RW'>\nx=int(input())\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput1\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<input type='hidden' id='defaultCode1' value='x=int(input())\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch1\" value=\"Input Switch\" onclick=\"pbInputSwitch(1,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(1)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(1,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect1' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(1,'9.abs')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(1,descape($('#defaultCode1').val()))\" >Reset code to default<\/option>\n<option name='help' data-pbonclick=\"helpClick(1);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse1\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"1\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"e3f73fd4fb6d2c14bbc26a047a195142\"\/>\n<div id='pbresults1' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(1);});pbInputSwitch(1,\"N\");<\/script>\n<\/p>\n<p><table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span> Python turi standartin\u0119 funkcij\u0105\u00a0 <code>abs(x)<\/code>\u00a0 (rei\u0161kia \u201eabsoliuti reik\u0161m\u0117\u201c - be \u017eenklo), kuri apskai\u010diuoja skai\u010diaus modul\u012f<code><\/code>. Dabar vertinimo sistema neleis naudoti \u0161ios funkcijos, ta\u010diau dr\u0105siai naudokite j\u0105 v\u0117liau. <\/span><\/td><\/table><\/p>\n<h2><code>elif<\/code><\/h2>\n<p>Python turi dar vien\u0105 <code>if<\/code> \u201edraug\u0105\u201c - <code>elif<\/code>. Jis leid\u017eia tikrinti kelias s\u0105lygas i\u0161 eil\u0117s, kol ras (prieis) tenkinam\u0105 s\u0105lyg\u0105. Paprastas pvz.:<\/p>\n<pre>if \u00abtest1\u00bb:\r\n \u00a0 \u00abactions1\u00bb \u00a0 \u00a0 \u00a0 \u00a0# vykdys, jei test1 bus True\r\nelif \u00abtest2\u00bb:\r\n \u00a0 \u00abactions2\u00bb \u00a0 \u00a0 \u00a0 \u00a0# vykdys, jei test1 bus False, o test2 - True<\/pre>Turb\u016bt atsp\u0117jote, jog <code>elif<\/code> yra \"else if\" trumpinys. J\u012f naudot patogiau negu \"else if\" kombinacij\u0105, nes reikia ma\u017eiau ra\u0161ymo ir atitraukim\u0173. Dar \u0161auniau yra tai, kad galime naudoti <em>bet kok\u012f skai\u010di\u0173<\/em> elif s\u0105lyg\u0173 i\u0161 eil\u0117s, ir net prid\u0117ti <code>else<\/code> atvej\u012f gale. Pvz.:<\/p>\n<pre>if \u00abtest1\u00bb:\r\n \u00a0 \u00abactions1\u00bb \u00a0 \u00a0 \u00a0# vykdys, kai test1 yra True\r\nelif \u00abtest2\u00bb:\r\n \u00a0 \u00abactions2\u00bb \u00a0 \u00a0 \u00a0# vykdys, kai test1 yra False, o test2 - True\r\nelif \u00abtest3\u00bb:\r\n \u00a0 \u00abactions3\u00bb \u00a0 \u00a0 \u00a0# vykdys, kai test1 ir test2 yra False, o test3 - True\r\nelse: \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \r\n \u00a0 \u00abactions4\u00bb \u00a0 \u00a0 # vykdys kitais atvejais (kai visi testai buvo False)<\/pre>&nbsp;<\/p>\n<p>\u0160tai pavyzdys, kaip ciklo viduje atrodo <code>elif<\/code> s\u0105lyga. Ar galite atsp\u0117ti, k\u0105 atspausdins?<\/p>\n<p><iframe width='100%' height='480' frameborder='0' scrolling='no' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/OnlinePythonTutor3-cemc\/iframe-embed.html#code=for+x+in+range%281%2C+10%29%3A%0A++if+x+%25+2+%3D%3D+0%3A%0A++++print%28x%2C+%27yra+lyginis%27%29%0A++elif+x+%25+3+%3D%3D+0%3A%0A++++print%28x%2C+%27yra+nelyginis%2C+dalus+i%C5%A1+3%27%29%0A++else%3A%0A++++print%28x%2C+%27nedalus+nei+i%C5%A1+2%2C+nei+3%27%29&cumulative=false&heapPrimitives=false&drawParentPointers=false&textReferences=false&showOnlyOutputs=false&py=3&curInstr=0&resizeContainer=true&highlightLines&width=450px&rightStdout=1'><\/iframe><\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox2'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>First, Second, Third<\/span><\/div>Angl\u0173 kalboje kelintiniai skaitvard\u017eiai trumpinami taip: 1st, 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 9th<em>.<\/em> Para\u0161ykite program\u0105, kuri nuskaito sveik\u0105 skai\u010di\u0173 <em>x<\/em> (tarp 1 ir 9) ir para\u0161o atitinkam\u0105 angli\u0161k\u0105 skaitvard\u017eio trumpin\u012f - prideda gal\u016bn\u0119.<br\/> <strong>PS<\/strong>: nereikia apra\u0161yti 9 skirting\u0173 atvej\u0173 -- u\u017etenka 4 (su 3 s\u0105lygom ir \u201eelse\u201c) .<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode2' id='usercode2'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory2' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput2\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit2' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch2\" value=\"Input Switch\" onclick=\"pbInputSwitch(2,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(2)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(2,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect2' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(2,'9.ordinal')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(2);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse2\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"2\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"c4b3f10cc0deac89d5354ed7137f3680\"\/>\n<div id='pbresults2' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(2);});pbInputSwitch(2,\"N\");<\/script>\n<\/p>\n<h2>Loginiai veiksmai: <code>and<\/code>, <code>or<\/code>, <code>not<\/code><\/h2>\n<p>Veiksmai \"<code>and<\/code>\", \"<code>or<\/code>\" bei \"<code>not<\/code>\" rei\u0161kia t\u0105 pat\u012f, kaip ir angl\u0173 kalboje:<\/p>\n<ul>\n<li><code>A <strong>and<\/strong> B<\/code>\u00a0 bus teisinga jei <strong>abi <\/strong>s\u0105lygos -- <code>A<\/code> ir <code>B --<\/code> yra <strong>teisingos<\/strong>. O klaidingas - jei bent viena i\u0161 s\u0105lyg\u0173 yra False.<br \/>\nPvz.: Jei\u00a0 \"yra vasara\" ir \"a\u0161 esu paj\u016bry\",\u00a0 tai \"pasimaudysiu j\u016broj\" (reikia abiej\u0173 s\u0105lyg\u0173).<\/li>\n<li><code>A <strong>or<\/strong> B<\/code> bus teisinga jei<strong> bent viena<\/strong> s\u0105lyga -- <code>A<\/code> arba <code>B<\/code> -- yra <strong>teisinga<\/strong>.\u00a0 O klaidingas - jei abi s\u0105lygos yra False.<br \/>\nPvz.: Jei \"dega lempa\" arba \"dabar diena\", tai \"yra \u0161viesu\" (u\u017etenka\u00a0 bent vienos s\u0105lygos).<\/li>\n<li><code><strong>not<\/strong> A<\/code> yra teisinga (True), kai\u00a0 <code>A<\/code> -- False (ir atvirk\u0161\u010diai).<br \/>\nPvz.: Jei ne \"\u0161iandien\", tai \"rytoj\" :)<\/li>\n<\/ul>\n<p>\u0160tai programa, kurioje pademonstruoti visi galimi reik\u0161mi\u0173 atvejai - j\u0105 \u012fvykd\u0119, pamatysite taip vadinam\u0105 <em>teisingumo lentel\u0119<\/em>:<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox3'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Truth tables<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode3' id='usercode3'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nprint(\"  A      B       not A  not B  A and B  A or B\")\nprint(\"----------------------------------------------\")\nfor A in [False, True]:               # \"for\" loop with list\t\n    for B in [False, True]:           # will be taught in lesson 13\n        print(A, \" \", B, \"   \", not A, \" \", not B, \" \", A and B, \" \", A or B)<\/textarea><\/div>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(3)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(3,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse3\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"3\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"23fac91eb493ba893eb781d9128bd39c\"\/>\n<div id='pbresults3' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit3\").value = \"Run program\";document.getElementById(\"inputInUse3\").value = \"N\";<\/script>\n<\/p>\n<p>\u0160tai pavyzdys, kuriame naudojant <code>and<\/code>, yra patikrinama, ar skai\u010dius gali b\u016bti raid\u0117s numeris ab\u0117c\u0117l\u0117je ir jis paver\u010diamas atitinkama raide (pagal <a href=\"\/7a\/\">7a pamok\u0105<\/a> - ord(..) gr\u0105\u017eina raid\u0117s numer\u012f kod\u0173 lentel\u0117je, o chr(..) - raid\u0119 pagal jos kod\u0105).<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform4\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox4'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div> Patekimo \u012f interval\u0105 patikrinimas ir skai\u010diaus pavertimas raide:\u00a0 1-&gt;A, 2-&gt;B, t.t.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode4' id='usercode4'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nx = int(input())\nif x>=1 and x<=26:\n    print('letter', x, 'in the alphabet:', chr(ord('A')+(x-1)))\nelse:\n    print('invalid input:', x)<\/textarea><\/div>\n<div id='pbhistory4' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput4\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit4' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch4\" value=\"Input Switch\" onclick=\"pbInputSwitch(4,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(4)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(4,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse4\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"4\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"4b610da4b77d47e08a914c94baf24596\"\/>\n<div id='pbresults4' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(4,\"N\");<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox5'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>26 raid\u0117s<\/span><\/div>Para\u0161ykite program\u0105, kuri elgiasi atvirk\u010diai negu pavyzdyje: paima raid\u0119 ir gr\u0105\u017eina jos numer\u012f angl\u0173 kalbos ab\u0117c\u0117l\u0117je tarp 1 ir 26. Programa turi priimti tik did\u017eiasias raides. Jei paduodama raid\u0117 nera did\u017eioji, atspausdinkite <code>invalid<\/code>. <a class=\"hintlink\"  id=\"hintlink6\">U\u017euomina<\/a> raid\u0117ms lyginti bei jos <a class=\"hintlink\"  id=\"hintlink7\">alternatyva<\/a>.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode5' id='usercode5'  cols=10 rows=20   class='pyboxCode RW'>\nletter = input()\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput5\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<input type='hidden' id='defaultCode5' value='letter = input()\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch5\" value=\"Input Switch\" onclick=\"pbInputSwitch(5,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(5)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(5,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect5' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(5,'9.numberify')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(5,descape($('#defaultCode5').val()))\" >Reset code to default<\/option>\n<option name='help' data-pbonclick=\"helpClick(5);\" >Help<\/option>\n<\/select><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse5\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"5\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"da478d043e5dd339eea37be72559d26e\"\/>\n<div id='pbresults5' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(5);});pbInputSwitch(5,\"N\");<\/script>\n<\/p>\n<div class='pybox modeNeutral' id='pybox8'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Multiple Choice Exercise: <\/span><span class='title'>De Morgano d\u0117snis<\/span><\/div><div>Kuri i\u0161rai\u0161ka atitinka <code>A or B<\/code>? Kaip ir aritmetikoje, taip ir logikoje -- skirtingos i\u0161rai\u0161kos gali reik\u0161ti t\u0105 pat\u012f -- tur\u0117ti t\u0105 pa\u010di\u0105 reik\u0161mi\u0173 lentel\u0119.<\/div><label>Your choice: <\/label><select id=\"pyselect8\"><option value=\"d\" selected>Select one<\/option><option value=\"r\">not ((not A) and (not B))<\/option><option value=\"w\">(not A) and (not B)<\/option><option value=\"w\">not (A and B)<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"9.demorgan\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(8)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults8\"><\/div><div class=\"epilogue\">Correct! Here is one way to arrive at this answer. First, <code>not (A or B)<\/code> is only true when both <code>A<\/code> and <code>B<\/code> are false. Also, note that <code>(not A) and (not B)<\/code> is only true if both <code>not A<\/code> and <code>not B<\/code> are true, i.e. if both <code>A<\/code> and <code>B<\/code> are false. So we have the following equality:<pre>(not A) and (not B) = not (A or B)<\/pre>Put a <code>not<\/code> around both sides, so we deduce<pre>not ((not A) and (not B)) = not (not (A or B))<\/pre>and observe that <code>not(not X))<\/code> always equals <code>X<\/code>, so<pre>not ((not A) and (not B)) = not (not (A or B)) = A or B<\/pre>This way of rewriting a boolean expression is one of <a href='http:\/\/en.wikipedia.org\/wiki\/De_Morgan%27s_laws'>De Morgan&#39;s laws<\/a>.<\/div><\/div>\n<h3>Operacij\u0173 tvarka<\/h3>\n<p><span style=\"color: #444444; line-height: 24px;\">Loginiai veiksmai turi t\u0105 pa\u010dia operacij\u0173 tvark\u0105 kaip ir matematikoje. Tvarka yra\u00a0 \u00a0 <\/span><strong>NAO<\/strong>: 1) <strong>n<\/strong>ot , 2) <strong>a<\/strong>nd, 3) <strong>o<\/strong>r<br \/>\nTai atitinka aritmetinius veiksmus ir j\u0173 eili\u0161kum\u0105: 1) neigimas (minusas), 2) daugyba, 3) sud\u0117tis<\/p>\n<p style=\"text-align: center;\">Pavyzd\u017eiui,<br \/>\n<code>not x or y and z<\/code> <span style=\"padding-right: 40px; padding-left: 40px;\">rei\u0161kia<\/span> <code>(not x) or (y and z)<\/code><\/p>\n<p style=\"text-align: center;\"><span style=\"padding-right: 40px; padding-left: 40px;\">analogi\u0161kai matematikoje<\/span><br \/>\n<code>- x + y * z<\/code> <span style=\"padding-right: 40px; padding-left: 40px;\">rei\u0161kia<\/span> <code>(-x) + (y*z) <\/code>\n<\/p>\n<p>Pamok\u0105 u\u017ebaigsime trumpu klausimu.<br \/>\n<div class='pybox modeNeutral' id='pybox9'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Multiple Choice Exercise: <\/span><span class='title'>Veiksm\u0173 seka<\/span><\/div><div>Kokia yra<\/p>\n<pre>A or not B and C<\/pre>reik\u0161m\u0117?<br \/>\nkai (A, B, C) = (False, True, True)? <a class=\"hintlink\"  id=\"hintlink10\">Hint<\/a><\/div><label>Your choice: <\/label><select id=\"pyselect9\"><option value=\"d\" selected>Select one<\/option><option value=\"w\">True<\/option><option value=\"r\">False<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"9.multi\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(9)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults9\"><\/div><div class=\"epilogue\">Correct! The order of operations makes this equivalent to<pre>A or ((not B) and C)<\/pre>substituting the values, we have<pre>False or ((not True) and True)<\/pre>and now simplifying one step at a time gives<pre>False or ((not True) and True)<br\/>= False or (False and True)<br\/>= False or False<br\/>= False<\/pre><\/div><\/div>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0160ioje pamokoje i\u0161moksime sud\u0117ting\u0173 s\u0105lyg\u0173 tikrinim\u0105 apra\u0161yti kuo trumpiau\/patogiau, tam Python'e naudojama: else rei\u0161kia \u201ekitu atveju\u201c ir nurodo, k\u0105 daryti, jei \u201eif\u201c esanti s\u0105lyga netenkinama. loginiai jungtukai \u201eir\u201c (test1 and test2) bei \u201earba\u201c (test1 or test2) leid\u017eia sujungti dvi (ar &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/9-lt\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-8257","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/8257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=8257"}],"version-history":[{"count":13,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/8257\/revisions"}],"predecessor-version":[{"id":8568,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/8257\/revisions\/8568"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=8257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}