Prvočísla
Požadavky na absolvování
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.

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