<?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/"
	>

<channel>
	<title>Programowanie - C++, PHP/MySQL - Linux - Piotr Lewicki - Levik</title>
	<atom:link href="http://www.levik.pl/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.levik.pl</link>
	<description>Programowanie w języku C++ PHP/MySQL, Freelancer Piotr Lewicki, Linux user</description>
	<lastBuildDate>Thu, 24 Mar 2011 23:13:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Pojazd XXI wieku segway &#8211; www.przygotika.pl</title>
		<link>http://www.levik.pl/index.php/2011/02/17/pojazd-xxi-wieku-segway-www-przygotika-pl/</link>
		<comments>http://www.levik.pl/index.php/2011/02/17/pojazd-xxi-wieku-segway-www-przygotika-pl/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 12:10:43 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Podróże]]></category>
		<category><![CDATA[segway]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=433</guid>
		<description><![CDATA[Pierwszy raz w życiu miałem do czynienia z segwayem na targach Poznań Game Arena w 2007 roku. Piękne hostessy żwawo pomykały pomiędzy zwiedzającymi rozdając przy tym smycze, cukierki i inne fanty. Wszyscy żartowali, że dziewczyny musiały wcześniej przejść kilku miesięczny kurs jazdy, bo do prawdy prezentowały się świetnie. Jazda nie sprawiała im najmniejszego kłopotu, poruszały [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Przygotika" href="http://www.przygotika.pl" target="_blank"><img class="alignleft size-medium wp-image-437" style="margin: 5px;" title="www.przygotika.pl wynajem segway" src="http://www.levik.pl/wp-content/uploads/2011/02/przygotika1-233x300.jpg" alt="" width="233" height="300" /></a>Pierwszy raz w życiu miałem do czynienia z<span style="text-decoration: underline;"> <a href="http://www.przygotika.pl/">segway</a></span>em na targach Poznań Game Arena w 2007 roku. Piękne hostessy żwawo pomykały pomiędzy zwiedzającymi rozdając przy tym smycze, cukierki i inne fanty. Wszyscy żartowali, że dziewczyny musiały wcześniej przejść kilku miesięczny kurs jazdy, bo do prawdy prezentowały się świetnie. Jazda nie sprawiała im najmniejszego kłopotu, poruszały się naprawdę z finezją. Gdy około 8 miesięcy temu miałem okazję po raz pierwszy w życiu przejechać się na segwayu, byłem przerażony. Myślałem &#8222;oho to teraz się pośmiejemy zaraz się przewrócę i po zawodach&#8221;. Ku mojemu zdziwieniu miła obsługa szybko wytłumaczyła mi jak obsługiwać sprzęt. Trwało to może kilka minut. Po czym sam mogłem jeździć bez większych problemów.</p>
<p>Tak się składa, że los na mojej drodze postawił prężnie rozwijającą się firmę Przygotika. Miałem okazję zaprojektować ich stronę internetową, a przy tym świetnie się bawić. Firma reprezentuje ciekawe spojrzenie na otaczającą ją rzeczywistość. Chce połączyć obcowanie z przyrodą z nowoczesną technologią. Połączenie może dość niecodzienne, ale najważniejsze, że to działa. Osobiście świetnie się bawiłem to tak jakby wspinać się nie wypuszczając komputera z ręki&#8230; Geek zrozumie o czym piszę. <a href="http://www.przygotika.pl/akcje-promocyjne-rozdawanie-ulotek-obsluga-stoisk-targowych/reklama.html" target="_blank"><span style="text-decoration: underline;">Przygotika to także świetny sposób na reklamę</span>.</a> Na zachodzie dość popularne segwaye przyciągają wzrok tysięcy ludzi, a co gdyby jeszcze obkleić sprzęt reklamami. Sukces gwarantowany. Przygotika w swojej ofercie posiada szereg propozycji dla ludzi szukających sposobu na nowoczesną reklamę. Ciekawym pomysłem jest również zaproszenie dziewczyny, rodziny lub po prostu wyskoczyć z przyjaciółmi na przejażdżkę po Toruniu, Poznaniu lub Gnieźnie. Przygotika zapewnia nocleg w hotelu i to bardzo dobrym hotelu.</p>
<p>Ja miałem okazję uczestniczyć w<a href="http://www.przygotika.pl/ekstremalne-wyprawy-przygoda-w-terenie/offroad.html"> <span style="text-decoration: underline;">sesji Offroad</span></a>. Ostra jazda bez trzymanki. Maszyny spisywały się dzielnie. Błoto, deszcz, plaża, torfowiska nie stanowiły problemu dla modeli x2. Jeśli chcesz się oderwać od szarości dnia codziennego, musisz tego spróbować.</p>
<p><a title="Przygotika" href="http://www.przygotika.pl" target="_blank"><img class="aligncenter" title="wynajem pojazdów segway" src="http://www.przygotika.pl/Gallery2/large/image008.jpg" alt="" width="600" height="399" /></a></p>
<p><a title="Przygotika" href="http://www.przygotika.pl" target="_blank"></a>Gorąco polecam <img src='http://www.levik.pl/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2011/02/17/pojazd-xxi-wieku-segway-www-przygotika-pl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smok na maturze z informatyki 2009 &#8211; Smok Heighwaya &#8211; fraktal java</title>
		<link>http://www.levik.pl/index.php/2011/02/01/smok-na-maturze-z-informatyki-2009-smok-heighwaya-fraktal-java/</link>
		<comments>http://www.levik.pl/index.php/2011/02/01/smok-na-maturze-z-informatyki-2009-smok-heighwaya-fraktal-java/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 11:39:52 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[algorytmy]]></category>
		<category><![CDATA[fraktal]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=417</guid>
		<description><![CDATA[No i tak przyszło mi w 2009 roku pisać maturę rozszerzoną z informatyki. Zadania były jak pamiętam bardzo trudne. Wczoraj za sprawą komentarza Kamila do poprzedniego posta, wróciłem pamięcią do arkusza z przed 2 lat i smok nie wydał się taki trudny jak kiedyś Na wiki smok Heighwaya jest definiowany na płaszczyźnie zespolonej, ale w [...]]]></description>
			<content:encoded><![CDATA[<p>No i tak przyszło mi w 2009 roku pisać maturę rozszerzoną z informatyki. Zadania były jak pamiętam bardzo trudne. Wczoraj za sprawą komentarza Kamila do poprzedniego posta, wróciłem pamięcią do arkusza z przed 2 lat i smok nie wydał się taki trudny jak kiedyś <img src='http://www.levik.pl/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Na wiki smok Heighwaya jest definiowany na płaszczyźnie zespolonej, ale w arkuszu dla maturzystów nikt by na to nie poszedł. Pomimo tego idea generowania smoka jest dość ciekawa. Pojawiają się w niej liczby pseudolosowe, co nadaje ciekawego kolorytu sprawie. No ale w matematyce raczej nie ma przypadku&#8230; Nie będę wysilał się na uczoną polemikę po prostu wklejam poniżej polecenie:</p>
<p style="text-align: left; padding-left: 30px;"><strong>Zadanie 4</strong>. Iteracje (14 pkt)<br />
Poniższe dwa układy równań liniowych, zastosowane wielokrotnie do przekształcania<br />
współrzędnych punktu (x, y) (przynajmniej kilka tysięcy razy) na przemian, w losowej<br />
kolejności, generują ciekawy obraz, znany jako smok Heighwaya. Zmienne x′ i y′ oznaczają<br />
nowe wartości współrzędnych x i y.</p>
<p><img class="aligncenter" title="układ równan Smok" src="http://www.levik.pl/pliki/foto/uklad_smok.jpg" alt="" width="399" height="77" /></p>
<p style="text-align: left; padding-left: 30px;">Do wygenerowania obrazu smoka Heighwaya może posłużyć następujący algorytm:</p>
<p style="text-align: left; padding-left: 30px;">1. Przyjmij dowolne wartości początkowe x i y.<br />
2. Powtórz wielokrotnie (przynajmniej kilka tysięcy razy):<br />
2.1. Oblicz nowe wartości x i y:</p>
<blockquote>
<ul>
<li> wybierz losowo z jednakowym prawdopodobieństwem jeden z dwóch podanych układów równań,</li>
</ul>
</blockquote>
<blockquote>
<ul>
<li>oblicz x′ i y′ , stosując wybrany układ równań.</li>
</ul>
</blockquote>
<p style="text-align: left; padding-left: 30px;">2.2. Zaznacz na wykresie kolejny punkt (x, y).</p>
<p style="text-align: left; padding-left: 30px;">Wykorzystując dostępne narzędzia informatyczne, wykonaj poniższe polecenia. Wyniki z podpunktów a, c, d zapisz w pliku o nazwie zad_4.txt. Wyniki do każdego podpunktu poprzedź literą oznaczającą ten podpunkt.</p>
<p style="padding-left: 30px;"><strong>a)</strong> Zaczynając od x = 1 i y = 1 i wybierając za każdym razem losowo jeden z dwóch<br />
podanych układów równań, oblicz pierwsze 5000 wartości x i y z kolejnych iteracji.</p>
<p style="padding-left: 30px;"><strong>b)</strong> Na podstawie swoich obliczeń sporządź obraz smoka Heighwaya. Pomiń wyniki<br />
ze 100 pierwszych iteracji. Zadbaj o czytelność i przejrzystość obrazu. Otrzymany<br />
obraz zapisz w pliku o nazwie smok.*, w którym * oznacza rozszerzenie pliku zgodne<br />
z wybranym przez Ciebie formatem pliku użytym do zapamiętania obrazu.</p>
<p style="padding-left: 30px;"><strong>c)</strong> Oblicz środek masy smoka, to znaczy: średnie wartości x i y z zaokrągleniem<br />
do jednej cyfry dziesiętnej po przecinku. Przy obliczaniu średnich pomiń wyniki<br />
ze 100 pierwszych iteracji.</p>
<p style="padding-left: 30px;"><strong>d)</strong> Oblicz rozmiary powstałego smoka, to znaczy podaj (z zaokrągleniem do jednej cyfry<br />
dziesiętnej po przecinku) minimalne i maksymalne wartości x oraz y. Pomiń wyniki<br />
uzyskane w pierwszych 100 iteracjach obliczeń.</p>
<p>Nie chciało mi się walczyć z  nudnymi podpunktami po prostu skupiłem się na narysowaniu smoka <img src='http://www.levik.pl/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><center><br />
<applet width="650" height="450" code="Dragon.class" codebase="http://www.levik.pl/pliki/FraktalSmok/"> </applet><br />
</center><br />
<br/></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Color</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.Graphics</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.ActionEvent</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.awt.event.ActionListener</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JApplet</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JButton</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JLabel</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JOptionPane</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JPanel</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JSlider</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.JTextField</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.SwingUtilities</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.event.ChangeEvent</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.swing.event.ChangeListener</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Dragon <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JApplet</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #003399;">JButton</span> generate <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JButton</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Generuj&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	DragonImage panel <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DragonImage<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	ArrayList<span style="color: #339933;">&lt;</span>Pixel<span style="color: #339933;">&gt;</span> pixelList <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>Pixel<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> textField <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> xCor <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JTextField</span> yCor <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JTextField</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JLabel</span> iterLab <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Iteracje: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JLabel</span> xLab <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;x: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JLabel</span> yLab <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;y: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">JLabel</span> zoomLab <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;zoom: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">double</span> x,y<span style="color: #339933;">;</span>
	<span style="color: #003399;">JSlider</span> zoomSlider <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JSlider</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066; font-weight: bold;">int</span> zoom<span style="color: #339933;">=</span><span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> init<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">SwingUtilities</span>.<span style="color: #006633;">invokeAndWait</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Runnable</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					setLayout<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					setSize<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">650</span>, <span style="color: #cc66cc;">410</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					iterLab.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">418</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>iterLab<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>		
					xLab.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">455</span>,<span style="color: #cc66cc;">70</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>xLab<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					yLab.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">455</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>yLab<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					zoomLab.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">430</span>,<span style="color: #cc66cc;">130</span>,<span style="color: #cc66cc;">80</span>,<span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>zoomLab<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					textField.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">470</span>,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">75</span>,<span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>textField<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					xCor.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">470</span>,<span style="color: #cc66cc;">70</span>,<span style="color: #cc66cc;">35</span>,<span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>xCor<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					yCor.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">470</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">35</span>,<span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>yCor<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					generate.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">470</span>, <span style="color: #cc66cc;">10</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					generate.<span style="color: #006633;">addActionListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> GenButtonListener<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>generate<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					zoomSlider <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">JSlider</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1000</span>,<span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					zoomSlider.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">430</span>, <span style="color: #cc66cc;">150</span>, <span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">20</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					add<span style="color: #009900;">&#40;</span>zoomSlider<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					zoomSlider.<span style="color: #006633;">addChangeListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> ZoomSliderListener<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					add<span style="color: #009900;">&#40;</span>panel<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					panel.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					panel.<span style="color: #006633;">setBackground</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">white</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					panel.<span style="color: #006633;">repaint</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> e<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>,e.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>,<span style="color: #0000ff;">&quot;Błąd&quot;</span>,<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">ERROR_MESSAGE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">class</span> ZoomSliderListener <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ChangeListener</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> stateChanged<span style="color: #009900;">&#40;</span><span style="color: #003399;">ChangeEvent</span> arg0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			zoom <span style="color: #339933;">=</span> zoomSlider.<span style="color: #006633;">getValue</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			zoomLab.<span style="color: #006633;">setText</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;zoom: &quot;</span><span style="color: #339933;">+</span>zoom<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			panel.<span style="color: #006633;">repaint</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">class</span> GenButtonListener <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">ActionListener</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> actionPerformed<span style="color: #009900;">&#40;</span><span style="color: #003399;">ActionEvent</span> arg0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>xCor.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> yCor.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> textField.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #003399;">Integer</span>.<span style="color: #006633;">parseInt</span><span style="color: #009900;">&#40;</span>textField.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">showMessageDialog</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">null</span>,<span style="color: #0000ff;">&quot;iteracje &gt; 100&quot;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot;x,y dowolne&quot;</span>,<span style="color: #0000ff;">&quot;Błąd - błędne dane wejściowe&quot;</span>,<span style="color: #003399;">JOptionPane</span>.<span style="color: #006633;">ERROR_MESSAGE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
				<span style="color: #000066; font-weight: bold;">int</span> option<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">double</span> xp<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span>,yp<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
				x <span style="color: #339933;">=</span> <span style="color: #003399;">Double</span>.<span style="color: #006633;">parseDouble</span><span style="color: #009900;">&#40;</span>xCor.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				y <span style="color: #339933;">=</span> <span style="color: #003399;">Double</span>.<span style="color: #006633;">parseDouble</span><span style="color: #009900;">&#40;</span>yCor.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				pixelList.<span style="color: #006633;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>Integer.<span style="color: #006633;">parseInt</span><span style="color: #009900;">&#40;</span>textField.<span style="color: #006633;">getText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					option <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #003399;">Math</span>.<span style="color: #006633;">round</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Math</span>.<span style="color: #006633;">random</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>option<span style="color: #339933;">==</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
						xp<span style="color: #339933;">=-</span><span style="color: #cc66cc;">0.4</span><span style="color: #339933;">*</span>x<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
						yp<span style="color: #339933;">=-</span><span style="color: #cc66cc;">0.4</span><span style="color: #339933;">*</span>y<span style="color: #339933;">+</span><span style="color: #cc66cc;">0.1</span><span style="color: #339933;">;</span>
						pixelList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Pixel<span style="color: #009900;">&#40;</span>xp, yp<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						x<span style="color: #339933;">=</span>xp<span style="color: #339933;">;</span>
						y<span style="color: #339933;">=</span>yp<span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
						xp<span style="color: #339933;">=</span><span style="color: #cc66cc;">0.76</span><span style="color: #339933;">*</span>x<span style="color: #339933;">-</span><span style="color: #cc66cc;">0.4</span><span style="color: #339933;">*</span>y<span style="color: #339933;">;</span>
						yp<span style="color: #339933;">=</span><span style="color: #cc66cc;">0.4</span><span style="color: #339933;">*</span>x<span style="color: #339933;">+</span><span style="color: #cc66cc;">0.76</span><span style="color: #339933;">*</span>y<span style="color: #339933;">;</span>
						pixelList.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Pixel<span style="color: #009900;">&#40;</span>xp, yp<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						x<span style="color: #339933;">=</span>xp<span style="color: #339933;">;</span>
						y<span style="color: #339933;">=</span>yp<span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
					pixelList.<span style="color: #006633;">remove</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				panel.<span style="color: #006633;">repaint</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">class</span> DragonImage <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">JPanel</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> paint<span style="color: #009900;">&#40;</span><span style="color: #003399;">Graphics</span> g<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">paint</span><span style="color: #009900;">&#40;</span>g<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">int</span> dx <span style="color: #339933;">=</span> panel.<span style="color: #006633;">getWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">int</span> dy <span style="color: #339933;">=</span> panel.<span style="color: #006633;">getHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
&nbsp;
			g.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">white</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			g.<span style="color: #006633;">fillRect</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">300</span>, <span style="color: #cc66cc;">300</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			g.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">LIGHT_GRAY</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
				g.<span style="color: #006633;">drawLine</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #339933;">*</span>i, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">50</span><span style="color: #339933;">*</span>i, <span style="color: #cc66cc;">450</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
				g.<span style="color: #006633;">drawLine</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">50</span><span style="color: #339933;">*</span>i, <span style="color: #cc66cc;">450</span>, <span style="color: #cc66cc;">50</span><span style="color: #339933;">*</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			g.<span style="color: #006633;">setColor</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Color</span>.<span style="color: #006633;">red</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>Pixel pixel<span style="color: #339933;">:</span>pixelList<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
				g.<span style="color: #006633;">fillRect</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>pixel.<span style="color: #006633;">x</span><span style="color: #339933;">*</span>zoom<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>dx, <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span>pixel.<span style="color: #006633;">y</span><span style="color: #339933;">*</span>zoom<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>dy, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">class</span> Pixel <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">double</span> x,y<span style="color: #339933;">;</span>
&nbsp;
		Pixel<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> X,<span style="color: #000066; font-weight: bold;">double</span> Y<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			x<span style="color: #339933;">=</span>X<span style="color: #339933;">;</span> y<span style="color: #339933;">=</span>Y<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> set<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">double</span> X,<span style="color: #000066; font-weight: bold;">double</span> Y<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			x<span style="color: #339933;">=</span>X<span style="color: #339933;">;</span> y<span style="color: #339933;">=</span>Y<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Pozdrawiam!!! Piter!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2011/02/01/smok-na-maturze-z-informatyki-2009-smok-heighwaya-fraktal-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Niekończąca się opowieść czyli o fraktalach słów kilka &#8211; Dywan Sierpińskiego</title>
		<link>http://www.levik.pl/index.php/2011/01/29/niekonczaca-sie-opowiesc-czyli-o-fraktalach-slow-kilka-dywan-sierpinskiego/</link>
		<comments>http://www.levik.pl/index.php/2011/01/29/niekonczaca-sie-opowiesc-czyli-o-fraktalach-slow-kilka-dywan-sierpinskiego/#comments</comments>
		<pubDate>Sat, 29 Jan 2011 13:24:23 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[algorytmy]]></category>
		<category><![CDATA[fraktal]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=404</guid>
		<description><![CDATA[Podczas zajęć z Algorytmów i struktur danych, prowadzący zaproponował nam zadanie dodatkowe. Mianowicie dotyczyło ono wygenerowanie fraktali. (Zbiory Mandelbrota i L-systemy). Jak to często w moim przypadku bywa skończyło się na poczytaniu tego i owego. Musiałem dopilnować innych zajęć i nie znalazłem czasu na zabawę z fraktalami. Nie mniej jednak temat jest szalenie ciekawy, a [...]]]></description>
			<content:encoded><![CDATA[<p>Podczas zajęć z Algorytmów i struktur danych, prowadzący zaproponował nam zadanie dodatkowe. Mianowicie dotyczyło ono wygenerowanie fraktali. (Zbiory Mandelbrota i L-systemy). Jak to często w moim przypadku bywa skończyło się na poczytaniu tego i owego. Musiałem dopilnować innych zajęć i nie znalazłem czasu na zabawę z fraktalami. Nie mniej jednak temat jest szalenie ciekawy, a i programowanie tego typu zadań sprawia dużo frajdy. Wszelakie wizualne zmiany na ekranie komputera, bądź generowanie obrazów za sprawą kodu programu jest niezłą zabawą, zwłaszcza że kryje się za tym czysta matematyka. To tak jakby ubrać w słowa jakąś wybitną myśl. Ja &#8222;ubrałem w słowa&#8221; dywan Sierpińskiego. Jest to chyba najprostszy fraktal. Jak widać wrzuciłem applet na blog. Znalazłem też fajną stronę o fraktalach. Oto link: <em><span style="text-decoration: underline;"><a title="Fraktale" href="http://zasoby1.open.agh.edu.pl/dydaktyka/matematyka/c_fraktale_i_chaos/" target="_blank">Fraktale</a></span></em></p>
<p>Zachęcam do poczytania na ten temat&#8230;<br />
<center><br />
<applet width="650" height="580" code="AppletRoot.class" codebase="http://www.levik.pl/pliki/FraktalDywan/"> </applet><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2011/01/29/niekonczaca-sie-opowiesc-czyli-o-fraktalach-slow-kilka-dywan-sierpinskiego/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Język multi-paradygmatowy Oz &#8211; przykłady Mozart/Oz</title>
		<link>http://www.levik.pl/index.php/2010/12/17/jezyk-multi-paradygmatowy-oz-przyklady-mozartoz/</link>
		<comments>http://www.levik.pl/index.php/2010/12/17/jezyk-multi-paradygmatowy-oz-przyklady-mozartoz/#comments</comments>
		<pubDate>Fri, 17 Dec 2010 20:26:11 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Funkcyjne]]></category>
		<category><![CDATA[algorytmy]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=381</guid>
		<description><![CDATA[Przyszło mi się zmierzyć z nowym paradygmatem programowania, mianowicie programowaniem funkcyjnym. Od kilku lat zajmuje się programowaniem. Na początku pisałem imperatywnie, później obiektowo, ale nigdy nie funkcyjnie. Przyznam, że musiałem zmienić odrobinę spojrzenie na kod i samo programowanie. Jednak po krótkiej, ale jakże ciekawej batalii stoczonej na płaszczyźnie mojej klawiatury muszę powiedzieć, że udało się. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin-left: 10px; margin-right: 10px;" title="mozart/oz paradygmat funkcyjny" src="http://www.levik.pl/pliki/foto/mozart.jpg" alt="" width="259" height="112" />Przyszło mi się zmierzyć z nowym paradygmatem programowania, mianowicie programowaniem funkcyjnym. Od kilku lat zajmuje się programowaniem. Na początku pisałem imperatywnie, później obiektowo, ale nigdy nie funkcyjnie. Przyznam, że musiałem zmienić odrobinę spojrzenie na kod i samo programowanie. Jednak po krótkiej, ale jakże ciekawej batalii stoczonej na płaszczyźnie mojej klawiatury muszę powiedzieć, że udało się. Jednak spokojna głowa ten paradygmat nie trafi do mojego TOP 3.</p>
<p>Na zajęciach piszemy w języku OCaml i Oz (o pierwszym z nich napiszę później). Teraz skupmy się na języku Oz. Jest to język multi-paradygmatowy, czyli wspomaga kilka paradygmatów. W tym przypadku są jest to:</p>
<p>1. Programowanie w logice<br />
2. Programowanie funkcyjne<br />
3. Programowanie imperatywne<br />
4. Programowanie obiektowe<br />
5. Programowanie deklaratywne</p>
<p>Początki Oz&#8217;a sięgają 1991 roku jak to często bywa stworzył go student. Od 1996 roku pieczę nad projektem ma konsorcjum Mozart (często możemy zauważyć w sieci pisownię Oz/Mozart). Projekt jest udostępniany na licencji open source. Składnia języka na początku wydała mi się dość przyjemna, ale z czasem dała ostro popalić. Z języka korzystałem tylko do celów edukacyjnych dlatego nie jestem wstanie powiedzieć wam nic nowego czego nie przeczytacie w <a href="http://www.mozart-oz.org/documentation/" target="_blank"><strong>dokumentacji</strong></a> i <a href="http://www.mozart-oz.org/documentation/tutorial/" target="_blank"><strong>tutorialu</strong></a> (ahhh to co tygryski lubią najbardziej)</p>
<p>Jako, że w internecie jest bardzo mało przykładów związanych z językiem Oz postanowiłem to zmienić. Oto kilka prostych programów.</p>
<p>Funkcja Rev (reverse &#8211; przyjmuje jako argument listę) odwracająca listę (rekursja ogonowa).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Rev L<span style="color: #6c6;">&#125;</span>
	   local <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Pom L Acc<span style="color: #6c6;">&#125;</span>
		    case L <span style="color: #06c; font-weight: bold;">of</span>
		       nil <span style="color: #06c; font-weight: bold;">then</span> Acc
		    <span style="color: #6c6;">&#91;</span><span style="color: #6c6;">&#93;</span> H<span style="color: #a52a2a;">|</span>T <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #6c6;">&#123;</span>Pom T H<span style="color: #a52a2a;">|</span>Acc<span style="color: #6c6;">&#125;</span>
		    <span style="color: #06c; font-weight: bold;">end</span>
		 <span style="color: #06c; font-weight: bold;">end</span>
	   <span style="color: #06c; font-weight: bold;">in</span> <span style="color: #6c6;">&#123;</span>Pom L nil<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span></pre></td></tr></table></div>

<p>Funkcja Length która zwraca długość listy przyjętej jako argument.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Length Lst<span style="color: #6c6;">&#125;</span>
	   local <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Length_acm Lst Acm<span style="color: #6c6;">&#125;</span>
	      <span style="color: #06c; font-weight: bold;">if</span> Lst<span style="color: #a52a2a;">==</span>nil <span style="color: #06c; font-weight: bold;">then</span> Acm
	      <span style="color: #06c; font-weight: bold;">else</span> <span style="color: #6c6;">&#123;</span>Length_acm Lst<span style="color: #a52a2a;">.</span>2 Acm<span style="color: #a52a2a;">+</span><span style="color: #c6c;">1</span><span style="color: #6c6;">&#125;</span>
	      <span style="color: #06c; font-weight: bold;">end</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	   <span style="color: #06c; font-weight: bold;">in</span> <span style="color: #6c6;">&#123;</span>Length_acm Lst <span style="color: #c6c;">0</span><span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
<span style="color: #a52a2a;">%</span>przykładowa tablica
declare L <span style="color: #a52a2a;">=</span> <span style="color: #c6c;">1</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">2</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">3</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">4</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">5</span><span style="color: #a52a2a;">|</span>nil
&nbsp;
<span style="color: #a52a2a;">%</span>wydrukowanie wyniku
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Length L<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>Dalej przedstawię zadania z list ćwiczeń, które to rozwiązywałem na zajęciach, niestety nie wszystkie zadania są optymalne obliczeniowo, wiele z nich można usprawnić:</p>
<p>1. Zdefiniuj funkcję Flatten1, która dla argumentu będącego listą list tworzy listę złożoną z elementów wszystkich podlist z zachowaniem ich kolejności, np. {Flatten1 [[5 6] [1 2 3]]} zwraca [5 6 1 2 3], czyli spłaszcza listę o jeden poziom.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Flatten1 L<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">if</span> L<span style="color: #a52a2a;">==</span>nil <span style="color: #06c; font-weight: bold;">then</span>
	      nil
	   <span style="color: #06c; font-weight: bold;">else</span>
	      <span style="color: #6c6;">&#123;</span>Append L<span style="color: #a52a2a;">.</span>1<span style="color: #6c6;">&#123;</span>Flatten1 L<span style="color: #a52a2a;">.</span>2<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
declare Lst <span style="color: #a52a2a;">=</span> <span style="color: #6c6;">&#91;</span><span style="color: #6c6;">&#91;</span><span style="color: #c6c;">5</span> <span style="color: #c6c;">6</span> <span style="color: #c6c;">1</span> <span style="color: #c6c;">2</span> <span style="color: #c6c;">3</span><span style="color: #6c6;">&#93;</span> nil <span style="color: #6c6;">&#91;</span><span style="color: #c6c;">3</span> <span style="color: #c6c;">4</span> <span style="color: #c6c;">3</span><span style="color: #6c6;">&#93;</span> <span style="color: #6c6;">&#91;</span><span style="color: #c6c;">3</span><span style="color: #6c6;">&#93;</span><span style="color: #6c6;">&#93;</span>
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Flatten1 Lst<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>2. Zdefiniuj funkcję Count obliczającą ile razy dany obiekt występuje w danej liście, np. {Count &#8216;a&#8217; ['a' 'l' 'a']} zwraca 2.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Count Z Lst<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">if</span> Lst<span style="color: #a52a2a;">==</span>nil <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #c6c;">0</span>
	   <span style="color: #06c; font-weight: bold;">else</span>
	      <span style="color: #06c; font-weight: bold;">if</span> Z<span style="color: #a52a2a;">==</span>Lst<span style="color: #a52a2a;">.</span>1 <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #c6c;">1</span><span style="color: #a52a2a;">+</span><span style="color: #6c6;">&#123;</span>Count Z Lst<span style="color: #a52a2a;">.</span>2<span style="color: #6c6;">&#125;</span>
	      <span style="color: #06c; font-weight: bold;">else</span> <span style="color: #c6c;">0</span><span style="color: #a52a2a;">+</span><span style="color: #6c6;">&#123;</span>Count Z Lst<span style="color: #a52a2a;">.</span>2<span style="color: #6c6;">&#125;</span>
	      <span style="color: #06c; font-weight: bold;">end</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Count <span style="color: #a52a2a;">'</span>a<span style="color: #a52a2a;">'</span> a<span style="color: #a52a2a;">|</span>b<span style="color: #a52a2a;">|</span>a<span style="color: #a52a2a;">|</span>b<span style="color: #a52a2a;">|</span>a<span style="color: #a52a2a;">|</span>b<span style="color: #a52a2a;">|</span>nil<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>3. Zdefiniuj funkcję Duplicate powtarzającą dany obiekt określoną liczbę razy i zwracającą wynik w postaci listy, np. {Duplicate &#8216;la‘ 3} →['la' 'la' 'la'].</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Duplicate O N<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">if</span> N<span style="color: #a52a2a;">==</span><span style="color: #c6c;">0</span> <span style="color: #06c; font-weight: bold;">then</span> nil
	    <span style="color: #06c; font-weight: bold;">else</span> O<span style="color: #a52a2a;">|</span><span style="color: #6c6;">&#123;</span>Duplicate O N<span style="color: #a52a2a;">-</span><span style="color: #c6c;">1</span><span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Duplicate <span style="color: #a52a2a;">'</span>a<span style="color: #a52a2a;">'</span> <span style="color: #c6c;">6</span><span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>4. Zdefiniuj funkcję Sqr_list podnoszącą do kwadratu wszystkie elementy danej listy liczb, np. {Sqr_list [1 2 ~3]} → [1 4 9].</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Sqr_list Lst<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">if</span> Lst<span style="color: #a52a2a;">==</span>nil <span style="color: #06c; font-weight: bold;">then</span> nil
	   <span style="color: #06c; font-weight: bold;">else</span>
	      Lst<span style="color: #a52a2a;">.</span>1<span style="color: #a52a2a;">*</span>Lst<span style="color: #a52a2a;">.</span>1<span style="color: #a52a2a;">|</span><span style="color: #6c6;">&#123;</span>Sqr_list Lst<span style="color: #a52a2a;">.</span>2<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
declare L <span style="color: #a52a2a;">=</span> <span style="color: #c6c;">3</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">4</span><span style="color: #a52a2a;">|</span>nil
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Sqr_list L<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>5. Zdefiniuj funkcję Palindrome sprawdzającą, czy dana lista jest palindromem, tj. równa się sobie samej przy odwróconej kolejności elementów, np. {Palindrome ['a' 'l' 'a']} zwraca true.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Palindrome Lst<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">if</span> Lst<span style="color: #a52a2a;">==</span>nil <span style="color: #06c; font-weight: bold;">then</span> nil
	   <span style="color: #06c; font-weight: bold;">else</span>
	      Lst<span style="color: #a52a2a;">==</span><span style="color: #6c6;">&#123;</span>Reverse Lst<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
declare L <span style="color: #a52a2a;">=</span> k<span style="color: #a52a2a;">|</span>a<span style="color: #a52a2a;">|</span>j<span style="color: #a52a2a;">|</span>a<span style="color: #a52a2a;">|</span>k<span style="color: #a52a2a;">|</span>nil
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Palindrome L<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>6. Zdefiniuj funkcję ListLength obliczjącą długość dowolnej listy.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>ListLength Lst<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">if</span> Lst<span style="color: #a52a2a;">==</span>nil <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #c6c;">0</span>
	   <span style="color: #06c; font-weight: bold;">else</span>
	      <span style="color: #c6c;">1</span><span style="color: #a52a2a;">+</span><span style="color: #6c6;">&#123;</span>ListLength Lst<span style="color: #a52a2a;">.</span>2<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
declare L <span style="color: #a52a2a;">=</span> <span style="color: #c6c;">1</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">2</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">3</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">4</span><span style="color: #a52a2a;">|</span>nil
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>ListLength L<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>7. Liczby Fibonacciego są zdefiniowane następująco:<br />
f(0) = 0<br />
f(1) = 1<br />
f(n+2) = f(n) + f(n+1)<br />
Napisz dwie funkcje, które dla danego n znajdują n-tą liczbę Fibonacciego: pierwszą opartą bezpośrednio na powyższej definicji i drugą, wykorzystującą rekursję ogonową. Porównaj ich szybkość wykonania, obliczając np. 37-mą liczbę Fibonacciego.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Fib N<span style="color: #6c6;">&#125;</span>
	    <span style="color: #06c; font-weight: bold;">if</span> N<span style="color: #a52a2a;">==</span><span style="color: #c6c;">0</span> <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #c6c;">0</span>
	    <span style="color: #06c; font-weight: bold;">else</span>
	       <span style="color: #06c; font-weight: bold;">if</span> N<span style="color: #a52a2a;">==</span><span style="color: #c6c;">1</span> <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #c6c;">1</span>
	       <span style="color: #06c; font-weight: bold;">else</span> <span style="color: #6c6;">&#123;</span>Fib N<span style="color: #a52a2a;">-</span><span style="color: #c6c;">1</span><span style="color: #6c6;">&#125;</span><span style="color: #a52a2a;">+</span><span style="color: #6c6;">&#123;</span>Fib N<span style="color: #a52a2a;">-</span><span style="color: #c6c;">2</span><span style="color: #6c6;">&#125;</span>
	       <span style="color: #06c; font-weight: bold;">end</span>
	    <span style="color: #06c; font-weight: bold;">end</span>
	 <span style="color: #06c; font-weight: bold;">end</span>
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Fib <span style="color: #c6c;">37</span><span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span> Fib_tail N<span style="color: #6c6;">&#125;</span>
	   local <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Fib N1 N2 I<span style="color: #6c6;">&#125;</span>
		    <span style="color: #06c; font-weight: bold;">if</span> I<span style="color: #a52a2a;">=&amp;</span>lt<span style="color: #a52a2a;">;</span><span style="color: #c6c;">2</span> <span style="color: #06c; font-weight: bold;">then</span> N2
		    <span style="color: #06c; font-weight: bold;">else</span>
		       local Next <span style="color: #a52a2a;">=</span> N1<span style="color: #a52a2a;">+</span>N2 <span style="color: #06c; font-weight: bold;">in</span>
			  <span style="color: #6c6;">&#123;</span>Fib N2 Next I<span style="color: #a52a2a;">-</span><span style="color: #c6c;">1</span><span style="color: #6c6;">&#125;</span>
		       <span style="color: #06c; font-weight: bold;">end</span>
		    <span style="color: #06c; font-weight: bold;">end</span>
		 <span style="color: #06c; font-weight: bold;">end</span>
	   <span style="color: #06c; font-weight: bold;">in</span> <span style="color: #6c6;">&#123;</span>Fib <span style="color: #c6c;">1</span> <span style="color: #c6c;">1</span> N<span style="color: #6c6;">&#125;</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Fib_tail <span style="color: #c6c;">37</span><span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>8. Zdefiniuj funkcję Initsegment : &#8216;a list * &#8216;a list -&gt; bool sprawdzającą w czasie liniowym, czy pierwsza lista stanowi początkowy segment drugiej listy. Każda lista jest swoim początkowym segmentem, lista pusta jest początkowym segmentem każdej listy.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="ocaml" style="font-family:monospace;">declare <span style="color: #06c; font-weight: bold;">fun</span> <span style="color: #6c6;">&#123;</span>Initsegment L1 L2<span style="color: #6c6;">&#125;</span>
	   case L1 <span style="color: #06c; font-weight: bold;">of</span>
	      nil <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #06c; font-weight: bold;">true</span>
	   <span style="color: #6c6;">&#91;</span><span style="color: #6c6;">&#93;</span> H<span style="color: #a52a2a;">|</span>T <span style="color: #06c; font-weight: bold;">then</span>
	               <span style="color: #06c; font-weight: bold;">if</span> H<span style="color: #a52a2a;">==</span>L2<span style="color: #a52a2a;">.</span>1 <span style="color: #06c; font-weight: bold;">then</span> <span style="color: #6c6;">&#123;</span>Initsegment T L2<span style="color: #a52a2a;">.</span>2<span style="color: #6c6;">&#125;</span>
		       <span style="color: #06c; font-weight: bold;">else</span> <span style="color: #06c; font-weight: bold;">false</span>
		       <span style="color: #06c; font-weight: bold;">end</span>
	   <span style="color: #06c; font-weight: bold;">end</span>
	<span style="color: #06c; font-weight: bold;">end</span>
&nbsp;
<span style="color: #6c6;">&#123;</span>Show <span style="color: #6c6;">&#123;</span>Initsegment <span style="color: #c6c;">2</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">3</span><span style="color: #a52a2a;">|</span>nil <span style="color: #c6c;">1</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">2</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">3</span><span style="color: #a52a2a;">|</span><span style="color: #c6c;">4</span><span style="color: #a52a2a;">|</span>nil<span style="color: #6c6;">&#125;</span><span style="color: #6c6;">&#125;</span></pre></td></tr></table></div>

<p>OK myślę, że na razie te kila przykładów wystarczy, mam w zanadrzu jeszcze kilka mini-programików, myślę że z czasem je udostępnię. Jak sami widzicie jestem jeszcze dość zielony w paradygmacie funkcyjnym, ale powoli nabieram zrozumienia wobec tej &#8222;filozofii&#8221;. Mam szczerą nadzieję, że analiza tych kilku programów pozwoli wam szybciej oswoić się z nowym językiem, a przede wszystkim paradygmatem.</p>
<p>Pozdrawiam PL</p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/12/17/jezyk-multi-paradygmatowy-oz-przyklady-mozartoz/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serial „Ratownicy” –  Kicz czy Epos o Ratownikach TOPR – opinie &#8211; recenzja</title>
		<link>http://www.levik.pl/index.php/2010/10/14/serial-%e2%80%9eratownicy%e2%80%9d-%e2%80%93-kicz-czy-epos-o-ratownikach-topr-%e2%80%93-opinie-recenzja/</link>
		<comments>http://www.levik.pl/index.php/2010/10/14/serial-%e2%80%9eratownicy%e2%80%9d-%e2%80%93-kicz-czy-epos-o-ratownikach-topr-%e2%80%93-opinie-recenzja/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 10:15:04 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[Góry]]></category>
		<category><![CDATA[Zakopane]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=372</guid>
		<description><![CDATA[Z ogromnym zaciekawieniem czekałem na emisję pierwszego odcinka serialu. Naczytałem się w Internecie wielu spekulacji na temat projektu. Sam fakt, że TOPR użyczył wizerunku było dla mnie bardzo zachęcające. Jako powsinoga uznałem tematykę serialu za strzał w dziesiątkę. I tak po obejrzeniu pierwszego odcinka byłem usatysfakcjonowany powiedzmy w 70%. Bardzo, ale to bardzo poruszyły mnie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.levik.pl/wp-content/uploads/2010/10/ratownicy_tvp1.jpg"><img class="alignleft size-medium wp-image-375" title="ratownicy_tvp" src="http://www.levik.pl/wp-content/uploads/2010/10/ratownicy_tvp1-300x151.jpg" alt="" width="300" height="151" /></a>Z ogromnym zaciekawieniem czekałem na emisję pierwszego odcinka serialu. Naczytałem się w Internecie wielu spekulacji na temat projektu. Sam fakt, że TOPR użyczył wizerunku było dla mnie bardzo zachęcające. Jako powsinoga uznałem tematykę serialu za strzał w dziesiątkę. I tak po obejrzeniu pierwszego odcinka byłem usatysfakcjonowany powiedzmy w 70%. Bardzo, ale to bardzo poruszyły mnie „efekty specjalne”, no cóż nad tym elementem musimy jeszcze popracować i to sporo. Fabuła?! Dla mnie spoko, co to znaczy?! Znaczy tyle, że jest zachęcająca do obejrzenia kolejnego odcinka. Wydaje się dość szablonowa, ale może się mylę i losy serialu wcale nie potoczą się po mojej myśli. Kilka momentów mnie zaskoczyło.</p>
<p>Co mogę powiedzieć o grze aktorów. W moim odczuciu mogła by być lepsza, ale ja oglądam ten serial z przyjemnością, może i są momenty w których kiwam głową i wołam o pomstę do nieba, ale uważam, że ten serial jest potrzeby. Właśnie dlatego chciałem o tym napisać, żeby w sieci pojawiła się pierwsza pochlebna opinia na temat tego serialu. Na razie wiemy tyle, że jest 13 odcinków. Dotychczas zostało wyemitowanych 4. Już po chyba 2 odcinku w radio można było usłyszeć jak ratownicy mówią, że z pewnością nie użyczą wizerunku w kolejnych odcinkach. TOPR pomagał w realizacji serialu i pełnił rolę konsultanta, niestety ratownicy mówią, że cała ich praca poszła na marne. PANOWIE JA TAK NIE UWAŻAM.</p>
<p>Według mnie gdy osiągnie się stopień profesjonalizmu, pewne rzeczy wydają się jasne i oczywiste. Mistrzowie mają to do siebie, że nie interesuje ich bycie dobrym, czy broń Boże przeciętnym oni chcą tego co najlepsze. Pamiętajmy, że trzeba od czegoś zacząć i właśnie dlatego uważam, że serial powinien doczekać się swojej kontynuacji w przyszłości. Myślę, że projekt jest OK. Oczywiście trzeba nad nim popracować i domyślam, że ratownikom TOPR nie było łatwo tłumaczyć i kłaść do głowy producentom serialu informacji na temat jak to powinno wyglądać. Jednak to co powstało jest dla mnie ciekawym kompromisem. Pomimo wszystkich uchybień kilka informacji ciekawych i przede wszystkim przydatnych udało się przemycić. Tak na marginesie dla laików to prawdziwy skarb. Nawet jeśli nie zapamiętają tego świadomie to może trafi to do nich podrogowo, a tym samym ratownicy będą mieli mniej pracy. Czego im życzę z całego serca.</p>
<p>Wszystkich, którzy chcą zasięgnąć fachowej wiedzy odsyłam do filmu który przygotowali prawdziwi ratownicy! I proszę dajcie szansę „Ratownikom z TVP”</p>
<p><center><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/kXm5xwlw7hM?fs=1&amp;hl=pl_PL" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/kXm5xwlw7hM?fs=1&amp;hl=pl_PL" allowscriptaccess="always" allowfullscreen="true"></embed></object></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/10/14/serial-%e2%80%9eratownicy%e2%80%9d-%e2%80%93-kicz-czy-epos-o-ratownikach-topr-%e2%80%93-opinie-recenzja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spływ kajakowy po rzece Drwęca &#8211; co ze sobą zabrać? &#8211; co można zobaczyć?</title>
		<link>http://www.levik.pl/index.php/2010/08/26/splyw-kajakowy-po-rzece-drweca-co-ze-soba-zabrac-co-mozna-zobaczyc/</link>
		<comments>http://www.levik.pl/index.php/2010/08/26/splyw-kajakowy-po-rzece-drweca-co-ze-soba-zabrac-co-mozna-zobaczyc/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 16:12:54 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Podróże]]></category>
		<category><![CDATA[kajaki]]></category>
		<category><![CDATA[spływ kajakowy]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=364</guid>
		<description><![CDATA[Hej, dzisiaj chciałbym opowiedzieć Wam o spływie kajakowym który odbył się w lipcu 2010 roku na rzece Drwęcy. Nie będę zagłębiał się w opis samej rzeki, przecież od czego jest Wikipedia. Skupię się natomista na rzeczach, które trudno usłyszeć z ust osoby wypożyczającej nam kajaki, czy też nie łatwo dostrzec je w przewodniku. Zacznijmy od [...]]]></description>
			<content:encoded><![CDATA[<p>Hej,</p>
<p>dzisiaj chciałbym opowiedzieć Wam o spływie kajakowym który odbył się w lipcu 2010 roku na rzece <a href="http://pl.wikipedia.org/wiki/Drw%C4%99ca" target="_blank"><strong>Drwęcy</strong></a>. Nie będę zagłębiał się w opis samej rzeki, przecież od czego jest <strong><a href="http://pl.wikipedia.org/wiki/Drw%C4%99ca" target="_blank">Wikipedia</a></strong>. Skupię się natomista na rzeczach, które trudno usłyszeć z ust osoby wypożyczającej nam kajaki, czy też nie łatwo dostrzec je w przewodniku.</p>
<p>Zacznijmy od tego, że spływ organizowany był dość spontanicznie, przez ludzi o niewielkim doświadczeniu. W doborze trasy korzystaliśmy z przewodnika Pascala. <img class="alignleft" style="border: 8px solid black;" src="http://www.levik.pl/pliki/foto/pk012.jpg" alt="" width="123" height="186" /> Zajął się tym jeden z uczestników, który nigdy nie siedział w kajaku. Mimo tego doskonale wywiązał się ze swojego zadania. Grupa liczyła 21 osób, czyli 11 kajaków dwuosobowych. Kajaki udostępniła nam wypożyczalnia <a href="http://www.kajakidrweca.pl/" target="_blank"><strong>Libra</strong></a> za 20 PLN na dzień za sztukę. Cena bardzo przystępna. Były to 2 kajaki polietylenowe i 9 kajaków z laminatu. Do tego kamizeli i siedziska. Wiosła do wyboru drewniane lub aluminiowe skrętne. W skali od 1-5 sprzęt ocenił bym na 4.</p>
<p>Spływ rozpoczęliśmy w Nowym Mieście Lubawskim, a zakończyliśmy w Toruniu. Według przewodnika przepłynęliśmy 142,5 km. Spływ miał trwać 10 dni my mieliśmy 6. Trasa była tak dobrana, aby mniej więcej co 2 dni (czasami udało się cześciej) można było uzupełnić zapasy żywności. Nocowaliśmy na polach, bynajmniej nie namiotowych. Dokładnie na polanach, często pastwiskach. Raz zdarzyło nam się zapłacić po 5 zł od osoby za możliwość rozbicia się u gospodarza za domem. Miejsca których na pewno nie wolno opuścić to Golub-Dobrzyń, Brodnica i oczywiście Toruń. Dla miłośników historii to nie lada gratka, a dla innych to szansa na to aby rozprostować kości. My w pośpiechu przepłynęliśmy przez Brodnicę czego później bardzo żałowaliśmy. Warto też zboczyć odrobinę z trasy i zahaczyć o jeziora, które urozmaicają naszą podróż. Można tam zażyć kąpieli, poskakać z pomostu, wdrapać się na tamę.</p>
<p><img class="aligncenter" title="zachód słowńca na drwęcy" src="http://www.levik.pl/pliki/foto/DSCF6646.jpg" alt="" width="600" height="450" /></p>
<p>Rzeka przynosi sporo frajdy co nie jest żadną nowością. Niestety Drwęca jest dość monotonna. Nadaje się idealnie dla kogoś kto rozpoczyna przygodę z kajakiem i chce nauczyć się sterować. Oczywiście należy zachować wszelkie środki ostrożności. Są miejsca gdzie należy z dużą rozwagą podchodzić do przeszkód, aczkolwiek jest ich bardzo niewiele. W naszej grupie zdarzyła się jedna wywrotka i to właśnie przez nieuwagę i brak doświadczenia. Widoki były przepiękne, woda w zasadzie czysta, niestety nie jest to czystość pierwszej klasy. W przewodniku jest napisane, że jest to rezerwat przyrody na całej długości. Niestety nie widać tego, wokoło kręci się sporo śmieci. Na szczęście przegrywają z przytłaczającym je pięknem rzeki.  Do tego muchy końskie i komary. Nie da się tego pominąć. Oczywiści nie jest to nic groźnego o ile ktoś pamiętał o środku odstraszającym te stworzenia. Należy pamiętać również o obuwiu ochronnym, buty neoprenowe za ok. 25 PLN wystarczą i uchronią przed przykrymi skaleczeniami, które w warunkach spływu goją się przerażająco długo. Na naszej trasie musieliśmy dwa razy przenosić kajaki, raz 100m, a drugi około 50, nie sprawia to wielkiego problemu. Najcięższy odcinek jaki nas czeka to moment wpłynięcia na Wisłę. Jednakże nie ma co się przejmować na zapas, to i tak będzie świetna zabawa przysparzająca dużo wrażeń.</p>
<p>Oto lista rzeczy niezbędnych do tego, aby spływ minął w miłej atmosferze:</p>
<ul>
<li><strong>worek wodoszczelny</strong></li>
<li> Latarka ( ja polecam czołówkę )</li>
<li> spodnie długie</li>
<li> spodnie krótkie</li>
<li><strong>buty neoprenowe</strong></li>
<li> sandały (polecam Keen wodoodporne)</li>
<li> pełne buty</li>
<li> polar</li>
<li> kurtka przeciwdeszczowa</li>
<li> bielizna termoaktywna</li>
<li> karimata</li>
<li> okulary przeciwsłoneczne</li>
<li> chusta</li>
<li> kompas lub GPS (dla bezpieczeństwa nawigacji)</li>
<li> nóż</li>
<li> siekiera</li>
<li> namiot</li>
<li><strong>rękawiczki</strong></li>
<li> ręcznik</li>
<li> sztućce</li>
<li> kubek</li>
<li> manierka</li>
<li><strong>sznurek</strong></li>
<li><strong>apteczka</strong></li>
<li><strong>olejek do opalania</strong></li>
<li><strong> środek odstraszający komary</strong></li>
</ul>
<p style="text-align: center;">Według mnie to wyposażenie zapewni Wam komfort i bezpieczeństwo, oczywiści zachęcam do eksperymentowania z ekwipunkiem i dzielenia się uwagami w komentarzach.</p>
<p><img class="aligncenter" title="Levik" src="http://www.levik.pl/pliki/foto/DSCF6699.jpg" alt="" width="360" height="270" /></p>
<p style="text-align: center; padding-left: 30px;">
<p style="text-align: center;"><strong>Pozdrawiam Piotr!</strong></p>
<p style="padding-left: 90px;">
<p style="padding-left: 90px;"><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/08/26/splyw-kajakowy-po-rzece-drweca-co-ze-soba-zabrac-co-mozna-zobaczyc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Binary search &#8211; wyszukiwanie binarne &#8211; język java</title>
		<link>http://www.levik.pl/index.php/2010/06/30/binary-search-wyszukiwanie-binarne-jezyk-java/</link>
		<comments>http://www.levik.pl/index.php/2010/06/30/binary-search-wyszukiwanie-binarne-jezyk-java/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 09:59:01 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[algorytmy]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[Struktury danych]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=357</guid>
		<description><![CDATA[Ja na pierwszym roku studiów musiałem chyba około 3 razy napisać wyszukiwanie binarne na różnego rodzaju laboratoriach poczynając od podstawach programowania, a kończąc na Algorytmach i strukturach danych. Także myślę, że ktoś może z tego przykładu skorzystać. Dodam tylko, że wyszukiwanie binarne można rozwiązać w sposób rekurencyjny. Dość naturalny do wyobrażenia w tym przypadku. Kod [...]]]></description>
			<content:encoded><![CDATA[<p>Ja na pierwszym roku studiów musiałem chyba około 3 razy napisać wyszukiwanie binarne na różnego rodzaju laboratoriach poczynając od podstawach programowania, a kończąc na Algorytmach i strukturach danych. Także myślę, że ktoś może z tego przykładu skorzystać. Dodam tylko, że wyszukiwanie binarne można rozwiązać w sposób rekurencyjny. Dość naturalny do wyobrażenia w tym przypadku. Kod poniżej prezentuje właśnie to podejście.</p>
<p>Co do samego algorytmu jak zawsze nie będę się przemęczał (nie dlatego, że mi się nie chce, ale inni opisali go już setki razy)</p>
<p><center><a href="http://pl.wikipedia.org/wiki/Wyszukiwanie_binarne"><strong>Wyszukiwanie binarne</strong></a></center></p>
<p><center><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/wNVCJj642n4&#038;hl=pl_PL&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wNVCJj642n4&#038;hl=pl_PL&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></center><br />
</br></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> BinarySearch <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> tab<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">5</span>,<span style="color: #cc66cc;">12</span>,<span style="color: #cc66cc;">20</span>,<span style="color: #cc66cc;">28</span>,<span style="color: #cc66cc;">34</span>,<span style="color: #cc66cc;">38</span>,<span style="color: #cc66cc;">41</span>,<span style="color: #cc66cc;">55</span>,<span style="color: #cc66cc;">67</span>,<span style="color: #cc66cc;">71</span>,<span style="color: #cc66cc;">78</span>,<span style="color: #cc66cc;">81</span>,<span style="color: #cc66cc;">85</span>,<span style="color: #cc66cc;">94</span>,<span style="color: #cc66cc;">99</span>,<span style="color: #cc66cc;">102</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//funkcja zwraca indeks elementu, jeśli go nie ma zwróci -1</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">int</span> binSearch<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> find,<span style="color: #000066; font-weight: bold;">int</span> left,<span style="color: #000066; font-weight: bold;">int</span> right<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #666666; font-style: italic;">//System.out.println(&quot;Szukam &quot;+find+&quot; lewy: &quot;+left+&quot; a prawy: &quot;+right);</span>
		<span style="color: #000066; font-weight: bold;">int</span> index<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>left<span style="color: #339933;">+</span>right<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span><span style="color: #339933;">==</span>find<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">return</span> index<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>left<span style="color: #339933;">&gt;</span>right<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">//System.out.println(&quot;Nie ma takiej liczby!&quot;);</span>
				<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>index<span style="color: #009900;">&#93;</span><span style="color: #339933;">&lt;</span>find<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
					<span style="color: #000000; font-weight: bold;">return</span> binSearch<span style="color: #009900;">&#40;</span>find,index<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span>,right<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
&nbsp;
					<span style="color: #000000; font-weight: bold;">return</span> binSearch<span style="color: #009900;">&#40;</span>find,left,index<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>binSearch<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">67</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">16</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><strong>Pozdrawiam Piotr!!!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/06/30/binary-search-wyszukiwanie-binarne-jezyk-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortowanie przez kopcowanie &#8211; Kopiec zupełny &#8211; HeapSort &#8211; Java</title>
		<link>http://www.levik.pl/index.php/2010/06/28/sortowanie-przez-kopcowanie-kopiec-zupelny-heapsort-java/</link>
		<comments>http://www.levik.pl/index.php/2010/06/28/sortowanie-przez-kopcowanie-kopiec-zupelny-heapsort-java/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 15:00:41 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[algorytmy]]></category>
		<category><![CDATA[Struktury danych]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=347</guid>
		<description><![CDATA[Hej, dzisiaj zaliczyłem ostatni przedmiot, kurs. Także sesja GAME OVER czytaj. &#8222;Mission Accomplished&#8221;. Tekst rodem z RED ALERT. Zapewne wrzucę jeszcze kilka swoich kodów na stronkę. Dzisiaj sortowanie przez kopcowanie zaimplementowane obiektowo. Struktura kopca zupełnego znajduje się w pliku heap.java, a jego przykładowe zastosowanie (tutaj sortowanie) w pliku test.java. Oto kod: 1 2 3 4 [...]]]></description>
			<content:encoded><![CDATA[<p>Hej, dzisiaj zaliczyłem ostatni przedmiot, kurs. Także sesja GAME OVER czytaj. &#8222;Mission Accomplished&#8221;. Tekst rodem z RED ALERT.<br />
<center><img src="http://www.levik.pl/pliki/foto/mission-accomplished.jpg" alt="sesja zaliczona" /></center></p>
<p>Zapewne wrzucę jeszcze kilka swoich kodów na stronkę. Dzisiaj sortowanie przez kopcowanie zaimplementowane obiektowo. <strong><a href="http://pl.wikipedia.org/wiki/Kopiec_%28informatyka%29">Struktura kopca zupełnego</a></strong> znajduje się w pliku heap.java, a jego przykładowe zastosowanie (tutaj sortowanie) w pliku test.java.</p>
<p>Oto kod:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">//********************************</span>
<span style="color: #666666; font-style: italic;">//wierzchołek   1</span>
<span style="color: #666666; font-style: italic;">//lewy potomek  2*i</span>
<span style="color: #666666; font-style: italic;">//prawy potomek 2*i+1</span>
<span style="color: #666666; font-style: italic;">//********************************</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Heap <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> tab<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> size <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Heap<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> size<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		tab <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span>size<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> insert<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> val<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		tab<span style="color: #009900;">&#91;</span><span style="color: #339933;">++</span>size<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>val<span style="color: #339933;">;</span>
		up<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> up<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">int</span> temp<span style="color: #339933;">=</span>tab<span style="color: #009900;">&#91;</span>size<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> n<span style="color: #339933;">=</span>size<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span>n<span style="color: #339933;">!=</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>n<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&lt;=</span>temp<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			tab<span style="color: #009900;">&#91;</span>n<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> tab<span style="color: #009900;">&#91;</span>n<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			n<span style="color: #339933;">=</span>n<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		tab<span style="color: #009900;">&#91;</span>n<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>temp<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">int</span> getFirst<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">int</span> temp<span style="color: #339933;">=</span>tab<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		tab<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>tab<span style="color: #009900;">&#91;</span>size<span style="color: #339933;">--</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		down<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">return</span> temp<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> down<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">int</span> pos<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>i<span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>pos<span style="color: #339933;">&gt;</span>size<span style="color: #009900;">&#41;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>pos<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">&lt;=</span>size<span style="color: #009900;">&#41;</span>
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>pos<span style="color: #009900;">&#93;</span><span style="color: #339933;">&lt;</span>tab<span style="color: #009900;">&#91;</span>pos<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
					pos<span style="color: #339933;">++;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;=</span>tab<span style="color: #009900;">&#91;</span>pos<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000066; font-weight: bold;">int</span> temp <span style="color: #339933;">=</span> tab<span style="color: #009900;">&#91;</span>pos<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			tab<span style="color: #009900;">&#91;</span>pos<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>tab<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
			tab<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>temp<span style="color: #339933;">;</span>
&nbsp;
			i<span style="color: #339933;">=</span>pos<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>&#8230;a teraz kod przykładu&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Test <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">int</span> tab<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #cc66cc;">32</span>,<span style="color: #cc66cc;">43</span>,<span style="color: #cc66cc;">2</span>,<span style="color: #cc66cc;">46</span>,<span style="color: #cc66cc;">23</span>,<span style="color: #cc66cc;">1</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #339933;">-</span><span style="color: #cc66cc;">34</span>,<span style="color: #cc66cc;">54</span>,<span style="color: #cc66cc;">230</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
		Heap heap <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Heap<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>tab.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
			heap.<span style="color: #006633;">insert</span><span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span>tab.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span>
			tab<span style="color: #009900;">&#91;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>heap.<span style="color: #006633;">getFirst</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Tablica posortowana&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>tab.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>tab<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/06/28/sortowanie-przez-kopcowanie-kopiec-zupelny-heapsort-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bear Grylls &#8211; Man vs Wild &#8211; mapa i spis odcinków</title>
		<link>http://www.levik.pl/index.php/2010/06/09/bear-grylls-man-vs-wild-mapa-i-spis-odcinkow/</link>
		<comments>http://www.levik.pl/index.php/2010/06/09/bear-grylls-man-vs-wild-mapa-i-spis-odcinkow/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 16:14:00 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[Survival]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=317</guid>
		<description><![CDATA[Cześć! Dzisiaj znalazłem chwilę wolnego czasu i postanowiłem opublikować coś nad czym sporo myślałem, nareszcie udało mi się zrealizować pomysł. Mianowicie od kilku lat oglądam program Bear’a Grylls’a (Ultimata Survival, Man vs Wild). Niesamowity człowiek, bardzo ciekawy, szalenie optymistyczny wręcz idealnie pasuje do tego programu. Były komandos S.A.S, kilkukrotny zdobywca Mount Everest. To mówi samo [...]]]></description>
			<content:encoded><![CDATA[<p>Cześć!</p>
<p>Dzisiaj znalazłem chwilę wolnego czasu i postanowiłem opublikować coś nad czym sporo myślałem, nareszcie udało mi się zrealizować pomysł. Mianowicie od kilku lat oglądam program Bear’a Grylls’a (Ultimata Survival, Man vs Wild). Niesamowity człowiek, bardzo <a href="http://www.levik.pl/wp-content/uploads/2010/06/man_vs_wildshow.jpg"><img class="alignright size-full wp-image-318" title="man_vs_wildshow" src="http://www.levik.pl/wp-content/uploads/2010/06/man_vs_wildshow.jpg" alt="" width="310" height="250" /></a>ciekawy, szalenie optymistyczny wręcz idealnie pasuje do tego programu. Były komandos S.A.S, kilkukrotny zdobywca Mount Everest. To mówi samo za siebie. Wielu ludzi zarzuca mu, że zawsze podąża za nim ekipa i tak naprawdę to żaden survival. Ja jednak sądzę inaczej. Obecność ekipy zupełnie mi nie przeszkadza, a program ogląda się świetnie. Dotychczas powstało 6 sezonów i 7 jest w drodze tak, więc postanowiłem spisać wszystkie miejsca w których był Bear Grylls, a skoro spisać do dlaczego nie nanieść tego na mapę. Wykorzystałem do tego API Google maps i myślę, że wyszło całkiem nieźle. Tak, więc jeśli jesteś maniakiem Discovery i serii programów Bear’a Grylls’a to jest coś dla Ciebie. Jeśli zechcesz skompletować wszystkie odcinki Man vs Wild lista również Ci się  przyda.<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script><script type="text/javascript">   
   var mapa;
   var dymek = new google.maps.InfoWindow(); // zmienna globalna
   function dodajMarker(lat,lng,txt,color){ 
    var tab = new Array('pusty dla zgodnosci numeracji',
         'http://labs.google.com/ridefinder/images/mm_20_purple.png',
         'http://labs.google.com/ridefinder/images/mm_20_green.png', 
         'http://labs.google.com/ridefinder/images/mm_20_red.png',  
         'http://labs.google.com/ridefinder/images/mm_20_blue.png', 
         'http://labs.google.com/ridefinder/images/mm_20_orange.png',  
         'http://labs.google.com/ridefinder/images/mm_20_white.png',  
         'http://labs.google.com/ridefinder/images/mm_20_black.png'); 
    // tworzymy marker
    var opcjeMarkera = {  
     position: new google.maps.LatLng(lat,lng),  
     map: mapa,
     icon: tab[color]
    }   
    var marker = new google.maps.Marker(opcjeMarkera);
    marker.txt=txt;  
    google.maps.event.addListener(marker,"click",function()
    {
     dymek.setContent(marker.txt);
     dymek.open(mapa,marker);    
    });
    return marker;
   } 
   function mapaStart()   
   {   
    var wspolrzedne = new google.maps.LatLng(22.40,13.50);
    var opcjeMapy = {
      zoom: 1,
      center: wspolrzedne,
      mapTypeId: google.maps.MapTypeId.HYBRID
    };
    mapa = new google.maps.Map(document.getElementById("mapka"), opcjeMapy);
    //SEZON1 ////////////////////////////////////////////////////////////////////////////////////////////
    var s01e01 = dodajMarker(42.25,-115.05,'Season 1<br/>Episode 1<br/><strong>The Rockies</strong>',1);
    var s01e02 = dodajMarker(38.4193,-109.5816,'Season 1<br/>Episode 2<br/><strong>Moab Desert, Utah</strong> ',1);
    var s01e03 = dodajMarker(8.5,-83.5,'Season 1<br/>Episode 3<br/><strong>Costa Rican Rain Forest</strong>',1);
    var s01e04 = dodajMarker(68.11,-149.30,'Season 1<br/>Episode 4<br/><strong>Alaskan Mountain Range</strong>',1);
    var s01e05 = dodajMarker(19.34,-155.17,'Season 1<br/>Episode 5<br/><strong>Hawaii – Mount Kilauea</strong>',1);
    var s01e06 = dodajMarker(36.35,-118.17,'Season 1<br/>Episode 6<br/><strong>Sierra Nevada</strong>',1);
    var s01e07 = dodajMarker(-0.5,35.44,'Season 1<br/>Episode 7<br/><strong>African Savanna – Kenya</strong>',1);
    var s01e08 = dodajMarker(46.32,8.0,'Season 1<br/>Episode 8<br/><strong>European Alps</strong>',1);
    var s01e09 = dodajMarker(-0.6,106.12,'Season 1<br/>Episode 9<br/><strong>Desert Island (Sumatra)</strong>',1);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    //SEZON2 ////////////////////////////////////////////////////////////////////////////////////////////
    var s02e01 = dodajMarker(25.25,-81,'Season 2<br/>Episode 1<br/><strong> Everglades  </strong>',2);
    var s02e02 = dodajMarker(64.55,-19.0,'Season 2<br/>Episode 2<br/><strong> Iceland  </strong>',2);
    var s02e03 = dodajMarker(29.30,-110.30,'Season 2<br/>Episode 3<br/><strong> Mexico - Copper Canyon </strong>',2);
    var s02e04 = dodajMarker(-16,126,'Season 2<br/>Episode 4<br/><strong> Kimberly, Australia </strong>',2);
    var s02e05 = dodajMarker(-1.30,-78.22,'Season 2<br/>Episode 5<br/><strong> Ecuador </strong>',2);
    var s02e06 = dodajMarker(56.44,-4.10,'Season 2<br/>Episode 6<br/><strong> Scotland  </strong>',2);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    //SEZON3 ////////////////////////////////////////////////////////////////////////////////////////////
    var s03e01 = dodajMarker(24.25,10.50,'Season 3<br/>Episode 1,2<br/><strong> Sahara  </strong>',3);
    var s03e03 = dodajMarker(8.4,-78,'Season 3<br/>Episode 3,4<br/><strong> Panama  </strong>',3);
    var s03e05 = dodajMarker(-33.51,-69.16,'Season 3<br/>Episode 5<br/><strong> Andes Adventure  </strong>',3);
    var s03e06 = dodajMarker(-51.22,-71,'Season 3<br/>Episode 6<br/><strong> Patagonia  </strong>',3);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    //SEZON4 ////////////////////////////////////////////////////////////////////////////////////////////
    var s04e01 = dodajMarker(-14.45,25.25,'Season 4<br/>Episode 1<br/><strong> Zambia </strong>',4);
    var s04e02 = dodajMarker(-22.17,17.3,'Season 4<br/>Episode 2<br/><strong> Namibia </strong>',4);
    var s04e03 = dodajMarker(0.15,101.15,'Season 4<br/>Episode 3,4<br/><strong> Sumatra Ring of fire </strong>',4);
    var s04e05 = dodajMarker(66.5,101.1,'Season 4<br/>Episode 5,6<br/><strong> Siberia </strong>',4);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    //SEZON5 ////////////////////////////////////////////////////////////////////////////////////////////
    var s05e01 = dodajMarker(31.56,-114.19,'Season 5<br/>Episode 1<br/><strong> Mexico Baja Desert </strong>',5);
    var s05e03 = dodajMarker(53.30,-8.8,'Season 5<br/>Episode 3<br/><strong> Ireland </strong>',5);
    var s05e04 = dodajMarker(43,-90,'Season 5<br/>Episode 4<br/><strong> South Dakota </strong>',5);
    var s05e06 = dodajMarker(17.15,-88.40,'Season 5<br/>Episode 6<br/><strong> Belize </strong>',5);
    var s05e07 = dodajMarker(64.18,-135.27,'Season 5<br/>Episode 7<br/><strong> Yukon </strong>',5);
    var s05e08 = dodajMarker(43.58,-120.47,'Season 5<br/>Episode 8<br/><strong> Oregon </strong>',5);
    var s05e09 = dodajMarker(18.53,-70.31,'Season 5<br/>Episode 9<br/><strong> Dominican Republic </strong>',5);
    var s05e10 = dodajMarker(39.12,34.23,'Season 5<br/>Episode 10<br/><strong> Turkey </strong>',5);
    var s05e11 = dodajMarker(45.56,25.56,'Season 5<br/>Episode 11<br/><strong> Romania </strong>',5);
    var s05e13 = dodajMarker(60.30,14.49,'Season 5<br/>Episode 13<br/><strong> Sweden </strong>',5);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    //SEZON6 ////////////////////////////////////////////////////////////////////////////////////////////
    var s06e01 = dodajMarker(-71,-65,'Season 6<br/>Episode 1<br/><strong> Arctic Circle </strong>',6);
    var s06e02 = dodajMarker(32.32,-86.46,'Season 6<br/>Episode 2<br/><strong> Alabama </strong>',6);
    var s06e03 = dodajMarker(0,0,'Season 6<br/>Episode 3<br/><strong> Vietnam </strong>',6);
    var s06e04 = dodajMarker(32,-99.27,'Season 6<br/>Episode 4<br/><strong> Texas </strong>',6);
    var s06e05 = dodajMarker(63.35,-154.35,'Season 6<br/>Episode 5<br/><strong> Alaska </strong>',6);
    var s06e08 = dodajMarker(-8.5,-140.4,'Season 6<br/>Episode 8<br/><strong> Pacific Island </strong>',6);
    var s06e09 = dodajMarker(27.49,104.40,'Season 6<br/>Episode 9<br/><strong> China </strong>',6);
    var s06e10 = dodajMarker(45.55,-114.45,'Season 6<br/>Episode 10<br/><strong> Montana </strong>',6);
    var s06e11 = dodajMarker(15.45,-90.9,'Season 6<br/>Episode 11<br/><strong> Guatemala </strong>',6);
    var s06e12 = dodajMarker(54.5,18.55,'Season 6<br/>Episode 12<br/><strong> Urban Survival Gdynia </strong>',6);
    var s06e14 = dodajMarker(32.55,2.47,'Season 6<br/>Episode 14<br/><strong> North Africa </strong>',6);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    //SEZON7 ////////////////////////////////////////////////////////////////////////////////////////////
    //var s07e01 = dodajMarker(0,0,'Season 7<br/>Episode 1<br/><strong>  </strong>',7);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    google.maps.event.trigger(marker,'click');
   }   
   </script><br />
<center></p>
<div id="mapka" style="border: 1px solid black; background: black none repeat scroll 0% 0%; width: 600px; height: 440px;">
<script type="text/javascript">mapaStart();</script>
</div>
<p></center><br />
<center></p>
<table>
<tr>
<td>
<img src="http://labs.google.com/ridefinder/images/mm_20_purple.png" alt="" /> Season 1      <img src="http://labs.google.com/ridefinder/images/mm_20_green.png" alt="" /> Season 2      <img src="http://labs.google.com/ridefinder/images/mm_20_red.png" alt="" /> Season 3      <img src="http://labs.google.com/ridefinder/images/mm_20_blue.png" alt="" /> Season 4      <img src="http://labs.google.com/ridefinder/images/mm_20_orange.png" alt="" /> Season 5      <img src="http://labs.google.com/ridefinder/images/mm_20_white.png" alt="" /> Season 6<br />
</tr>
</td>
</table>
<p></center></p>
<table cellpadding="10">
<tr>
<td>
<strong>..:: Season 1 ::.. </strong></p>
<p>Episode 1 – The Rockies<br />
Episode 2 – Moab Desert, Utah<br />
Episode 3 – Costa Rican Rain Forest<br />
Episode 4 – Alaskan Mountain Range<br />
Episode 5 – Hawaii – Mount Kilauea<br />
Episode 6 – Sierra Nevada<br />
Episode 7 – African Savanna – Kenya<br />
Episode 8 – European Alps<br />
Episode 9 – Desert Island
</td>
<td>
<strong> ..:: Season 2 ::.. </strong></p>
<p>Episode 1 – Everglades<br />
Episode 2 – Iceland<br />
Episode 3 – Mexico<br />
Episode 4 – Kimberly, Australia<br />
Episode 5 – Ecuador<br />
Episode 6 – Scotland
</td>
</tr>
<tr>
<td>
<strong>..:: Season 3 ::.. </strong></p>
<p>Episode 1 – Sahara<br />
Episode 2 – Desert Survivor<br />
Episode 3 – Panama<br />
Episode 4 – Jungle<br />
Episode 5 – Andes Adventure<br />
Episode 6 – Patagonia<br />
Episode 7 – Bear Eats
</td>
<td>
<strong>..:: Season 4 ::.. </strong></p>
<p>Episode 1 – Zambia<br />
Episode 2 – Namibia<br />
Episode 3 – Jungle Swamp<br />
Episode 4 – Castaway<br />
Episode 5 – Siberia<br />
Episode 6 – Land of Ice
</td>
</tr>
<tr>
<td>
<strong>..:: Season 5 ::.. </strong></p>
<p>Episode 1 – Baja Desert<br />
Episode 2 – The Deep South<br />
Episode 3 – Ireland<br />
Episode 4 – South Dakota<br />
Episode 5 – Bear&#8217;s Essentials<br />
Episode 6 – Belize<br />
Episode 7 – Yukon<br />
Episode 8 – Oregon<br />
Episode 9 – Dominican Republic<br />
Episode 10 – Turkey<br />
Episode 11 – Romania<br />
Episode 12 – Bear&#8217;s Ultimate Survival Guide One<br />
Episode 13 – Sweden
</td>
<td>
<strong>..:: Season 6 ::.. </strong></p>
<p>Episode 1 – Arctic Circle<br />
Episode 2 – Alabama<br />
Episode 3 – Vietnam<br />
Episode 4 – Texas<br />
Episode 5 – Alaska<br />
Episode 6 – Bear&#8217;s Ultimate Survival Guide Two<br />
Episode 7 – The Inside Story<br />
Episode 8 – Pacific Island<br />
Episode 9 – China<br />
Episode 10 – Big Sky Country<br />
Episode 11 – Guatemala<br />
Episode 12 – Urban Survivor<br />
Episode 13 – Shooting Survival<br />
Episode 14 – North Africa
</td>
</tr>
</table>
<p><br/><br />
<strong>Pozdrawiam Piotrek</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/06/09/bear-grylls-man-vs-wild-mapa-i-spis-odcinkow/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Ludzie listy piszą &#8211; FaceBook</title>
		<link>http://www.levik.pl/index.php/2010/05/31/ludzie-listy-pisza-facebook/</link>
		<comments>http://www.levik.pl/index.php/2010/05/31/ludzie-listy-pisza-facebook/#comments</comments>
		<pubDate>Mon, 31 May 2010 11:13:22 +0000</pubDate>
		<dc:creator>Levik</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[piotr lewicki]]></category>

		<guid isPermaLink="false">http://www.levik.pl/?p=315</guid>
		<description><![CDATA[Tak czasami bywa, że człowiekowi odechciewa się wszystkiego, miotają nim bezsensowne emocje. Raz jest spokojny za chwilę chciałby cały swój świat przewrócić do góry nogami. Nawet, ulubiony przysmak to czasami za mało, żeby chociaż na chwilę poprawić sobie humor. Piszę, żeby odrobinę się uspokoić, wyciszyć i skupić myśli. Jak widzicie po prawej stronie na samym [...]]]></description>
			<content:encoded><![CDATA[<p>Tak czasami bywa, że człowiekowi odechciewa się wszystkiego, miotają nim bezsensowne emocje. Raz jest spokojny za chwilę chciałby cały swój świat przewrócić do góry nogami. Nawet, ulubiony przysmak to czasami za mało, żeby chociaż na chwilę poprawić sobie humor. Piszę, żeby odrobinę się uspokoić, wyciszyć i skupić myśli.</p>
<p>Jak widzicie po prawej stronie na samym dole widnieje moja wizytówka z Facebook’a. Nigdy nie pałałem sympatią to serwisów społecznościowych. Naczytałem się książek o socjotechnice. Poznałem kilka niezłych historii o wykorzystaniu danych osobowych i to z powodzeniem mnie zniechęciło.  Konto na NK (nasza-klasa.pl) założyłem sobie chyba 2 lata po starcie serwisu, czyli jak wszystkim już się zabawa znudziła. Jakiś miesiąc temu zagościłem na facebook’u. Nie będę opowiadał o serwisie bo miejsca zabraknie, a właściwie po co. Fakt jest taki, że poniekąd przekonałem się do serwisów społecznościowych. Nie dlatego, że wprowadziły odpowiednią politykę bezpieczeństwa, ale kto u licha chciałby ukraść moje zdjęcia, albo wykorzystać dane osobowe. Odpowiedź jest prosta każdy kto ma złe intencje. Może brzmi to odrobinę niedorzecznie, ale cały czas wydaje mi się, że zamieszczanie tych wszystkich informacji na swój temat w sieci jest głupie. Jednak w ogólnym rozrachunku zysków i strat. To naprawdę niezła zabawa. Ryzyko absurdalnie duże, ale kto nie ryzykuje ten… w Rawiczu nie siedzi.</p>
<p>Ostatnio zaprosiła mnie do znajomych dziewczyna z Urugwaju, Andrea bo tak ma na imię, studiuje socjologię. Napisałem do niej krótką wiadomość, odpisała i tak wymieniliśmy się odrobiną informacji. Zawsze chciałem z kimś pisać listy zwłaszcza w obcym języku. Wprawdzie Andrea chyba nie ma ochoty na pisanie listów, ale może znajdę kogoś to chciałby powymieniać się ciekawymi spostrzeżeniami. Zobaczymy największy problem jest taki, że listy są teraz passé. Oczywiście cały czas mowa o listach elektronicznych.</p>
<p>Dobrze myślę, że osiągnąłem zamierzony przez siebie cel i nie zanudziłem was na śmierć. Lecę zrobić coś konstruktywnego.</p>
<p><strong>Pozdrawiam…</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.levik.pl/index.php/2010/05/31/ludzie-listy-pisza-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

