<?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>instrukcje warunkowe - Kama Kaczmarek</title>
	<atom:link href="https://kamakaczmarek.net/tag/instrukcje-warunkowe/feed/" rel="self" type="application/rss+xml" />
	<link>https://kamakaczmarek.net/tag/instrukcje-warunkowe/</link>
	<description>Strona z materiałami dla uczniów i nauczycieli</description>
	<lastBuildDate>Thu, 20 Oct 2022 07:01:31 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>11. JAVA &#8211; instrukcje sterujące, pętle i funkcje(metody)</title>
		<link>https://kamakaczmarek.net/11-java-instrukcje-sterujace-petle-i-funkcjemetody/</link>
		
		<dc:creator><![CDATA[Kama]]></dc:creator>
		<pubDate>Sat, 22 May 2021 20:20:42 +0000</pubDate>
				<category><![CDATA[JAVA]]></category>
		<category><![CDATA[instrukcje sterujące]]></category>
		<category><![CDATA[instrukcje warunkowe]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[metody]]></category>
		<category><![CDATA[pętle]]></category>
		<guid isPermaLink="false">https://kamakaczmarek.net/?p=2581</guid>

					<description><![CDATA[<p>Instrukcje warunkowe if…, else…, elseif… Najprościej rzecz ujmując instrukcje warunkowe tj. if…, else…, ? oraz switch… pozwalają, w trakcie pisania programu, na rozważanie wielu możliwości odpowiadając na pytania co jeżeli? Podam wam teraz prosty przykład: Jeżeli liczba jest większa od zera, to wypisz że jest dodatnia zapis tego stwierdzenia za pomocą instrukcji if będzie wyglądał [&#8230;]</p>
<p>Artykuł <a href="https://kamakaczmarek.net/11-java-instrukcje-sterujace-petle-i-funkcjemetody/">11. JAVA &#8211; instrukcje sterujące, pętle i funkcje(metody)</a> pochodzi z serwisu <a href="https://kamakaczmarek.net">Kama Kaczmarek</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1>Instrukcje warunkowe</h1>
<h2>if…, else…, elseif…</h2>
<p>Najprościej rzecz ujmując <strong>instrukcje warunkowe</strong> tj. if…, else…, ? oraz switch… pozwalają, w trakcie pisania programu, na rozważanie wielu możliwości odpowiadając na pytania <strong>co jeżeli</strong>?</p>
<p>Podam wam teraz prosty przykład:</p>
<p><em>Jeżeli liczba jest większa od zera, to wypisz że jest dodatnia</em></p>
<p>zapis tego stwierdzenia za pomocą instrukcji <strong>if</strong> będzie wyglądał następująco:</p>
<pre class="prettyprint"><span style="font-size: 12pt;"><span class="kwd">int liczba = 9;<br />if</span><span class="pun">(</span><span class="pln">liczba</span><span class="pun">&gt;</span><span class="lit">0</span><span class="pun">)</span> System.out.println("Liczba jest dodatnia");</span></pre>
<p>Jeżeli potrzebujemy rozwinąć naszą myśl o zapytanie „a co gdy warunek nie jest spełniony?” – używamy <strong>else.</strong></p>
<p><em>Jeżeli liczba jest większa od zera, to wypisz że jest dodatnia</em> – <em>w przeciwnym wypadku napisz, że nie jest dodatnia</em></p>
<pre class="prettyprint"><span class="kwd" style="font-size: 12pt;">int liczba = 9;<br />if<span class="pun">(</span><span class="pln">liczba</span><span class="pun">&gt;</span><span class="lit">0</span><span class="pun">)</span> System.out.println("Liczba jest dodatnia");<br />else System.out.println("Liczba nie jest dodatnia");</span></pre>
<p>Oczywiście instrukcje możemy zagnieżdżać jedna w drugiej.</p>
<p>Może zajść sytuacja, że przed użyciem <strong>else </strong>chcemy sprawdzić jeszcze jakieś inne warunki, wtedy przychodzi nam z pomocą instrukcja <strong>else if.</strong></p>
<pre class="prettyprint"><span style="font-size: 12pt;"><span class="kwd">if(liczba&gt;0) System.out.println("Liczba jest dodatnia");<br />else if(liczba==0) System.out.println("Liczba jest zerem");<br />else System.out.println("Liczba nie jest dodatnia");</span><span class="pun"><span class="kwd"><br /></span></span></span></pre>
<p><span style="font-size: 12pt;">Jeżeli potrzebujemy wykonać więcej instrukcji po danym warunku, to organizujemy kod w bloki, za pomocą {}</span></p>
<pre class="prettyprint"><span class="kwd"><span style="font-size: 12pt;">if(liczba&gt;0) {</span><br /><span style="font-size: 12pt;">              System.out.println("Liczba jest dodatnia");</span><br /><span style="font-size: 12pt;">              // dalsze instrukcje..................</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else if(liczba==0) {</span><br /><span style="font-size: 12pt;">              System.out.println("Liczba jest zerem");</span><br /><span style="font-size: 12pt;">              // dalsze instrukcje..................</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else {</span><br /><span style="font-size: 12pt;">              System.out.println("Liczba nie jest dodatnia");</span><br /><span style="font-size: 12pt;">              // dalsze instrukcje..................</span><br /><span style="font-size: 12pt;">}</span><br /></span></pre>
<h2>Operator trójkowy</h2>
<p>Operator trójkowy, to skrócony zapis <em><strong>if..else. </strong></em>Został on przedstawiony w temacie poświęconym <a href="https://kamakaczmarek.net/5-java-operatory/">operatorom</a>.</p>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println(a==3 ? 1 : 0);</span></pre>
<p>a==3 ? -&gt; to nasz warunek</p>
<p>1 -&gt; to co wyświetlamy jeżeli prawda</p>
<p>a po znaku :</p>
<p>0 -&gt; to co wyświetlamy jeżeli fałsz</p>
<h2>switch</h2>
<p>Gdy wiemy, że nasza zmienna będzie przyjmowała jakieś konkretne wartości, możemy użyć wtedy instrukcji <strong>switch.</strong></p>
<pre class="prettyprint"><span style="font-size: 12pt;">String plec = "K";</span><br /><span style="font-size: 12pt;">switch (plec) {</span><br /><span style="font-size: 12pt;">case "K":</span><br /><span style="font-size: 12pt;">System.out.println("Kobieta");;</span><br /><span style="font-size: 12pt;">break;</span><br /><span style="font-size: 12pt;">case "M":</span><br /><span style="font-size: 12pt;">System.out.println("Mężczyzna");;</span><br /><span style="font-size: 12pt;">break;</span><br /><span style="font-size: 12pt;">default:</span><br /><span style="font-size: 12pt;">System.out.println("Nierozpoznany wybór");;</span><br /><span style="font-size: 12pt;">break; </span><br /><span style="font-size: 12pt;">}</span></pre>
<p><strong>break;</strong> używamy by przerwać działanie instrukcji, gdy warunek zostanie spełniony.</p>
<p><strong>default;</strong> oznacza akcję domyślą, gdy żaden z warunków nie zostanie spełniony.</p>
<p> </p>
<h2>Zadania do wykonania:</h2>
<p><strong>Zadanie 1: </strong>Sprawdź czy liczba jest podzielna przez 3</p>
<h5>Rozwiązanie:</h5>
<pre class="prettyprint"><span class="pln" style="font-size: 12pt;">System.out.println("\nCzy liczba jest podzielna przez 3");<br />System.out.println("Prosze podac liczbe:");<br />int xx = new Scanner(System.in).nextInt();<br />if (xx % 3 == 0) {<br />System.out.println("Liczba " + xx + " jest podzielna przez 3.");<br />} else {<br />System.out.println("Liczba " + xx + " nie jest podzielna przez 3.");<br />}</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 2: </strong>Napisz program sprawdzający czy liczba jest parzysta.</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nprogram sprawdzający czy liczba jest parzysta");</span><br /><span style="font-size: 12pt;">System.out.println("Prosze podac liczbe:");</span><br /><span style="font-size: 12pt;">int a = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">if(a==0){</span><br /><span style="font-size: 12pt;">    System.out.println("podałeś 0");</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else if (a%2==0) {</span><br /><span style="font-size: 12pt;">    System.out.println("parzysta");</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else {</span><br /><span style="font-size: 12pt;">    System.out.println("nieparzysta");</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 3: </strong>Porównaj ze sobą 2 dowolne liczby i wypisz która jest większa.</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nPorównaj ze sobą 2 dowolne liczby i wypisz która jest większa");</span><br /><span style="font-size: 12pt;">System.out.println("Podaj pierwszą liczbę:");</span><br /><span style="font-size: 12pt;">int l1 = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj drugą liczbę:");</span><br /><span style="font-size: 12pt;">int l2 = new Scanner(System.in).nextInt();</span><br /><br /><span style="font-size: 12pt;">System.out.println("porównujemy liczby l1 i l2");</span><br /><span style="font-size: 12pt;">if (l1 &gt; l2) {</span><br /><span style="font-size: 12pt;">    System.out.println("większa jest liczba l1=" + l1);</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else if (l1 &lt; l2)</span><br /><span style="font-size: 12pt;">{</span><br /><span style="font-size: 12pt;">    System.out.println("większa jest liczba l2=" + l2);</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else System.out.println("Liczby są równe");</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 4: </strong>Porównaj ze sobą 3 nie równe sobie liczby i wypisz je w kolejności od największej do najmniejszej.</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nPorównaj ze sobą 3 nie równe sobie liczby i wypisz je w kolejności od największej do najmniejszej");</span><br /><span style="font-size: 12pt;">System.out.println("Podaj pierwszą liczbę:");</span><br /><span style="font-size: 12pt;">int l_1 = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj drugą liczbę:");</span><br /><span style="font-size: 12pt;">int l_2 = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj trzecią liczbę:");</span><br /><span style="font-size: 12pt;">int l_3 = new Scanner(System.in).nextInt();</span><br /><br /><span style="font-size: 12pt;">System.out.println("porównujemy liczby: l_1, l_2, l_3");</span><br /><span style="font-size: 12pt;">int min = l_1; //zakladamy ze jest to najmniejsza</span><br /><span style="font-size: 12pt;">if (l_2 &lt; l_1 &amp;&amp; l_2 &lt; l_3) {min = l_2;}</span><br /><span style="font-size: 12pt;">if (l_3 &lt; l_1 &amp;&amp; l_3 &lt; l_2) {min = l_3;}</span><br /><span style="font-size: 12pt;">int max = l_1; //zakladamy ze jest to największa</span><br /><span style="font-size: 12pt;">if (l_2 &gt; max) {max = l_2;}</span><br /><span style="font-size: 12pt;">if (l_3 &gt; max) {max = l_3;}</span><br /><span style="font-size: 12pt;">int mid = 0;</span><br /><span style="font-size: 12pt;">if(l_1 != min &amp;&amp; l_1 != max) {mid = l_1;}</span><br /><span style="font-size: 12pt;">if(l_2 != min &amp;&amp; l_2 != max) {mid = l_2;}</span><br /><span style="font-size: 12pt;">if(l_3 != min &amp;&amp; l_3 != max) {mid = l_3;}</span><br /><span style="font-size: 12pt;">System.out.println("większa z liczb to " + max + ", następnie " + mid + " i " + min);</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 5: </strong>Za pomocą operatora trójkowego sprawdź pełnoletność użytkownika</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nczy pełnoletni");</span><br /><span style="font-size: 12pt;">System.out.println("Podaj swój wiek w latach:");</span><br /><span style="font-size: 12pt;">int wiek = new Scanner(System.in).nextInt();</span><br /><br /><span style="font-size: 12pt;">String czy_pelnoletni = wiek&gt;=18 ? "pełnoletni" : "niepełnoletni";</span><br /><span style="font-size: 12pt;">System.out.println("Jesteś " + czy_pelnoletni);</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 6:</strong> Napisz program potrafiący rozwiązywać równanie kwadratowe: y = ax<sup>2</sup> + bx + c. Przypominamy, że ilość rozwiązań zależy od wartości tzw. współczynnika Δ (Δ = b<sup>2</sup> − 4ac).</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nRozwiązujemy równanie kwadratowe: y = ax2 + bx + c");</span><br /><span style="font-size: 12pt;">System.out.println("Podaj a:");</span><br /><span style="font-size: 12pt;">int l_a = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj b:");</span><br /><span style="font-size: 12pt;">int l_b = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj c:");</span><br /><span style="font-size: 12pt;">int l_c = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">int delta = l_b * l_b - 4 * l_a * l_c; //obliczamy wg wzoru</span><br /><span style="font-size: 12pt;">double x, x1, x2;</span><br /><span style="font-size: 12pt;">if (delta &gt; 0)</span><br /><span style="font-size: 12pt;">{</span><br /><span style="font-size: 12pt;">    x1 = (-l_b - sqrt(delta)) / 2 * l_a; //sqrt() pierwiastek kwadratowy</span><br /><span style="font-size: 12pt;">    x2 = (-l_b + sqrt(delta)) / 2 * l_a;</span><br /><span style="font-size: 12pt;">    System.out.println("posiada dwa pierwiastki x1 = " + x1 +", x2 = " + x2);</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else if (delta == 0)</span><br /><span style="font-size: 12pt;">{</span><br /><span style="font-size: 12pt;">    x = -l_b / 2 * l_a;</span><br /><span style="font-size: 12pt;">    System.out.println("posiada jeden pierwiastek x = " + x);</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">else System.out.println("nie posiada pierwiastków");</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 7: </strong>Zrealizuj kalkulator, który dla zadanych liczb w zależności od wartości zmiennej wybór wykonuje: mnożenie, dzielenie, odejmowanie, dodawanie. Użyj instrukcji „switch”.</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nKalkulator:");</span><br /><span style="font-size: 12pt;">System.out.println("Podaj liczba1:");</span><br /><span style="font-size: 12pt;">int liczba1 = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj liczba2:");</span><br /><span style="font-size: 12pt;">int liczba2 = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj znak:");</span><br /><span style="font-size: 12pt;">String wybor = new Scanner(System.in).nextLine();</span><br /><br /><span style="font-size: 12pt;">switch (wybor)</span><br /><span style="font-size: 12pt;">{</span><br /><span style="font-size: 12pt;">    case "+":</span><br /><span style="font-size: 12pt;">        System.out.println(liczba1+liczba2);</span><br /><span style="font-size: 12pt;">        break;</span><br /><span style="font-size: 12pt;">    case "-":</span><br /><span style="font-size: 12pt;">        System.out.println(liczba1-liczba2);</span><br /><span style="font-size: 12pt;">        break;</span><br /><span style="font-size: 12pt;">    case "*":</span><br /><span style="font-size: 12pt;">        System.out.println(liczba1*liczba2);</span><br /><span style="font-size: 12pt;">        break;</span><br /><span style="font-size: 12pt;">    case "/":</span><br /><span style="font-size: 12pt;">        System.out.println(liczba1+liczba2);</span><br /><span style="font-size: 12pt;">        break;</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Zadanie 8:</strong> Napisz program, który dla danego punktu na płaszczyźnie sprawdzi, w której ćwiartce układu współrzędnych się on znajduje. Może jednak być tak, że punkt nie znajduje się w żadnej ćwiartce – leży na jednej z osi lub w środku układu współrzędnych. Wówczas program powinien to stwierdzić. Na wejściu znajdują się dwie liczby całkowite oddzielone spacją, x i y(−1 000 000 000≤x, y≤1 000 000 000), oznaczające współrzędne danego punktu. Jeżeli podany punkt nie leży na żadnej z osi, Twój program powinien wypisać: I, II, III lub IV, w przypadku gdy punkt należy do, odpowiednio, pierwszej, drugiej, trzeciej lub czwartej ćwiartki układu współrzędnych. Jeżeli punkt leży w środku układu współrzędnych, program powinien wypisać liczbę 0. W przeciwnym razie, program powinien wypisać OX (duże O i duże X), jeśli punkt leży na osi X, a OY – jeśli punkt leży na osi Y.</span><br /><span style="font-size: 12pt;">Przykład</span><br /><span style="font-size: 12pt;">Dla danych wejściowych:</span><br /><span style="font-size: 12pt;">5 7</span><br /><span style="font-size: 12pt;">poprawnym wynikiem jest:</span><br /><span style="font-size: 12pt;">I</span><br /><span style="font-size: 12pt;">a dla danych wejściowych:</span><br /><span style="font-size: 12pt;">0 -1000000000</span><br /><span style="font-size: 12pt;">poprawnym wynikiem jest:</span><br /><span style="font-size: 12pt;">OY</span><br /><span style="font-size: 12pt;">natomiast dla danych wejściowych:</span><br /><span style="font-size: 12pt;">0 0</span></p>
<p><span style="font-size: 12pt;"><strong>Zadanie 9:</strong> Twoim zadaniem jest stwierdzić, czy z trzech odcinków o podanych długościach można zbudować trójkąt o dodatnim polu. Pierwszy i jedyny wiersz wejścia zawiera trzy liczby naturalne a,b,c(1≤a, b, c≤1 000 000 000), oddzielone spacjami. Liczby te oznaczają długości trzech odcinków. Twój program powinien wypisać jedno słowo TAK lub NIE, w zależności od tego, czy z odcinków o długościach takich jak na wejściu można zbudować niezdegenerowany trójkąt, czyli trójkąt o dodatnim polu.</span><br /><span style="font-size: 12pt;">Przykład</span><br /><span style="font-size: 12pt;">Dla danych wejściowych:</span><br /><span style="font-size: 12pt;">8 7 5</span><br /><span style="font-size: 12pt;">poprawnym wynikiem jest:</span><br /><span style="font-size: 12pt;">TAK</span><br /><span style="font-size: 12pt;">a dla danych wejściowych:</span><br /><span style="font-size: 12pt;">1 10 2</span><br /><span style="font-size: 12pt;">poprawnym wynikiem jest:</span><br /><span style="font-size: 12pt;">NIE</span><br /><span style="font-size: 12pt;">oraz dla danych wejściowych:</span><br /><span style="font-size: 12pt;">4 4 8</span><br /><span style="font-size: 12pt;">poprawnym wynikiem jest:</span><br /><span style="font-size: 12pt;">NIE</span></p>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nczy z trzech odcinków o podanych długościach można zbudować trójkąt");</span><br /><span style="font-size: 12pt;">System.out.println("Podaj długość 1 boku:");</span><br /><span style="font-size: 12pt;">int ba = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj długość 2 boku:");</span><br /><span style="font-size: 12pt;">int bb = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">System.out.println("Podaj długość 3 boku:");</span><br /><span style="font-size: 12pt;">int bc = new Scanner(System.in).nextInt();</span><br /><br /><span style="font-size: 12pt;">if (ba + bb &gt; bc &amp;&amp; ba + bc &gt; bb &amp;&amp; bb + bc &gt; ba) {</span><br /><span style="font-size: 12pt;">    System.out.println("Z tych bokow mozna zbudowac trojkat.");</span><br /><span style="font-size: 12pt;">} else {</span><br /><span style="font-size: 12pt;">    System.out.println("Z tych bokow nie mozna zbudowac trojkata.");</span><br /><span style="font-size: 12pt;">}</span></pre>
<p> </p>
<div><span style="font-size: 12pt;"><strong>Zadanie 10:</strong> Napisz instrukcję switch wyświetlającą na podstawie zmiennej całkowitej „nr” nazwę miesiąca słownie.</span></div>
<div>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("wyświetlana podstawie zmiennej całkowitej „nr” nazwę miesiąca słownie.");</span><br /><span style="font-size: 12pt;">        System.out.println("Podaj nr miesiąca:");</span><br /><span style="font-size: 12pt;">        int nr = new Scanner(System.in).nextInt();</span><br /><span style="font-size: 12pt;">        switch (nr) {</span><br /><span style="font-size: 12pt;">            case 1:</span><br /><span style="font-size: 12pt;">                System.out.println("Styczen");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 2:</span><br /><span style="font-size: 12pt;">                System.out.println("Luty");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 3:</span><br /><span style="font-size: 12pt;">                System.out.println("Marzec");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 4:</span><br /><span style="font-size: 12pt;">                System.out.println("Kwiecien");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 5:</span><br /><span style="font-size: 12pt;">                System.out.println("Maj");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 6:</span><br /><span style="font-size: 12pt;">                System.out.println("Czerwiec");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 7:</span><br /><span style="font-size: 12pt;">                System.out.println("Lipiec");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 8:</span><br /><span style="font-size: 12pt;">                System.out.println("Sierpien");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 9:</span><br /><span style="font-size: 12pt;">                System.out.println("Wrzesien");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 10:</span><br /><span style="font-size: 12pt;">                System.out.println("Pazdziernik");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 11:</span><br /><span style="font-size: 12pt;">                System.out.println("Listopad");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            case 12:</span><br /><span style="font-size: 12pt;">                System.out.println("Grudzien");</span><br /><span style="font-size: 12pt;">                break;</span><br /><span style="font-size: 12pt;">            default:</span><br /><span style="font-size: 12pt;">                System.out.println("Nieprawidlowy numer miesiaca!");</span><br /><span style="font-size: 12pt;">        }</span></pre>
<div> </div>
</div>
<div> </div>
<div>
<div><span style="font-size: 12pt;"><strong>Zadanie 11:</strong> Napisz instrukcje która na podstawie zmiennej całkowitej ocena wyświetla jedna z informacji: brak promocji do następnej klasy, promocja do następnej klasy, promocja z oceną celującą.</span></div>
</div>
<div>
<div> </div>
<div><span style="font-size: 12pt;"><strong>Zadanie 12:</strong> Napisz instrukcję switch, która dla przekazanej jako parametr całkowity oceny wyświetli ją słownie.</span></div>
</div>
<div>
<div> </div>
<div><span style="font-size: 12pt;"><strong>Zadanie 13:</strong> Napisz instrukcję switch, która wczytuje kwotę w złotych, a następnie przelicza ją na taka walutę jaką wybierze użytkownik: funty, dolary, euro….</span></div>
</div>
<div> </div>
<div>
<div><span style="font-size: 12pt;"><strong>Zadanie 14:</strong> Napisz instrukcję switch, która przelicza metry na inne jednostki miary.</span></div>
<div>
<div> </div>
<div><span style="font-size: 12pt;"><strong>Zadanie 15: </strong>Sprawdź czy wpisany rok jest przestępny.</span></div>
</div>
</div>
<div>
<h5><span style="font-size: 12pt;">Rozwiązanie:</span></h5>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nczy przestępny");</span><br /><span style="font-size: 12pt;">        System.out.println("Podaj rok:");</span><br /><span style="font-size: 12pt;">        int rok = new Scanner(System.in).nextInt();</span><br /><br /><span style="font-size: 12pt;">        String czy_przestepny = ((rok % 4 == 0 &amp;&amp; rok % 100 != 0) || rok % 400 == 0) ? "przestępny" : "nie jest przestępny";</span><br /><span style="font-size: 12pt;">        System.out.println("Podany rok " + czy_przestepny);</span><br /><br /></pre>
<p> </p>
</div>
<div>
<section class="entry-content ">
<h1>Pętle</h1>
<p>Instrukcje, które pozwalają wielokrotnie powtórzyć fragment programu nazywają się iteracjami lub pętlami.</p>
<h2>Pętle for… i foreach…</h2>
<p>Budowa<strong> pętli for</strong> wygląda następująco</p>
<pre class="prettyprint"><span style="font-size: 12pt;"><span class="kwd">for</span><span class="pun">(</span><span class="pln"> inicjalizacja zmiennych </span><span class="pun">;</span><span class="pln"> sprawdzenie warunku </span><span class="pun">;</span><span class="pln"> modyfikacja zmiennych</span><span class="pun">)</span> 
<span class="pun">{</span><span class="pln">
   instrukcja1</span><span class="pun">;</span><span class="pln">
   instrukcja</span><span class="pun">...;</span>
<span class="pun">}</span></span></pre>
<p><span style="font-size: 12pt;"><strong>Przykład 1: </strong>Napisz skrypt, który wyświetli 100 kolejnych liczb całkowitych począwszy od 3.</span></p>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("Pętla for:");</span><br /><span style="font-size: 12pt;">for (int i = 3; i&lt;=100; i++){</span><br /><span style="font-size: 12pt;">System.out.print(i + (i&lt;100 ? ", " : "\n"));</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Przykład 2: </strong>Napisz skrypt, obliczający n! (n silnia).</span></p>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("Silnia:");</span><br /><span style="font-size: 12pt;">int n = 2;</span><br /><span style="font-size: 12pt;">if(n&lt;0) System.out.println("Podaj liczbę dodatnią");</span><br /><span style="font-size: 12pt;">else if(n==0 || n==1) System.out.println(1);</span><br /><span style="font-size: 12pt;">else {</span><br /><span style="font-size: 12pt;">    int silnia = 1;</span><br /><span style="font-size: 12pt;">    for (int j=2; j&lt;=n; j++){</span><br /><span style="font-size: 12pt;">        silnia*=j;</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">    System.out.println(silnia);</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Przykład 3:</strong> Napisz skrypt, który za pomocą znaków * (gwiazdki) narysuje trójkąt.</span></p>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("Trojkąt z gwiazdek:");</span><br /><span style="font-size: 12pt;">final int X = 5; //liczba musi być nieparzysta</span><br /><span style="font-size: 12pt;">System.out.print(" ");</span><br /><span style="font-size: 12pt;">for (int w = 1; w&lt;=X; w++){</span><br /><span style="font-size: 12pt;">    for (int k = 1; k&lt;=X+w; k++){</span><br /><span style="font-size: 12pt;">        if(k==X+w) System.out.print("\n");</span><br /><span style="font-size: 12pt;">        if(k&gt;X-w &amp;&amp; k&lt;X+w) System.out.print("*");</span><br /><span style="font-size: 12pt;">        else System.out.print(" ");</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Przykład 4: </strong>Napisz skrypt wyświetlający ciąg Fibonacciego i wypisz wartość ostatniego elementu.</span></p>
<div class="line alt2">
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("Ciąg Fibonacciego:");</span><br /><span style="font-size: 12pt;">n = 10;</span><br /><span style="font-size: 12pt;">if(n&lt;=2) System.out.println(n + " elementem ciągu Fibonacciego jest 1");</span><br /><span style="font-size: 12pt;">else {</span><br /><span style="font-size: 12pt;">    int f1 = 0;//wartość pierwszego elementu</span><br /><span style="font-size: 12pt;">    int f2 = 1; //wartość drugiego elementu</span><br /><span style="font-size: 12pt;">    int temp; //zmienna pomocnicza</span><br /><span style="font-size: 12pt;">    for(i=2; i&lt;=n; i++) {</span><br /><span style="font-size: 12pt;">        int fn=f1+f2;</span><br /><span style="font-size: 12pt;">        f1=f2;</span><br /><span style="font-size: 12pt;">        f2=fn;</span><br /><span style="font-size: 12pt;">        System.out.print(fn);;</span><br /><span style="font-size: 12pt;">        if(i&lt;n) System.out.print(" ");</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">    System.out.println(";\n" + n + " elementem ciagu Fibonacciego jest " + f2);</span><br /><span style="font-size: 12pt;">}</span></pre>
</div>
<p><span style="font-size: 12pt;">Pętla <strong>foreach</strong> służy do wykonywania operacji na kolejnych elementach tablicy.</span></p>
<div class="line alt2">
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("For each dla tablic:");</span><br /><span style="font-size: 12pt;">int[] dane = {2,3,4,5,7};</span><br /><span style="font-size: 12pt;">for (int d : dane) {</span><br /><span style="font-size: 12pt;">    System.out.print(d + " ");</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Nieskończona pętla for</strong> (niezalecane jest jej używanie).</span></p>
<div class="line alt2">
<pre class="prettyprint"><span style="font-size: 12pt;">for ( ; ; ) {</span><br /><span style="font-size: 12pt;">    instrukcje...</span><br /><span style="font-size: 12pt;">    break;</span><br /><span style="font-size: 12pt;">}</span></pre>
</div>
</div>
Pętlę nieskończoną przerywamy konstrukcją break;<br />
<h2>Pętle while…</h2>
<p>Budowa pętli while</p>
<pre class="prettyprint"><span style="font-size: 12pt;">while (warunek){</span><br /><span style="font-size: 12pt;">    instrukcje...</span><br /><span style="font-size: 12pt;">}</span></pre>
<p><span style="font-size: 12pt;"><strong>Przykład 1: </strong>Wyświetl wszystkie liczby całkowite nieujemne, mniejsze od podanej liczby.</span></p>
<pre class="prettyprint"><span style="font-size: 12pt;">int x = 10;</span><br /><span style="font-size: 12pt;">int min = 0; //najmniejsza liczba nieujemna</span><br /><span style="font-size: 12pt;">System.out.println("Liczby całkowite mniejsze od " + x + ", to:");</span><br /><span style="font-size: 12pt;">while (min &lt; x) //pętla wykona się dla tego warunku</span><br /><span style="font-size: 12pt;">    {</span><br /><span style="font-size: 12pt;">        System.out.print(min);</span><br /><span style="font-size: 12pt;">        if(min&lt;x-1) System.out.print(" ");</span><br /><span style="font-size: 12pt;">        min++;</span><br /><span style="font-size: 12pt;">    }</span></pre>
<p><span style="font-size: 12pt;"><strong>Przykład 2: </strong>Napisz skrypt wyznaczający NWD (największy wspólny dzielnik).</span></p>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("NWD:");</span><br /><span style="font-size: 12pt;">x = 15;</span><br /><span style="font-size: 12pt;">int y = 10;</span><br /><span style="font-size: 12pt;">int a=x;</span><br /><span style="font-size: 12pt;">int b=y;</span><br /><span style="font-size: 12pt;">while(a!=b) {</span><br /><span style="font-size: 12pt;">    if(a&gt;b) a-=b;</span><br /><span style="font-size: 12pt;">    else b-=a;</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">int nwd = a; // lub b - obie zmienne przechowują wynik NWD(a,b)</span><br /><span style="font-size: 12pt;">System.out.println("Dla a = " + x + " i b = " + y + " NWD = " + nwd);</span></pre>
<div> </div>
<h2>Pętle do… while…</h2>
<p>Budowa pętli do&#8230; while</p>
<pre class="prettyprint"><span style="font-size: 12pt;">do{</span><br /><span style="font-size: 12pt;">    instrukcje...</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">while(warunek);</span></pre>
<p><span style="font-size: 12pt;"><strong>UWAGA!!! pętla do&#8230; while zawsze wykona się przynajmniej 1 raz!</strong></span></p>
<p><span style="font-size: 12pt;"><strong>Przykład 1: </strong>Napisz skrypt wyświetlający wszystkie liczby całkowite od zera do danej liczby.</span></p>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("Liczby całkowite od 0 do podanej:");</span><br /><span style="font-size: 12pt;">x = 15;</span><br /><span style="font-size: 12pt;">min = 0;</span><br /><span style="font-size: 12pt;">do {</span><br /><span style="font-size: 12pt;">    System.out.print(min);</span><br /><span style="font-size: 12pt;">    if(min&lt;x) System.out.print(" ");</span><br /><span style="font-size: 12pt;">    min++;</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">while (min&lt;=x);</span></pre>
<h2> </h2>
<h2 class="h1_topic">Zatrzymywanie pętli i skryptu</h2>
<p>Działanie pętli lub skryptu możemy przerwać w dowolnej chwili lub możemy pominąć część instrukcji do wykonania:</p>
<ul>
<li>instrukcja <strong>break;</strong> powoduje natychmiastowe wyjście z pętli</li>
<li>instrukcja <strong>continue;</strong> powoduje przeskoczenie do następnego obiegu pętli</li>
</ul>
<h2> </h2>
<h3 id="cwicz_1_13_0_1" class="h2_topic">Przerywanie działania pętli za pomocą instrukcji <i>break;</i></h3>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("\nbreak");</span><br /><span style="font-size: 12pt;">for (i = 0; i &lt;= 100; i++){</span><br /><span style="font-size: 12pt;">    System.out.print(i + " ");</span><br /><span style="font-size: 12pt;">    if(i&gt;=27) {</span><br /><span style="font-size: 12pt;">        System.out.println("...następuje przetwanie działania...");</span><br /><span style="font-size: 12pt;">        break;</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">}</span><br /><span style="font-size: 12pt;">System.out.println("ta instrukcja zostanie wykonana");</span></pre>
<h3 id="cwicz_1_13_0_2" class="h2_topic">Przeskok do następnej iteracji (obiegu pętli) za pomocą instrukcji <i>continue;</i></h3>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println("continua");</span><br /><span style="font-size: 12pt;">for (i = 1; i&lt;=100; i++){</span><br /><span style="font-size: 12pt;">    if(i%2==0) System.out.print(i);</span><br /><span style="font-size: 12pt;">    else continue;</span><br /><span style="font-size: 12pt;">    if (i&lt;100) System.out.print(", ");</span><br /><span style="font-size: 12pt;">}</span></pre>
<h2>Zadania do samodzielnego wykonania:</h2>
<p><strong>Zadanie 1: </strong>Za pomocą pętli for wypisz 2 wiersze po 10 dowolnych elementów.</p>
<p><strong>Zadanie 2: </strong>Za pomocą pętli for, while i do… while napisz skrypt, który będzie zwiększał, a następnie zmniejszał zmienną i od 1 do 100 o 2.</p>
<p><strong>Zadanie 3: </strong>Napisz skrypt, który dla zmiennej n=10 i n&gt;0 będzie ją zmniejszał o 1 i wypisywał: wartości kwadratów zmiennej n; następnie wartości kwadratów zmiennej n dla n parzystych.</p>
<p><strong>Zadanie 4: </strong>Za pomocą pętli for, while i do… while napisz skrypt, który wypisze ilość iteracji pętli dla zmiennej i&lt;=10. Tam gdzie to możliwe zastosuj i++, ++i, i- -, – -i.</p>
<p><strong>Zadanie 5: </strong>Napisz skrypt, który sprawdzi, czy podana liczba jest liczbą pierwszą.</p>
<p><strong>Zadanie 6: </strong>Za pomocą pętli for stwórz tabliczkę mnożenia i zapisz ją w tablicy.</p>
<p><strong>Zadanie 7:</strong> Napisz skrypt, który za pomocą znaków * (gwiazdki) narysuje kwadrat. Gwiazdki leżące na obwodzie zamień na znak &#8222;=&#8221;, a gwiazdki leżące na przekątnych na &#8222;o&#8221;.</p>
<p><strong>Zadanie 8:</strong> Napisz skrypt, który po podaniu przez użytkownika promienia koła, za pomocą znaków * (gwiazdki), narysuje je.</p>
<p><strong>Zadanie 9: </strong>Sprawdź, czy podany przez użytkownika wyraz jest palindomem (czytamy tak samo od początku jak i końca np. kajak).</p>
<section class="entry-content ">
<p><strong>Zadanie 10:</strong> Napisz program, który wydrukuje do konsoli 10 pierwszych <strong>liczb pierwszych</strong> rozdzielonych przecinkiem.</p>
<p>W rozwiązaniu użyj pętli <em>while</em> oraz instrukcji <em>break</em>.</p>
<p><em>Oczekiwany wynik:</em></p>
<p>2,3,5,7,11,13,17,19,23,29</p>
<p><strong>Zadanie 11:</strong> Wykorzystując pętlę <em>while</em> policz ile trzeba czekać lat, aby zwrot z poniżej opisanej inwestycji co najmniej się podwoił (pod uwagę bierzemy tylko pełne okresy).</p>
<p><em>Oznaczenia:</em></p>
<p>n &#8211; liczba okresów (w latach)</p>
<p>pv &#8211; present value &#8211; wartość obecna</p>
<p>r &#8211; stopa procentowa (roczna)</p>
<p>fv &#8211; future value &#8211; wartość przyszła</p>
<p><em>Opis inwestycji:</em></p>
<p>pv = 1000</p>
<p>r = 0.04</p>
<p><em>Oczekiwany wynik:</em></p>
<p>Wartość przyszła: 2025.82 PLN. Liczba okresów: 18 lat</p>
<p><strong>Zadanie 12:</strong></p>
<p>Użyj algorytmu stochastycznego spadku wzdłuż gradientu do znalezienia minimum funkcji straty określonej wzorem: L(w) = w^2-4w.</p>
<p>Pochodna tej funkcji to dL/dw = 2*w-4</p>
<p><em>Przybliżona zasada działania algorytmu:</em></p>
<ol>
<li>Zaczynamy od punktu startowego należącego do dziedziny funkcji, weźmy:</li>
</ol>
<p>w_0 = -1</p>
<ol start="2">
<li>Określamy z góry maksymalną liczbę iteracji:</li>
</ol>
<p>max_iters = 10000 </p>
<ol start="3">
<li>Określamy zmienną, która pomoże nam kontrolować rozmiar kroku w kierunku minimum, ustalmy jej wartość na 1:</li>
</ol>
<p>previous_step_size = 1</p>
<ol start="4">
<li>Określamy wskaźnik uczenia:</li>
</ol>
<p>learning_rate = 0.01</p>
<ol start="5">
<li>Określamy precyzję jaka wystarczy do znalezienia minimum:</li>
</ol>
<p>precision = 0.000001</p>
<ol start="6">
<li>Definiujemy pochodną jako funkcję:</li>
</ol>
<p>derivative = lambda w: 2 * w &#8211; 4</p>
<p>Aby znaleźć minimum funkcji L należy poruszać się wzdłuż kierunku przeciwnego do kierunku wyznaczanego przez gradient funkcji L aktualizując wartość <em>w_0</em> następująco:</p>
<p>w_0 = w_0 &#8211; learning_rate * derivative(w_prev)</p>
<p>gdzie <em>w_prev </em>jest punktem z poprzedniej iteracji. Dla pierwszego korku jest to po prostu <em>w_0. </em></p>
<p>Zbuduj pętlę <em>while</em>, która pozwoli zatrzymać działanie algorytmu w momencie, gdy minimum zostanie odnalezione z zakładaną przez nas wartością precyzji lub gdy przekroczymy maksymalną liczbę iteracji.</p>
<p><em>Wskazówka:</em></p>
<p>    Warunek w pętli <em>while</em>.</p>
<p>while previous_step_size &gt; precision &amp;&amp; iters &lt; max_iters:</p>
<p>    Rozmiar poprzedniego skoku:</p>
<p>         previous_step_size=abs(w_0-w_prev)</p>
<p><em>Oczekiwany wynik:</em></p>
<p>Minimum lokalne w punkcie: 2.00</p>
<p><strong>Zadanie 13:</strong></p>
<p>Napisz program, który znajdzie wszystkie liczby dwucyfrowe podzielne przez 11. Wynik wydrukuj do konsoli w postaci wartości rozdzielonych przecinkiem.</p>
<p><em>Oczekiwany wynik:</em></p>
<p>11,22,33,44,55,66,77,88,99</p>
<p><strong>Zadanie 14:</strong></p>
<p>Napisz program, który znajdzie wszystkie liczby dwucyfrowe podzielne przez 11 oraz niepodzielne przez 3. Wynik wydrukuj do konsoli w postaci wartości rozdzielonych przecinkiem.</p>
<p><em>Oczekiwany wynik:</em></p>
<p>11,22,44,55,77,88</p>
</section>
<p> </p>
</section>
<h1>Funkcje, czyli metody</h1>
<p>Metoda to zbiór instrukcji, który posiada nazwę, zbiór argumentów (ale nie musi posiadać argumentów) i znajduje się pomiędzy nawiasami {}. Pozwala na wyodrębnienie fragmentu kodu programu w celu uniknięcia powtórzeń i może być wielokrotnie <span style="font-size: 12pt;">wywoływana w kodzie.</span></p>
<p><span style="font-size: 12pt;">W celu <strong>zdefiniowania metody </strong>należy podać jej nazwę, argumenty i instrukcje:</span></p>
<pre class="wp-block-preformatted prettyprint prettyprinted"><span style="font-size: 12pt;"><span class="pln"><span class="enlighter-text">typ_zwracany </span><span class="enlighter-m0">nazwa_funkcji</span></span><span class="pun">(</span><span class="pln">argument1</span><span class="pun">,</span><span class="pln">argument2</span><span class="pun">,</span><span class="pln">argument3</span><span class="pun">.........)</span> 
<span class="pun">{</span><span class="pln">
instrukcja1</span><span class="pun">;</span><span class="pln"> 
instrukcja2</span><span class="pun">;</span><span class="pln"> 
instrukcja3</span><span class="pun">......</span>
<span class="pun">}</span></span></pre>
<p><span style="font-size: 12pt;">Metody mogą zwracać konkretne wartości lub wyświetlać komunikat.</span></p>
<p><span style="font-size: 12pt;">Aby wywołać metodę wystarczy podać jej nazwę z nawiasami!</span></p>
<pre class="wp-block-preformatted prettyprint prettyprinted"><span style="font-size: 12pt;"><span class="pln">przykladowa_nazwa_funkcji</span><span class="pun">();</span> <span class="com">// wywołanie funkcji w kodzie</span></span></pre>
<h2>void</h2>
<p>Jeżeli z założenia metoda ma nie zwracać wartości, a np. tylko wyświetlać komunikat to nadajemy jej typ <em><strong>void.</strong></em></p>
<pre class="prettyprint"><span style="font-size: 12pt;">public static void nazwaMetody() {....}</span></pre>
<pre class="prettyprint"><span style="font-size: 12pt;">public class Methods {</span><br /><span style="font-size: 12pt;">    //tworzymy metodę hello</span><br /><span style="font-size: 12pt;">    public static void hello(){</span><br /><span style="font-size: 12pt;">        System.out.println("Hello World!");</span><br /><span style="font-size: 12pt;">    }</span><br /><br /><span style="font-size: 12pt;">    //tworzymy metodę z argumentami</span><br /><span style="font-size: 12pt;">    public static void metodaZargumentami(int l1, int l2){</span><br /><span style="font-size: 12pt;">        System.out.println("Podano: " + l1 + " i " + l2);</span><br /><span style="font-size: 12pt;">    }</span><br /><br /><span style="font-size: 12pt;">    public static void main(String[] args) {</span><br /><span style="font-size: 12pt;">        //wywołujemy metodę hello</span><br /><span style="font-size: 12pt;">        hello();</span><br /><br /><span style="font-size: 12pt;">        //wywołujemy metodę z argumentami</span><br /><span style="font-size: 12pt;">        metodaZargumentami(10, 11);</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">}</span></pre>
<h2>return</h2>
<p><strong>return</strong> zwraca wartość, którą możemy później wykorzystać jako zmienną.</p>
<pre class="prettyprint"><span style="font-size: 12pt;">public class Methods {</span><br />    <br /><span style="font-size: 12pt;">    //metoda zwracając wartość</span><br /><span style="font-size: 12pt;">    public static int suma(int l1, int l2){</span><br /><span style="font-size: 12pt;">        return l1+l2;</span><br /><span style="font-size: 12pt;">    }</span><br /><br /><span style="font-size: 12pt;">    public static void main(String[] args) {</span><br />       <br /><span style="font-size: 12pt;">        //wyświetlamy metodę zwracającą wartość</span><br /><span style="font-size: 12pt;">        System.out.println(suma(1,1));</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">}</span></pre>
<h2>Zasięg zmiennych</h2>
<p>Zmienne zadeklarowane wewnątrz metody, nie są dostępne poza nią, gdy metoda przestaje działać zmienne &#8222;znikają&#8221;.</p>
<h2>Przeładowywanie metod</h2>
<p>Można zadeklarować w kodzie wiele metod o tej samej nazwie, ale muszą się one różnić ilością, typem lub kolejnością argumentów. Wtedy kompilator sam będzie wiedział, którą z metod wybrać.</p>
<h2><strong>Przykładowe funkcje</strong></h2>
<h4>Funkcja kantor przeliczająca wartość kupna EUR na PLN wg podanego kursu</h4>
<pre class="prettyprint"><span style="font-size: 12pt;">public static float kantor(float kurs, float kwota){</span><br /><span style="font-size: 12pt;">    return kurs * kwota;</span><br /><span style="font-size: 12pt;">}</span></pre>
<pre class="prettyprint"><span style="font-size: 12pt;">System.out.println(kantor(3.1258f,12));</span></pre>
<h4>Funkcja, która za pomocą znaków * (gwiazdki) narysuje „koło”.</h4>
<pre class="prettyprint"><span style="font-size: 12pt;">public static void rysujKolo(int n){</span><br /><span style="font-size: 12pt;">    final int R = n;</span><br /><span style="font-size: 12pt;">    for (int y =-R; y&lt;=R; y++){</span><br /><span style="font-size: 12pt;">        for (int x =-R; x&lt;=R; x++){</span><br /><span style="font-size: 12pt;">            if(x*x+y*y&lt;=(R+0.3)*(R+0.3)) System.out.print("*");</span><br /><span style="font-size: 12pt;">            else System.out.print(" ");</span><br /><span style="font-size: 12pt;">            System.out.print(" ");</span><br /><span style="font-size: 12pt;">        }</span><br /><span style="font-size: 12pt;">        System.out.println("");</span><br /><span style="font-size: 12pt;">    }</span><br /><span style="font-size: 12pt;">}</span></pre>
<pre class="prettyprint"><span style="font-size: 12pt;">rysujKolo(5);</span></pre>
<h4>Funkcja, która generuje tablicę z losowymi liczbami i sortuje ją metodą przez wybór.</h4>
<pre>import java.util.Arrays;<br />import java.util.Random;<br /><br /><br />class Tbl {<br />    //inicjujemy tablicę<br />    int[] tab = new int[5];<br /><br />    //tworzymy metodę wypełniającą tablicę<br />    public void wypelnij() {<br />        Random rnd = new Random();<br />        System.out.println("Wypełniona tablica: ");<br />        for (int i = 0; i &lt; 5; i++) {<br />            tab[i] = rnd.nextInt();<br />            System.out.println(tab[i]);<br />        }<br />    }<br /><br />    public void sortuj() {<br />        System.out.println("Posortowana tablica funkcją sort(): ");<br />        Arrays.sort(tab);<br />        for (int t : tab) {<br />            System.out.println(t);<br />        }<br />    }<br /><br />    public void selectionsort() {<br />        int min, i, j, temp;<br />        System.out.println("Tablica posortowana przez wybór: ");<br />        for (i = 0; i &lt; tab.length ; i++) {<br />            min = i;<br />            for (j = i + 1; j &lt; tab.length; j++)<br />                if (tab[j] &lt; tab[min])<br />                    min = j;<br />            temp = tab[min];<br />            tab[min] = tab[i];<br />            tab[i] = temp;<br />            System.out.println(tab[i]);<br />        }<br /><br />    }<br />}<br /><br /><br />public class SortowaniePrzezWybor {<br />    public static void main(String[] args) {<br />        Tbl newTable = new Tbl();<br />        newTable.wypelnij();<br />        newTable.sortuj();<br />        newTable.selectionsort();<br />    }<br />}</pre>
<h3>Ćwiczenia:</h3>
<p><strong>Ćwiczenie 1</strong></p>
<p>Napisz funkcję, która przyjmuje 3 argumenty: 2 z nich to liczby, a trzecia to znak operatora arytmetycznego. Funkcja ma wykonać działanie na liczbach w zależności od wprowadzonego znaku np. 1,2,+ wykona dodawanie, 5,6,** wykona potęgowanie itd. Tam gdzie to możliwe wykorzystaj funkcje wbudowane.</p>
<p> </p>
<p><strong>Ćwiczenie 2 </strong></p>
<p>Napisz funkcję, która dla 3 losowo wygenerowanych liczb sprawdzi, czy są one pitagorejskie (czyli spełniają warunek: a<sup>2</sup>+b<sup>2</sup>=c<sup>2</sup>). Jeżeli tak to ma wyświetlić „Wylosowane liczby są liczbami pitagorejskimi”, w przeciwnym wypadku odwrotny komunikat.</p>
<p> </p>
<p><strong>Ćwiczenie 3</strong></p>
<p>Napisz funkcję, który policzy deltę dla równania kwadratowego: 3x<sup>2</sup> &#8211; 4x + 1 = 0</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Delta wynosi: 4</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 4</strong></p>
<p>Stwórz funkcję.</p>
<p>Dany jest ciąg arytmetyczny: a<sub>n</sub> = 10 + 4n</p>
<p>Oblicz sumę 10-ciu początkowych wyrazów tego ciągu.</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Suma pierwszych 10 wyrazów ciągu wynosi: 320.0</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 5</strong></p>
<p>Stwórz funkcję.</p>
<p>Dany jest ciąg geometryczny: a<sub>n</sub> = 8*2<sup>n-1</sup></p>
<p>Oblicz sumę 6-ciu pierwszych elementów tego ciągu.</p>
<p><strong> </strong><em>Oczekiwany wynik:</em></p>
<ol>
<li>Suma pierwszych 6 wyrazów ciągu wynosi: 504.0</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 6</strong></p>
<p>Stwórz funkcję.</p>
<p>Dane jest równanie kwadratowe: x<sup>2</sup> + 5x + 4 = 0</p>
<p>Korzystając z wzorów <em>Viete&#8217;a</em> oblicz sumę oraz iloczyn pierwiastków będących rozwiązaniem równania. Wynik wydrukuj do konsoli taki jak pokazano poniżej.</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>x1 + x2 = -5.0</li>
<li>x1x2 = 4.0</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 7</strong></p>
<p>Stwórz funkcję.</p>
<p>Wyznacz środek odcinka o końcach w punktach: A = (2, 4), B = (-4, 6).</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Środek odcinka AB: (-1.0, 5.0)</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 8</strong></p>
<p>Stwórz funkcję.</p>
<p>Oblicz odległość dwóch punktów A=(3, 2), B=(-1, -1).</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Odległość punktów A i B wynosi: 5.0</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 9</strong></p>
<p>Stwórz funkcję.</p>
<p>Znajdź pierwiastki równania kwadratowego: x<sup>2</sup> + 5x + 4 = 0</p>
<p>Wynik wydrukuj do konsoli tak jak pokazano poniżej.</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>x1 = -4.0</li>
<li>x2 = -1.0</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 10</strong></p>
<p>Stwórz funkcję.</p>
<p>Oblicz średnią geometryczną następujących liczb: 4, 3, 4.5, 5.</p>
<p>Wynik wydrukuj do konsoli tak jak pokazano poniżej.</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Średnia geometryczna podanych liczb: 4.05</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 11</strong></p>
<p>Stwórz funkcję.</p>
<p>Dany jest nieskończony ciąg geometryczny: 1, 1/2, 1/4, 1/8&#8230;</p>
<p>Oblicz sumę tego ciągu. Wynik wydrukuj do konsoli tak jak pokazano poniżej.</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Suma ciągu wynosi: 2.0</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 12</strong></p>
<p>Stwórz funkcję.</p>
<p>Oblicz odchylenie standardowe (estymator obciążony) następującego zestawu danych: 10, 11, 9.</p>
<p>Wynik wydrukuj do konsoli tak jak pokazano poniżej.</p>
<p><em>Oczekiwany wynik:</em></p>
<ol>
<li>Odchylenie standardowe zestawu danych wynosi: 0.82</li>
</ol>
<p> </p>
<p><strong>Ćwiczenie 13</strong></p>
<p>Napisz funkcję, która wyświetli na ekranie wszystkie trójki pitagorejskie z zakresu podanego przez użytkownika. (np. dla zakresu od 1-10 sprawdzamy trójki: 1 2 3; 2 3 4; 3 4 5; 4 5 6 itd)</p>
<p> </p>
<p><strong>Ćwiczenie 14</strong></p>
<p>Napisz funkcję obliczającą cenę brutto dla podanej ceny netto i stawki vat. Wyświetl: cena netto, wartość vat, cena brutto.</p>
</div>
<p>Artykuł <a href="https://kamakaczmarek.net/11-java-instrukcje-sterujace-petle-i-funkcjemetody/">11. JAVA &#8211; instrukcje sterujące, pętle i funkcje(metody)</a> pochodzi z serwisu <a href="https://kamakaczmarek.net">Kama Kaczmarek</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
