Przejdź do treści głównej
INF.04Pytanie #755 z 856architektura-i-cykl-zycia-android

Porównując dwa przedstawione fragmenty kodu, które realizują to samo zadanie (obliczenie sumy liczb od 1 do n), wskaż, które stwierdzenie jest prawdziwe z punktu widzenia optymalizacji kodu.

Opcje odpowiedzi:
A
Fragment A jest bardziej optymalny, ponieważ pętla jest bardziej czytelna dla początkujących.
B
Fragment B jest bardziej optymalny, ponieważ wykonuje obliczenie w stałym czasie, niezależnie od wielkości 'n'.
Prawidłowa
C
Oba fragmenty mają identyczną wydajność i wybór między nimi jest kwestią stylu.
D
Fragment A jest bardziej optymalny, ponieważ zużywa mniej pamięci operacyjnej.
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: B

Uzasadnienie i szersze wyjaśnienie:

Optymalizacja kodu często polega na znalezieniu bardziej wydajnego algorytmu.

  • Fragment A używa pętli, co oznacza, że liczba operacji (dodawań) rośnie liniowo wraz ze wzrostem wartości n. Dla n=1000 wykona się 1000 operacji. Mówimy, że ma złożoność czasową O(n).
  • Fragment B używa wzoru matematycznego na sumę ciągu arytmetycznego. Niezależnie od tego, czy n wynosi 10, czy 10 milionów, komputer zawsze wykonuje tę samą, stałą liczbę operacji (mnożenie, dodawanie, dzielenie). Mówimy, że ma złożoność czasową O(1). Z tego powodu Fragment B jest znacznie bardziej wydajny i optymalny, zwłaszcza dla dużych wartości n.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • A: Czytelność nie jest równoznaczna z optymalizacją wydajności. W tym przypadku pętla jest wolniejsza.
  • C: Wydajność obu fragmentów jest drastycznie różna, zwłaszcza dla dużych n.
  • D: Oba fragmenty zużywają podobną, minimalną ilość pamięci, więc nie jest to czynnik różnicujący w tym przypadku.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Architektura i cykl zycia android”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 21 pytań z tego działu.