Java – Suma kolejnych liczb całkowitych od 5 do 1000

Zadanie 1. Suma kolejnych liczb całkowitych od 5 do 1000

Sumowanie – operacja dodawania ciągu liczb, której wynikiem jest suma. Jeśli liczby są dodawane kolejno od lewej do prawej to pośrednie wyniki nazywa się sumami częściowymi lub cząstkowymi. Sumowane liczby (zwane składnikami) mogą być całkowite, rzeczywiste lub zespolone. Oprócz liczb sumowaniu mogą podlegać również inne wielkości: wektory, macierze, wielomiany, lub ogólnie, elementy grupy addytywnej (a nawet monoid). Dla ciągów o skończonej liczbie takich elementów sumowanie zawsze zwraca dobrze określoną sumę.

<!-- wp:heading {"level":3} -->
<h3>Zadanie 1. Suma kolejnych liczb całkowitych od 5 do 1000</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p><em><b>Sumowanie</b> – operacja <a title="Dodawanie" href="https://pl.wikipedia.org/wiki/Dodawanie">dodawania</a> ciągu liczb, której wynikiem jest <a class="mw-disambig" title="Suma" href="https://pl.wikipedia.org/wiki/Suma">suma</a>. Jeśli liczby są dodawane kolejno od lewej do prawej to pośrednie wyniki nazywa się <a class="new" title="Suma częściowa (strona nie istnieje)" href="https://pl.wikipedia.org/w/index.php?title=Suma_cz%C4%99%C5%9Bciowa&action=edit&redlink=1">sumami częściowymi</a> lub cząstkowymi. Sumowane liczby (zwane składnikami) mogą być <a title="Liczby całkowite" href="https://pl.wikipedia.org/wiki/Liczby_ca%C5%82kowite">całkowite</a>, <a title="Liczby rzeczywiste" href="https://pl.wikipedia.org/wiki/Liczby_rzeczywiste">rzeczywiste</a> lub <a title="Liczby zespolone" href="https://pl.wikipedia.org/wiki/Liczby_zespolone">zespolone</a>. Oprócz liczb sumowaniu mogą podlegać również inne wielkości: <a title="Wektor" href="https://pl.wikipedia.org/wiki/Wektor">wektory</a>, <a title="Macierz" href="https://pl.wikipedia.org/wiki/Macierz">macierze</a>, <a title="Wielomian" href="https://pl.wikipedia.org/wiki/Wielomian">wielomiany</a>, lub ogólnie, elementy <a title="Grupa addytywna" href="https://pl.wikipedia.org/wiki/Grupa_addytywna">grupy addytywnej</a> (a nawet <a title="Monoid" href="https://pl.wikipedia.org/wiki/Monoid">monoid</a>). Dla ciągów o skończonej liczbie takich elementów sumowanie zawsze zwraca dobrze określoną sumę.</em></p>
<!-- /wp:paragraph -->

Zadanie 1. Suma kolejnych liczb całkowitych od 5 do 1000

Sumowanie – operacja dodawania ciągu liczb, której wynikiem jest suma. Jeśli liczby są dodawane kolejno od lewej do prawej to pośrednie wyniki nazywa się sumami częściowymi lub cząstkowymi. Sumowane liczby (zwane składnikami) mogą być całkowite, rzeczywiste lub zespolone. Oprócz liczb sumowaniu mogą podlegać również inne wielkości: wektory, macierze, wielomiany, lub ogólnie, elementy grupy addytywnej (a nawet monoid). Dla ciągów o skończonej liczbie takich elementów sumowanie zawsze zwraca dobrze określoną sumę.

Sumowanie ciągów nieskończonych nie zawsze jest możliwe, a kiedy wartość nieskończonego sumowania może być podana, to obejmuje ona więcej niż tylko zwykłą operację dodawania, mianowicie pojęcie granicy. Sumowanie nieskończonych ciągów tworzy konstrukcję zwaną szeregiem. Innym pojęciem obejmującym granice skończonych sum jest całka. Pojęcie sumowania nabiera szczególnego znaczenia w powiązaniu z ekstrapolacją w kontekście szeregów rozbieżnych.

