<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Algorytmy i języki</title>
	<atom:link href="http://algorytmy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://algorytmy.wordpress.com</link>
	<description>Język  determinuje, o czym w ogóle możemy myśleć.</description>
	<lastBuildDate>Sun, 06 Apr 2008 16:49:18 +0000</lastBuildDate>
	<language>pl</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='algorytmy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Algorytmy i języki</title>
		<link>http://algorytmy.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://algorytmy.wordpress.com/osd.xml" title="Algorytmy i języki" />
	<atom:link rel='hub' href='http://algorytmy.wordpress.com/?pushpress=hub'/>
		<item>
		<title>W3 Podstawowe pojęcia</title>
		<link>http://algorytmy.wordpress.com/2008/03/16/podstawowe-pojecia/</link>
		<comments>http://algorytmy.wordpress.com/2008/03/16/podstawowe-pojecia/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 22:40:10 +0000</pubDate>
		<dc:creator>indioteq</dc:creator>
				<category><![CDATA[Wprowadzenie]]></category>

		<guid isPermaLink="false">http://algorytmy.wordpress.com/?p=4</guid>
		<description><![CDATA[We wcześniejszej lekcji napisaliśmy 6 programów będących implementacją algorytmu Euklidesa wyliczającego największy wspólny dzielnik. Co to jest algorytm? Mówiąc opisowo jest to sposób rozwiązania jakiegoś zadania. Bądźmy jednak bardziej drobiazgowi i przedstawy bardziej naukową definicję: Algorytm to skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Aby jeszcze lepiej zrozumieć istotę algorytmów przanalizujmy [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=algorytmy.wordpress.com&amp;blog=3029968&amp;post=4&amp;subd=algorytmy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We wcześniejszej lekcji napisaliśmy 6 programów będących implementacją algorytmu <a href="http://pl.wikipedia.org/wiki/Euklides">Euklidesa</a> wyliczającego największy wspólny dzielnik. Co to jest algorytm? Mówiąc opisowo jest to sposób rozwiązania jakiegoś zadania. Bądźmy jednak bardziej drobiazgowi i przedstawy bardziej naukową definicję:</p>
<p><strong>Algorytm </strong>to  skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania.</p>
<p>Aby jeszcze lepiej zrozumieć istotę algorytmów przanalizujmy przepis kulinarny który może być przykładem algorytmu. Oto przepis na jedną z moich ulubionych potraw czyli Placki ziemniaczane:</p>
<p><strong>Placki ziemniaczane </strong> &#8211; składniki<br />
6 dużych ziemniaków<br />
1-2 jajka<br />
3-4 łyżki mąki<br />
sól<br />
pieprz<br />
olej<br />
<br />
sposób przygotowania</p>
<ol>
<li>Ziemniaki umyć, obrać. </li>
<li>Zetrzeć na tarce (małe lub duże otwory, jak lubimy).</li>
<li> Wymieszać z mąką, jajkiem, solą i pieprzem. </li>
<li>Rozgrzać patelnię z olejem. </li>
<li>Placuszki smażyć z obu stron.</li>
<li>Potem na talerz.</li>
</ol>
<p>Jak widzimy przepis jest skończony &#8211; kiedyś w końcu zjemy pierwszego usmażonego placka. Poszczególne etapy są uporządkowane. Nieprzestrzeganie porządku zakończyłoby się powstaniem całkiem nieokreślonej potrawy najprawdobodobniej niejadalnej (tak wiem, student wszystko zje <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). Jest jeszcze jedna analogia pomiędzy przepisem kulinarnym a algorytmem. Algorytm przetwarza jakieś dane wejściowe w dane wyjściowe. Składniki na placki (mąka, jajka, ziemniaki) są pięknie zamieniane na ciepłe, pyszne placki ziemniaczane.<br />
Skoro już wiemy czym jest algorytm spróbujmy zdefiniować pojęcie programu:</p>
<p><strong>Program</strong> to algorytm zapisany w języku komputerowym.</p>
<p>Wydaje się logiczne. Ale czym jest Język komputerowy?</p>
<p><strong>Język komputerowy</strong> to język z określoną notacją i regułami  rozumiany przez komputer. </p>
<p>Czyli w przeciwieństwie do języków naturalnych takich jak polski czy francuski, języki komputerowe są zrozumiałe dla maszyny. Komputer nie potrafi zrobić placków ziemniaczanych, ponieważ nie rozumie języka w którym przepis został zanotowany. Językami omawianymi w tym kursie są C, LISP, Java, PHP, Python i Ruby.  Ważne jest, aby zrozumeć, że te języki mają ściśle określoną składnię (jaka kombinacja słów kluczowych i symboli jest dopuszczalna?) i semantykę (co oznaczają wyrażenia dopuszczalne przez składnię?)<br />
Ostatnim pojęciem omawianym w dzisiejszym mocno teoretycznym odcinku jest programowanie:</p>
<p><strong>Programowanie</strong> to proces układania programów dla komputerów.</p>
<p>Ten kurs ma Cię nauczyć właśnie programowania czyli pisania programów. Powinieneś pamiętać że ten proces najogólniej mówiąc składa się z dwóch etapów:</p>
<ul>
<li>Etap projektowania(układanie algorytmu)</li>
<li>Etap implementacji(tłumaczenie algorytmu na język programowania)</li>
</ul>
<p>Zaniedbanie pierwszego etapu jest częstym błędem początkujących programistów, czego efektem są bądź nie działające programy, badź programy kiepskiej jakości.<br />
Przedstawmy na przykładzie algorytmu Euklidesa jak powinien wyglądać proces programowania<br />
Najpierw <strong>wymyślamy algorytm</strong></p>
<pre>
dopóki b ≠ 0 wykonuj
  wylicz resztę z dzielenia a przez b i podstaw ją pod a
  zamień a z b
</pre>
<p>Następnie wymyślony algorytm <strong>kodujemy</strong> w wybranym języku dla przykładu Python:</p>
<pre>
def nwd(a,b):
   while b != 0:
      a = a % b
      a, b = b, a
   return a
</pre>
<p><em>Zadanie</em><br />
<em>Zastanowić się nad innymi przykładami algorytmów.</em></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/algorytmy.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/algorytmy.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/algorytmy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/algorytmy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/algorytmy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/algorytmy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/algorytmy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/algorytmy.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/algorytmy.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/algorytmy.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=algorytmy.wordpress.com&amp;blog=3029968&amp;post=4&amp;subd=algorytmy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://algorytmy.wordpress.com/2008/03/16/podstawowe-pojecia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/61fbb5466d2d01f08447e11730c2c8d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">indioteq</media:title>
		</media:content>
	</item>
		<item>
		<title>W2 Sześć języków, jeden algorytm.</title>
		<link>http://algorytmy.wordpress.com/2008/03/01/hello-world/</link>
		<comments>http://algorytmy.wordpress.com/2008/03/01/hello-world/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 16:55:14 +0000</pubDate>
		<dc:creator>indioteq</dc:creator>
				<category><![CDATA[Wprowadzenie]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Zaczynamy od rzucenia Cię na głęboką wodę. Poniżej zaprezentowane są funkcje obliczające największy wspólny dzielnik (NWD) dwóch liczb naturalnych. Każda funkcja napisana jest w innym języku. Jeśli nie rozumiesz poniższych przykładów kodu, to bardzo dobrze &#8211; ten rozdział ma cię jedynie oswoić z różnymi językami programowania. Nie musisz rozumieć poszczególnych instrukcji, ważne abyś zauważył ogólne [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=algorytmy.wordpress.com&amp;blog=3029968&amp;post=1&amp;subd=algorytmy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Zaczynamy od rzucenia Cię na głęboką wodę. Poniżej zaprezentowane są funkcje obliczające <strong>największy wspólny dzielnik </strong>(<a href="http://pl.wikipedia.org/wiki/NWD">NWD</a>) dwóch liczb naturalnych. Każda funkcja napisana jest w innym języku. Jeśli nie rozumiesz poniższych przykładów kodu, to bardzo dobrze &#8211; ten rozdział ma cię jedynie oswoić z różnymi językami programowania. Nie musisz rozumieć poszczególnych instrukcji, ważne abyś zauważył ogólne różnice i podobieństwa pomiędzy Lispem, Pythonem, Javą, C, PHP i Rubim.  </p>
<h2>C</h2>
<pre>
   int nwd(int a, int b) {
      int temp;
      while(b != 0) {
         temp = a % b;
         a = b;
         b = temp;
      }
      return a;
   }
</pre>
<h2>LISP</h2>
<pre>
(defun nwd (a b)
(loop
  (if (= b 0) (return a)
    (prog1
      (setq a (mod a b))
      (setq temp a)
      (setq a b)
      (setq b temp)
    )
    )
)
</pre>
<h2>Java</h2>
<pre>
class Arytmetyka {
   static int nwd(int a, int b) {
      int temp;
      while (b!=0) {
         temp = a % b;
         a = b;
         b = temp;
      }
      return a;
   }
}
</pre>
<h2>PHP</h2>
<pre>
   function nwd($a, $b) {
      while ($b) {
         $temp = $a % $b;
         $a = $b;
         $b = $temp;
      }
      return $a;
   }
</pre>
<h2>Python</h2>
<pre>
def nwd(a,b):
   while b != 0:
      a = a % b
      a, b = b, a
   return a
</pre>
<h2>Ruby</h2>
<pre>
def nwd(a, b)
  while b != 0
     a = a.modulo(b)
     a, b = b, a
  end
  return a
end
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/algorytmy.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/algorytmy.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/algorytmy.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/algorytmy.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/algorytmy.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/algorytmy.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/algorytmy.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/algorytmy.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/algorytmy.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/algorytmy.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=algorytmy.wordpress.com&amp;blog=3029968&amp;post=1&amp;subd=algorytmy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://algorytmy.wordpress.com/2008/03/01/hello-world/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/61fbb5466d2d01f08447e11730c2c8d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">indioteq</media:title>
		</media:content>
	</item>
		<item>
		<title>W1 Nauka programowania &#8211; czyli 6 języków w 6 miesięcy</title>
		<link>http://algorytmy.wordpress.com/2008/03/01/nauka-programowania-czyli-6-jezykow-w-6-miesiecy/</link>
		<comments>http://algorytmy.wordpress.com/2008/03/01/nauka-programowania-czyli-6-jezykow-w-6-miesiecy/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 00:36:05 +0000</pubDate>
		<dc:creator>indioteq</dc:creator>
				<category><![CDATA[Wprowadzenie]]></category>

		<guid isPermaLink="false">http://algorytmy.wordpress.com/?p=3</guid>
		<description><![CDATA[Programowanie to sztuka czy rzemiosło? To odwieczne pytanie na które próbowało lub wciąż próbuje odpowiedzieć wielu ludzi zajmujących się zawodowo informatyką. Trudno jednoznacznie odpowiedzieć na to pytanie. Najlepszą odpowiedzią wydaje się być: &#8222;Pisanie programu to po części sztuka, po części natomiast rzemiosło, a procentowa zawartość tych składników zależy od indywidualnego przysposobienia twórcy oprogramowania&#8221;. Nie da [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=algorytmy.wordpress.com&amp;blog=3029968&amp;post=3&amp;subd=algorytmy&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Programowanie to sztuka czy rzemiosło? To odwieczne pytanie na które próbowało lub wciąż próbuje odpowiedzieć wielu ludzi zajmujących się zawodowo informatyką. Trudno jednoznacznie odpowiedzieć na to pytanie. Najlepszą odpowiedzią wydaje się być:  &#8222;Pisanie programu to po części sztuka, po części natomiast rzemiosło, a procentowa zawartość tych składników zależy od indywidualnego przysposobienia twórcy oprogramowania&#8221;. Nie da się ukryć że umiejętność pisania <strong>dobrych programów</strong> jest w dzisiejszym świecie niezwykle cenna. Wiele wskazuje na to, że w przyszłości najlepsi programiści będą celebrities na miarę dzisiejszych gwiazd kina i sportu. Dlatego już dziś powinieneś zacząć uczyć się programować. Pierwszy krok uczyniłeś zaglądając na tą stronę <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Wiele istniejących w sieci kursów, umożliwia nauczenie się  tylko jednego, kontretnego  języka. Tymczasem nie ma powodu zawężać się do jednego języka &#8211; ryzykujemy wtedy zagubienie się w składni, podczas gdy fudamentalne koncepcje w programowaniu zostają potraktowane po macoszemu. Dlatego poniższy kurs będzie oparty na sześciu wybranych <strong>językach programowania</strong> aby nauczyć Cię <strong>sztuki programowania</strong> a nie używania konkretnego języka. Oto ich wybór:</p>
<ol>
<li>C</li>
<li>Java</li>
<li>Lisp</li>
<li>PHP</li>
<li>Python</li>
<li>Ruby</li>
</ol>
<p>Wybór oczywiście jest subiektywny. Chciałem aby treścią kursu były języki ważne w dzisiejszym świecie programowania, czyli te które warto z różnych powodów znać. Jakkolwiek, kwestia popularności nie jest jedynym kryterium ich selekcji. Przykładowo Lisp nie jest najpopularniejszym językiem, jednak został włączony do kursu ze względu na odmienność do języków wywodzących się z C.</p>
<p>Oczywiście nie gwarantuje Ci, że po ukończeniu kursu będziesz guru programowania w powyżych językach. Będziesz mogł natomiast powiedzieć, że znasz ich podstawy, a jak wiadomo reszta to sprawa praktyki. Do dzieła zatem.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/algorytmy.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/algorytmy.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/algorytmy.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/algorytmy.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/algorytmy.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/algorytmy.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/algorytmy.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/algorytmy.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/algorytmy.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/algorytmy.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=algorytmy.wordpress.com&amp;blog=3029968&amp;post=3&amp;subd=algorytmy&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://algorytmy.wordpress.com/2008/03/01/nauka-programowania-czyli-6-jezykow-w-6-miesiecy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/61fbb5466d2d01f08447e11730c2c8d2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">indioteq</media:title>
		</media:content>
	</item>
	</channel>
</rss>
