1. Prvocisla

1.3. Výsledný kód

Následující zdrojový kód je kompletací předešlých kódů programu Prvocisla, který je umístěn v souboru Program.cs - viz Kód 1.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Prvocisla
{
    class Program
    {
        static void Main(string[] args)
        {
            /* Deklarace: 'pocetCisel' ... počet prvočísel, která mají být vypsána; 
             * 'n' ... počet nalezených prvočísel; 'i' ... testované číslo 
             * na prvočíslo (čítač); 'vystup' ... textová proměnná, do které 
             * budeme ukládat výsledek */
            int pocetCisel, n, i;
            string vystup;
 
            // Inicializace - počet nalezených čísel
            n = 0;
            // Inicializace - číslo testované na prvočíslo
            i = 2;
            vystup = "";
 
            Console.WriteLine("Výpis prvních n prvočísel");
 
            Console.Write("Zadejte počet vypsaných prvočísel: ");
            // Načtení počtu vypisovaných prvočísel
            int.TryParse(Console.ReadLine(), out pocetCisel);
            // Test na zadání záporného počtu vypísovaných prvočísel
            if (pocetCisel < 0)
            {
                Console.WriteLine("Zadejte platnou kladnou celočíselnou hodnotu pro počet čísel.");
                // Ukončení metody (programu)
                return;
            }
 
            // Cyklus - pokud platí, že je vypsáno méně než specifikovaný počet prvočísel
            while (n < pocetCisel)
            {
 
                // Pokud návrat zavolané funkce testu na prvočíslo u testovaného čísla je pravda
                if (Prvocislo(i))
                {
 
                    // Zvýšeni hodnoty poctu nalezených prvočísel o 1
                    n++;
 
                    // Připojení číslice (testovaného čísla konvertovaného na text) k předchozím
                    vystup += i.ToString();
 
                    // Pokud není vypsán požadovaný počet prvočísel
                    if (n < pocetCisel)
                    {
 
                        // Připoj za číslo čárku
                        vystup += ", ";
                    }
                }
 
                // Nové testované číslo, které je o 1 vyšší než předchozí
                i++;
            }
 
            // Výpis požadovaného počtu prvočísel
            Console.WriteLine("Prvočísla: " + vystup);
 
            // Čekání na stisk klávesy -> ukončení programu
            Console.ReadKey();
        }
 
        // Metoda s návratem - návrat, zda je předané číslo prvočíslo (true), nebo nikoliv (false)
        static bool Prvocislo(int n)
        {
            /* Deklarace (inicializace): 'b' ... informace, zda je testované (předané) číslo 
             * prvočíslem (true - je prvočíslem); 'i' ... dělitel (čítač) */
            bool b = true;
            int i = 2;
 
            // Cyklus - dokud platí, že testované číslo je prvočíslo a čítač je menší než testované číslo
            while (b == true && i < n)
            {
                // Pokud testované číslo je dělitelné beze zbytku
                if (n % i == 0)
                {
                    // Testované číslo není prvočíslo
                    b = false;
                }
 
                // Inkrementace
                i++;
            }
 
            // Výstupem metody je informace, která je uložena v logické proměnné
            return b;
        }
    }
}

Kód 1: Program Prvocisla - deklarace hlavní statické metody Main včetně deklarace další metody

Výstup programu

Na následujícím výstupu programu vidíme výpis prvních 20 za sebou jdoucích prvočísel - viz Výstup programu - Kód 1.   

Ukázka výpisu řady prvočísel v hlavní metodě programu Prvocisla

Výstup programu - Kód 1: Ukázka výpisu řady prvočísel v hlavní metodě programu Prvocisla