Sumowanie ciągu [1, 2, 4, 2] to wyrażenie, którego wartością jest suma wszystkich elementów ciągu. W podanym przykładzie to 1 + 2 + 4 + 2 = 9. Ponieważ dodawanie jest łączne, wynik nie zależy od kolejności wykonywanych działań, na przykład <em>(1 + 2) + (4 + 2)</em> lub <em>1 + ((2 + 4) + 2)</em> daje w wyniku 9, stąd zazwyczaj pomijane są nawiasy w przypadku wielokrotnego dodawania. Dodawanie jest ponadto przemienne, więc permutacja wyrazów skończonego ciągu również nie zmienia jego sumy (w przypadku ciągów nieskończonych ta właściwość nie zawsze jest prawdziwa; zobacz twierdzenie Riemanna o szeregach warunkowo zbieżnych i kryteria zbieżności szeregów).

Nie ma specjalnego wyróżnionego zapisu sumowania jawnie podanych ciągów gdyż odpowiadające mu wyrażenie wielokrotnego dodawania jest w tym przypadku wystarczające. Drobne trudności pojawiają się gdy ciąg jest jednoelementowy: sumowanie ciągu jednoelementowego nie zawiera znaku dodawania (jest więc nieodróżnialne od wyniku) a sumowanie ciągu pustego nie da się nawet zapisać (lecz można podać w jego sumę „0”). Jednak gdy wyrazy ciągu układają się w jakiś wzór to użyteczny a nawet niezbędny staje się operator sumowania. Na przykład jeśli rozpatrywać sumowanie liczb całkowitych od 1 do 100 można wykorzystać wielokropek w wyrażeniu dodawania aby oznaczyć brakujące wyrazy: 1 + 2 + 3 + … + 99 + 100. W tym przykładzie wzór jest łatwy do odgadnięcia, lecz dla bardziej skomplikowanych przypadków konieczne jest bardziej precyzyjne określanie kolejnych wyrazów, które można osiągnąć dzięki operatorowi „sum”. Korzystając z tego operatora ten sam przykład można zapisać jako: sum_{i=1}^{100}i=frac{n(n+1)}{2} dla wszystkich liczb naturalnych n.

źródło Wiki

Zadanie 2. Utwórz tablice 10-elementową i wygeneruj do niej losowe wartości z przedziału <-10, 10>

    // deklaracja tablicy
    int[] myIntArray = new int[10];
    
    String v_array = "myIntArray[" + myIntArray.length + "] = { ";
    
    for (int i = 0; i < myIntArray.length; i++) {
      rn = -10 + (int) (Math.random() * 20);
      myIntArray[i] = rn;
      v_array += rn;
      if (i < myIntArray.length - 1) {
        v_array += ", ";
      }
    }
    
    v_array += " }";
    logger.info(v_array);

Zadanie 3. Oblicza ile jest dodatnich elementów w tablicy myIntArray.

np. odpowiedź programu: W tablicy myIntArray[5] jest/są  3 dodatnie elementy. Source from Bitbucket https://bitbucket.org/karol-preiskorn/java-examples/overview

[pastacode lang=”java” user=”karol-preiskorn” repos=”java-examples” path_id=”src/sum_natural/Sum_natural.java” revision=”master” highlight=”42″ lines=”” provider=”bitbucket”/]

Zapis wyników do pliku

[pastacode lang=”java” user=”karol-preiskorn” repos=”java-examples” path_id=”/src/sum_natural/Sum_natural.java” revision=”master” highlight=”” lines=”111-127″ provider=”bitbucket”/]

Dodanie logowania log4j (w przygotowaniu)

[pastacode lang=”java” user=”karol-preiskorn” repos=”java-examples” path_id=”/src/sum_natural/log4j.properties” revision=”master” highlight=”1″ lines=”” provider=”bitbucket”/] [pastacode lang=”java” manual=”static%20Logger%20logger%20%3D%20LoggerFactory.getLogger(%22SumN%22)%3B%09%20%20%0A%0Alogger.info(%22start%22)%3B” message=”uses log4j in code” highlight=”” provider=”manual”/]
  1. https://alvinalexander.com/blog/post/java/sample-how-format-log4j-logging-logfile-output
  2. https://alvinalexander.com/blog/post/java/how-print-exception-stack-trace-using-log4j-commons
  3. https://logging.apache.org/log4j/1.2/manual.html

Suma kwadratów n pierwszych liczb naturalnych (w przygotowaniu)

1^{2}+2^{2}+3^{2}+4^{2}+dots+n^{2}=sum_{k=1}^{n}k^{2}=frac{n(n+1)(2n+1)}{6}=s_{2}

https://pl.wikisource.org/wiki/Sumy

[pastacode lang=”java” user=”karol-preiskorn” repos=”java-examples” path_id=”/src/sum_natural/Sum_natural.java” revision=”master” highlight=”” lines=”129-140″ provider=”bitbucket”/]

Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments