{"id":9976,"date":"2017-05-18T02:08:45","date_gmt":"2017-05-18T06:08:45","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=9976"},"modified":"2017-07-03T12:32:59","modified_gmt":"2017-07-03T16:32:59","slug":"11a-pl","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/11a-pl\/","title":{"rendered":"11A: Ma\u0142e Litery"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<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><em>Lekcja 11 sk\u0142ada si\u0119 z trzech cz\u0119\u015bci A, B, C, kt\u00f3re mo\u017cesz wykona\u0107 w dowolnej kolejno\u015bci.<\/em><\/p>\n<p>Ta lekcja zawiera \u0107wiczenie, w kt\u00f3rym musisz napisa\u0107 dwie funkcje: jedn\u0105 u\u017cyjesz w drugiej do osi\u0105gni\u0119cia jej celu. Celem jest ostateczne zapisanie funkcji <code>lowerString<\/code>, kt\u00f3ra konwertuje wszystkie litery w ci\u0105gu znak\u00f3w na <em>ma\u0142e litery<\/em>. (A, B, C to <em>du\u017ce litery<\/em> a a, b, c s\u0105 <em>ma\u0142ymi literami<\/em>). Na przyk\u0142ad chcemy uzyska\u0107 nast\u0119puj\u0105cy rezultat:<\/p>\n<pre>lowerString(\"This string has 9 CAPITAL letters (&amp; Punctuation)!\")<\/pre>otrzymamy<\/p>\n<pre>\"this string has 9 capital letters (&amp; punctuation)!\"<\/pre>\n<h2>Krok 1: Znaki<\/h2>\n<p>Pierwszym krokiem jest napisanie funkcji <code>lowerChar(char)<\/code>, kt\u00f3ra ma nast\u0119puj\u0105ce dzia\u0142anie:  pojedynczy znak <code>char<\/code> jest zmieniany na jego wersj\u0119 w postaci ma\u0142ej litery. Nale\u017cy to zrobi\u0107 nast\u0119puj\u0105co:<\/p>\n<ul>\n<li>je\u015bli znak na wej\u015bciu <code>char<\/code> jest wielk\u0105 liter\u0105 (pomi\u0119dzy '<code>A<\/code>' i '<code>Z<\/code>'), program powinien zwr\u00f3ci\u0107 wersj\u0119 z liter\u0105 ma\u0142\u0105 (mi\u0119dzy '<code>a<\/code>' i '<code>z<\/code>')<\/li>\n<li>we wszystkich innych przypadkach powinien zwr\u00f3ci\u0107 ten sam <code>znak<\/code>, kt\u00f3ry zosta\u0142 wprowadzony.<\/li>\n<\/ul>\n<p>(Aby wykona\u0107 pierwszy krok, musisz u\u017cy\u0107 instrukcji <a href=\"\/pl-6\/\"><code>if<\/code><\/a>, operatora <a href=\"\/9-pl\/\"><code>and<\/code> operator<\/a> i zastosowa\u0107 wiedz\u0119 z <a href=\"\/7a-pl\/\">lekcji na temat \u0142a\u0144cuch\u00f3w<\/a>).<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox0'>\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'>Du\u017ce Litery<\/span><\/div>Zdefiniuj funkcj\u0119 <code>lowerChar(char)<\/code>, kt\u00f3ra spe\u0142nia powy\u017cszy opis.<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='usercode0' id='usercode0'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput0\">Enter testing statements like <code>print(myfunction(\"test argument\"))<\/code> 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,'Y')\" ><\/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,'Y')\" ><\/td>\n<\/tr><\/table><select id='pbSelect0' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(0,'11a.lowerchar')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(0);\" >Help<\/option>\n<\/select><\/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=\"30f90dde29d08b48ad5dfad29237daeb\"\/>\n<div id='pbresults0' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(0);});pbInputSwitch(0,\"Y\");<\/script>\n<\/p>\n<h2>Krok 2: \u0141a\u0144cuchy<\/h2>\n<p>Teraz napiszesz drug\u0105 funkcj\u0119 <code>lowerString(string)<\/code>, kt\u00f3ra zwr\u00f3ci wynik konwersji ca\u0142ego \u0142a\u0144cucha na ma\u0142e litery, wywo\u0142uj\u0105c funkcj\u0119 <code>lowerChar<\/code> dla ka\u017cdego znaku. Proponujemy to zrobi\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<ul>\n<li>najpierw skopiuj definicj\u0119 <code>lowerChar(char)<\/code> z Twojego rozwi\u0105zania do pierwszej cz\u0119\u015bci<\/li>\n<li>nast\u0119pnie zdefiniuj drug\u0105 funkcj\u0119, <code>lowerString(string)<\/code>\n<ul>\n<li>w pierwszej linii wewn\u0105trz lowerString, zainicjuj zmienn\u0105 <code>result = \"\"<\/code> r\u00f3wn\u0105 pustemu ci\u0105gowi<\/li>\n<li>u\u017cyj <a href=\"\/7c-pl\/\">p\u0119tli<\/a> z\u00a0<code>i<\/code>\u00a0i ustal <code>result = result + lowerChar(string[i])<\/code><\/li>\n<li>i na koniec, <code>return result<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\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'>\u0141a\u0144cuchy z Ma\u0142ych Liter<\/span><\/div>Zdefiniuj funkcj\u0119\u00a0<code>lowerString(string)<\/code>, kt\u00f3ra zwraca przekonertowany  <code>string<\/code> na ma\u0142e litery.<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'>\n# first, copy your definition of lowerChar() here\n# then define lowerString(string)\n<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput1\">Enter testing statements like <code>print(myfunction(\"test argument\"))<\/code> 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='# first, copy your definition of lowerChar() here\\n# then define lowerString(string)\\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,'Y')\" ><\/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,'Y')\" ><\/td>\n<\/tr><\/table><select id='pbSelect1' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(1,'11a.lowerstring')\" >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=\"438290a5db0d1558835702e8cf5b847d\"\/>\n<div id='pbresults1' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(1);});pbInputSwitch(1,\"Y\");<\/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> P\u00f3\u017aniej dowiesz si\u0119 o metodzie <code>string.lower()<\/code>, kt\u00f3ra jest wbudowanym sposobem na wykonanie tego zadania.. <\/span><\/td><\/table><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lekcja 11 sk\u0142ada si\u0119 z trzech cz\u0119\u015bci A, B, C, kt\u00f3re mo\u017cesz wykona\u0107 w dowolnej kolejno\u015bci. Ta lekcja zawiera \u0107wiczenie, w kt\u00f3rym musisz napisa\u0107 dwie funkcje: jedn\u0105 u\u017cyjesz w drugiej do osi\u0105gni\u0119cia jej celu. Celem jest ostateczne zapisanie funkcji lowerString, &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/11a-pl\/\">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-9976","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9976","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=9976"}],"version-history":[{"count":8,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9976\/revisions"}],"predecessor-version":[{"id":10299,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/9976\/revisions\/10299"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=9976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}