Rozwiązanie algorytmu w C++. Zadanie matura

0

Witam, mam ogromny problem. Musze owe zadanie wraz z obliczeniami przedstawić w programie C++.
Wyliczenia mam, lecz nie umiem tego napisać w strukturze.

Problem tyczy się Zadania 3 z matury maj 2007 poziom podstawowy
Poniżej link.

http://www.komisja.pl/pobierz/matura/arkusze/2007/inf_pr_cz1_rozw.pdf

Będe bardzo wdzięczny za pomoc.

0

Pomoc:
-> to przypisanie, czyli w C++ znak =
"dla k←1...n wykonuj" to po prostu pętla for(int k=1; k<=n;k++)
Wcięcia sugerują Ci, które instrukcje podlegają któremu blokowi.
Gotowiec: http://wklej.org/id/622261/

BTW, piszesz poziom podstawowy, dajesz link do rozszerzonego... Jak sobie chcesz, mi się nie chciało podstawki szukać, więc masz 3 z rozszerzonego.

0

Wielkie dzięki Jadaszek. Przepraszam mój błąd, juz poprawione- oczywiście chodziło mi o poziom rozszerzony!

Mam pierwsze 3 podpunkty: http://wklej.org/id/622320/

Kompletnie nie wiem jak obliczyć punkt 3.4, 3.5, 3.6 w C++

0

3.4 nie zrobisz programowo (w ogóle całe zadanie ma na celu sprawdzenie zdolności algorytmicznego myślenia, nie pisania w C++, chociaż jako wprawkę nie zaszkodzi tego sobie rozpisać).
Musisz zauważyć, że:

  • Wraz z obiegeim "małej" pętli (tej gdzie licznikiem jest 'i' ) p2 jest n razy mnożone przez k - czyli wyliczasz n-tą potęgę liczby k, która zapisywana jest w p2.
  • w "dużej" pętli zaś masz na początku liczenie kolejnych potęg n, "małą" pętlę, sumowanie składników p1 i p2 oraz zwiększanie k o jeden
    Po zobaczeniu tego widzisz, że ogólnie otrzymujesz w wyniku sumę pierwszych n wyrazów ciągu (szeregu?) którego k-ty element sumą e-n do potęgi k-tej i k do potęgi e-n-tej: (nk + kn)

3.5 pewnie jakoś by się dało, na przykład wstawiają licznik inkrementowany przy każdym mnożeniu/dodawaniu i potem wyprowadzając sobie jakiś wzorek, ale prościej jest zauważyć, że dla każdego obiegu pętli musisz wykonać:
-jedno mnożenie (p1=p1n;)
-dwa dodawania (suma=suma+p1+p2;)
//(czyli razem trzy operacje)
-małą pętlę - pętla wykona się n razy, z każdym obiegiem robiąc jedno mnożenie (p2=p2
k) - stąd - n mnożeń
Więc jeden obieg "dużej" pętli to 1+2+n=n+3 działań.
Duża pętla wykona się n razy - stąd (n+3)*n = n^2 +3n
Jasne? ;-)

3.6 To też myślenie. Jak zamienić potęgowanie na iteracyjną silnię z k?
Zmieniając licznik na k i zamieniając mnożenie p2=p2k; na p2=p2i

0

Potrebuje struktury programu, naprawde nie umiem jeszcze takich pętli jakie podajesz. Mam na razie podstawy podstaw pętli.

Zmieniłem juz strukture pod ostatnie zadanie.

Ale punkt 3.4 i 3.5 naprawde mnie rozbraja.

1 użytkowników online, w tym zalogowanych: 0, gości: 1