{"id":321,"date":"2015-01-05T10:50:35","date_gmt":"2015-01-05T09:50:35","guid":{"rendered":"http:\/\/www.prime.il.pw.edu.pl\/?page_id=321"},"modified":"2015-01-05T11:40:53","modified_gmt":"2015-01-05T10:40:53","slug":"pseudokody-1","status":"publish","type":"page","link":"https:\/\/www.prime.il.pw.edu.pl\/?page_id=321","title":{"rendered":"Pseudokody 1"},"content":{"rendered":"<p>Je\u017celi prawd\u0105 jest, \u017ce x&gt;0 to wypisz tekst &#8222;plus&#8221; &#8211; w przeciwnym wypadku czyli kiedy nie jest to prawd\u0105 wypisz tekst &#8222;minus&#8221;: zastosowanie konstrukcji <strong>if-then-else<\/strong>.<\/p>\n<blockquote>\n<pre> <strong>START<\/strong>\r\n <strong>\u00a0\u00a0\u00a0 READ x<\/strong>\r\n <strong>\u00a0\u00a0\u00a0 IF x&gt;0 THEN<\/strong>\r\n <strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong>\r\n <strong>\u00a0\u00a0\u00a0 ELSE<\/strong>\r\n <strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong>\r\n <strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n <strong>\u00a0\u00a0\u00a0 WRITE t<\/strong>\r\n <strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>Je\u017celi prawd\u0105 jest, \u017ce x&gt;0 to wypisz tekst &#8222;plus&#8221; &#8211; w przeciwnym wypadku czyli kiedy nie jest to prawd\u0105 wypisz tekst &#8222;minus&#8221;: zastosowanie konstrukcji w kt\u00f3rej dwa razy wyst\u0119puje <strong>if-then<\/strong>, czyli reakcj\u0105 zar\u00f3wno na prawd\u0119 jak dla pierwszego je\u017celi jest drugie je\u017celi.<\/p>\n<blockquote>\n<pre><strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ x<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x&gt;=0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x&lt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE t<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>Zagnie\u017cd\u017canie je\u017celi: dla x&gt;0 wypisujemy tekst &#8222;plus&#8221;, dla x&lt;0 &#8222;minus&#8221; a dla x=0 &#8222;zero&#8221;. W schemacie blokowym i pseudokodzie wykorzystujemy do zagnie\u017cd\u017cania konstrukcj\u0119 <strong>if-then-elseif<\/strong>.<\/p>\n<blockquote>\n<pre><strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ x<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x&gt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ELSE IF x&lt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ELSE<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"zero\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE t<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>Poprzednie zadanie bez zagnie\u017cd\u017cania je\u017celi. Zamiast tego mo\u017ce ma\u0142o sprytnie stosujemy trzykrotnie struktur\u0119 <strong>if-then<\/strong>.<\/p>\n<blockquote>\n<pre><strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ x<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x&gt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x&lt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x=0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"zero\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE t<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>Jeszcze jedno rozwi\u0105zanie problemu zagnie\u017cd\u017cania &#8211; dwukrotnie stosujemy konstrukcj\u0119 <strong>if-then-else<\/strong>.<\/p>\n<blockquote>\n<pre><strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ x<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 IF x&gt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ELSE<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IF x&lt;0 THEN<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ELSE<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"zero\"<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDIF<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE t<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>B\u0142\u0119dnych rozwi\u0105za\u0144 mo\u017ce by\u0107 niesko\u0144czenie wiele&#8230; Oto jedno z nich. Pierwsze je\u017celi to poprawna konstrukcja <strong>if-then-else<\/strong>. Drugie je\u017celi to b\u0142\u0119dnie u\u017cyte <strong>if-then<\/strong>&#8230;<\/p>\n<blockquote>\n<pre><span style=\"color: #ff0000;\"><strong>START<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 READ x<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 IF x&gt;0 THEN<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 ELSE<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 IF x&lt;0 THEN<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ENDIF<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"zero\"<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 ENDIF<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 WRITE t<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>END<\/strong><\/span><\/pre>\n<\/blockquote>\n<hr \/>\n<p>Kolejne b\u0142\u0119dne rozwi\u0105zanie. Stosujemy tu konstrukcje <strong>if-then<\/strong>. Zabrak\u0142o trzeciej z nich&#8230;<\/p>\n<blockquote>\n<pre><span style=\"color: #ff0000;\"><strong>START<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 READ x<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 IF x&gt;0 THEN<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"plus\"<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 ENDIF<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 IF x&lt;0 THEN<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=\"minus\"<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 ENDIF<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 t=\"zero\"<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>\u00a0\u00a0\u00a0 WRITE t<\/strong><\/span>\r\n<span style=\"color: #ff0000;\"><strong>END<\/strong><\/span>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>Pierwszy rodzaj p\u0119tli &#8211; p\u0119tla sterowana licznikiem (indeksem). B\u0119dziemy sumowali kolejne liczby naturalne od 1 do n. Wykorzystamy p\u0119tl\u0119 <strong>for<\/strong>.<\/p>\n<blockquote>\n<pre><strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ n<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 s=0<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 FOR i = 1 TO n STEP 1 DO<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 s=s+i<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDFOR<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE s<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>Zamiast p\u0119tli sterowanej licznikiem (indeksem) w tym zadaniu mo\u017cemy zastosowa\u0107 tak\u017ce p\u0119tl\u0119 sterowan\u0105 warunkiem (wydarzeniem) czyli p\u0119tl\u0119 <strong>while<\/strong>. To, \u017ce licznik nie mo\u017ce przekroczy\u0107 pewnej warto\u015bci to warunek &#8211; przekroczenie tej warto\u015bci to wydarzenie, kt\u00f3re ko\u0144czy p\u0119tl\u0119.<\/p>\n<blockquote>\n<pre><strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ n<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 s=0<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 i=0<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WHILE i&lt;n DO<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 i=i+1<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 s=s+i<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDWHILE<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE s<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n<hr \/>\n<p>W ostatnim prostym zadaniu naturalne jest u\u017cycie p\u0119tli <strong>while<\/strong>. Mamy sumowa\u0107 kolejne liczby naturalne tak, aby ich sum\u0119 nie przekroczy\u0142a zadanej warto\u015bci. W tym zadaniu nie wiemy, ile nale\u017cy zsumowa\u0107 wyraz\u00f3w!<\/p>\n<blockquote>\n<pre>\r\n<strong>START<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 READ n<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 i=0<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 s=0<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WHILE s&lt;n DO<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 i=i+1<\/strong>\r\n<strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 s=s+i<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 ENDWHILE<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 s=s-i<\/strong>\r\n<strong>\u00a0\u00a0\u00a0 WRITE s<\/strong>\r\n<strong>END<\/strong>\r\n<\/pre>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Je\u017celi prawd\u0105 jest, \u017ce x&gt;0 to wypisz tekst &#8222;plus&#8221; &#8211; w przeciwnym wypadku czyli kiedy nie jest to prawd\u0105 wypisz tekst &#8222;minus&#8221;: zastosowanie konstrukcji if-then-else. START \u00a0\u00a0\u00a0 READ x \u00a0\u00a0\u00a0 IF x&gt;0 THEN \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=&#8221;plus&#8221; \u00a0\u00a0\u00a0 ELSE \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t=&#8221;minus&#8221; \u00a0\u00a0\u00a0 ENDIF \u00a0\u00a0\u00a0 WRITE t END Je\u017celi prawd\u0105 jest, \u017ce x&gt;0 to wypisz tekst &#8222;plus&#8221; &#8211; &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.prime.il.pw.edu.pl\/?page_id=321\" class=\"more-link\">Czytaj dalej<span class=\"screen-reader-text\"> \u201ePseudokody 1\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":69,"menu_order":2,"comment_status":"open","ping_status":"open","template":"","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"_links":{"self":[{"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/pages\/321"}],"collection":[{"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=321"}],"version-history":[{"count":17,"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/pages\/321\/revisions"}],"predecessor-version":[{"id":323,"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/pages\/321\/revisions\/323"}],"up":[{"embeddable":true,"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=\/wp\/v2\/pages\/69"}],"wp:attachment":[{"href":"https:\/\/www.prime.il.pw.edu.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}