|
|
|
Linia Kodu |
Punkt Algorytmu (Schemat) |
Opis |
|
1 |
- |
Importowanie klasy Scanner do obsługi wejścia. |
|
2 |
1 (START) |
Deklaracja klasy Sito. |
|
3 |
- |
Deklaracja metody głównej main. |
|
4 |
- |
Deklaracja zmiennych całkowitych n, i, j. |
|
5 |
- |
Inicjalizacja obiektu Scanner. |
|
6 |
- |
Wypisanie monitu "n = " dla użytkownika. |
|
7 |
2 (Czytaj n) |
Wczytanie liczby n od użytkownika (n=klaw.nextInt();). |
|
8 |
3 (n < 2), 4 (Pisz "Brak...") |
Sprawdzenie warunku n < 2 i wypisanie komunikatu o błędzie, jeśli jest spełniony. |
|
9 |
- |
Otwarcie bloku else (gdy n > 2). |
|
10 |
- |
Deklaracja i inicjalizacja tablicy logicznej skr o rozmiarze n+1. |
|
11 |
5 (i := 2), 6 (skr[i] := false, i := i+1), 7 (i > n) |
Inicjalizacja tablicy skr wartościami false dla i > 2. |
|
12 |
8 (i := 2) - Wartość początkowa jest ustawiana tutaj. |
Inicjalizacja zmiennej kontrolnej i na 1 przed pętlą główną sita. |
|
13 |
- |
Otwarcie pętli do. |
|
14 |
13 (i := i+1), 18 (i := i+1) |
Inkrementacja i o 1. |
|
15 |
9 (skr[i] = false) |
Sprawdzenie, czy liczba i nie jest skreślona (if(!skr[i])). |
|
16 |
10 (j := i * i) |
Inicjalizacja j kwadratem liczby i. |
|
17 |
11 (j < n) |
Warunek kontynuacji pętli wewnętrznej while. |
|
18 |
12 (skr[j] = true) |
Skreślenie wielokrotności j. |
|
19 |
12 (j := j+i) |
Przejście do następnej wielokrotności i. |
|
20 |
- |
Zamknięcie pętli while. |
|
21 |
- |
Zamknięcie bloku if(!skr[i]). |
|
22 |
14 (i^2 < n) |
Warunek kontynuacji pętli głównej do-while. |
|
23 |
15 (i := 2), 16 (skr[i] = false), 17 (Pisz: i), 18 (i := i+1), 19 (i > n) |
Pętla for wyświetlająca liczby pierwsze (nie-skreślone). |
|
24 |
- |
Zamknięcie bloku else. |
|
25 |
- |
Zamknięcie metody main. |
|
26 |
20 (STOP) |
Koniec programu (zamknięcie klasy Sito). |
